Merge pull request #5104 from tmael/32_bit_ssize

Fix for stack and heap measurements of a 32-bit build
This commit is contained in:
Daniel Pouzzner
2022-05-06 14:32:06 -05:00
committed by GitHub
3 changed files with 20 additions and 17 deletions

View File

@ -630,8 +630,7 @@ int main(int argc, char** argv)
wolfSSL_Cleanup();
printf("\nAll tests passed!\n");
EXIT_TEST(EXIT_SUCCESS);
return EXIT_SUCCESS;
}

View File

@ -70,19 +70,19 @@
#else
static ssize_t max_relative_heap_bytes = -1;
#endif
#define PRINT_HEAP_CHECKPOINT() { \
#define PRINT_HEAP_CHECKPOINT() { \
const ssize_t _rha = wolfCrypt_heap_peakAllocs_checkpoint() - heap_baselineAllocs; \
const ssize_t _rhb = wolfCrypt_heap_peakBytes_checkpoint() - heap_baselineBytes; \
printf(" relative heap peak usage: %ld alloc%s, %ld bytes\n", \
_rha, \
_rha == 1 ? "" : "s", \
_rhb); \
const ssize_t _rhb = wolfCrypt_heap_peakBytes_checkpoint() - heap_baselineBytes; \
printf(" relative heap peak usage: %ld alloc%s, %ld bytes\n", \
(long int)_rha, \
_rha == 1 ? "" : "s", \
(long int)_rhb); \
if ((max_relative_heap_allocs > 0) && (_rha > max_relative_heap_allocs)) \
return err_sys("heap allocs exceed designated max.", -1); \
if ((max_relative_heap_bytes > 0) && (_rhb > max_relative_heap_bytes)) \
return err_sys("heap bytes exceed designated max.", -1); \
heap_baselineAllocs = wolfCrypt_heap_peakAllocs_checkpoint(); \
heap_baselineBytes = wolfCrypt_heap_peakBytes_checkpoint(); \
return err_sys("heap allocs exceed designated max.", -1); \
if ((max_relative_heap_bytes > 0) && (_rhb > max_relative_heap_bytes)) \
return err_sys("heap bytes exceed designated max.", -1); \
heap_baselineAllocs = wolfCrypt_heap_peakAllocs_checkpoint(); \
heap_baselineBytes = wolfCrypt_heap_peakBytes_checkpoint(); \
}
#else
#define PRINT_HEAP_CHECKPOINT()

View File

@ -250,7 +250,11 @@
#ifdef SINGLE_THREADED
typedef unsigned int THREAD_RETURN;
#if defined(WC_32BIT_CPU)
typedef void* THREAD_RETURN;
#else
typedef unsigned int THREAD_RETURN;
#endif
typedef void* THREAD_TYPE;
#define WOLFSSL_THREAD
#else
@ -3055,7 +3059,7 @@ int StackSizeHWMReset(void)
#define STACK_SIZE_CHECKPOINT(...) ({ \
ssize_t HWM = StackSizeHWM_OffsetCorrected(); \
__VA_ARGS__; \
printf(" relative stack peak usage = %ld bytes\n", HWM); \
printf(" relative stack peak usage = %ld bytes\n", (long int)HWM); \
StackSizeHWMReset(); \
})
@ -3063,10 +3067,10 @@ int StackSizeHWMReset(void)
ssize_t HWM = StackSizeHWM_OffsetCorrected(); \
int _ret; \
__VA_ARGS__; \
printf(" relative stack peak usage = %ld bytes\n", HWM); \
printf(" relative stack peak usage = %ld bytes\n", (long int)HWM); \
_ret = StackSizeHWMReset(); \
if ((max >= 0) && (HWM > (ssize_t)(max))) { \
printf(" relative stack usage at %s L%d exceeds designated max %ld bytes.\n", __FILE__, __LINE__, (ssize_t)(max)); \
printf(" relative stack usage at %s L%d exceeds designated max %ld bytes.\n", __FILE__, __LINE__, (long int)(max)); \
_ret = -1; \
} \
_ret; \