From b1d4927aa3d1d1b31034ede3eeb374efcdcfed0d Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 14 May 2026 10:47:23 +0200 Subject: Tests and fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libtest/config.mk | 8 ++++++++ libtest/libtest.h | 20 ++++++++++---------- libtest/random.c | 20 ++++++++++---------- 3 files changed, 28 insertions(+), 20 deletions(-) (limited to 'libtest') diff --git a/libtest/config.mk b/libtest/config.mk index 6dff8a9..3b81c3f 100644 --- a/libtest/config.mk +++ b/libtest/config.mk @@ -3,3 +3,11 @@ IMPLEMENT_MMAP = true TEST_CONFIGFILE = config_backtraces=$(WITH_BACKTRACE).mk include $(TEST_INCLUDE_PREFIX)$(TEST_CONFIGFILE) + +# If IMPLEMENT_MMAP is false, it is assumed that libc provides __mmap, +# __munmap, and __mremap as aliases for mmap, mumap, and mremap. If +# this isn't the case for your libc, but it provides other aliases, +# you can add e.g. "-D__mmap=_mmap -D__munmap=_munmap -D__mremap=_mremap" +# to specify the alises libc provides (in this example _mmap, _munmap, +# and _mremap). NB! "-D__mmap=mmap -D__munmap=munmap -D__mremap=mremap" +# is not allowed as libtest overrides mmap(3), munmap(3), and mremap(3). diff --git a/libtest/libtest.h b/libtest/libtest.h index 9fa7e56..8f44114 100644 --- a/libtest/libtest.h +++ b/libtest/libtest.h @@ -424,18 +424,18 @@ size_t libtest_get_alloc_failure_in(void); void libtest_set_alloc_failure_in(size_t n); -extern unsigned char *libtest_random_pattern; -extern size_t libtest_random_pattern_length; -extern size_t libtest_random_pattern_offset; +extern const unsigned char *volatile libtest_random_pattern; +extern volatile size_t libtest_random_pattern_length; +extern volatile size_t libtest_random_pattern_offset; #if defined(__linux__) -extern int libtest_getrandom_real; -extern int libtest_getrandom_error; -extern size_t libtest_getrandom_max_return; +extern volatile int libtest_getrandom_real; +extern volatile int libtest_getrandom_error; +extern volatile size_t libtest_getrandom_max_return; #endif -extern int libtest_getentropy_real; -extern int libtest_getentropy_error; -extern size_t libtest_getentropy_calls; -extern int libtest_getentropy_jmp_val; +extern volatile int libtest_getentropy_real; +extern volatile int libtest_getentropy_error; +extern volatile size_t libtest_getentropy_calls; +extern volatile int libtest_getentropy_jmp_val; extern jmp_buf libtest_getentropy_jmp; diff --git a/libtest/random.c b/libtest/random.c index 2eb22e6..8f0b398 100644 --- a/libtest/random.c +++ b/libtest/random.c @@ -3,9 +3,9 @@ #ifndef TEST -unsigned char *libtest_random_pattern = NULL; -size_t libtest_random_pattern_length = 0u; -size_t libtest_random_pattern_offset = 0u; +const unsigned char *volatile libtest_random_pattern = NULL; +volatile size_t libtest_random_pattern_length = 0u; +volatile size_t libtest_random_pattern_offset = 0u; static ssize_t genpattern(void *buf, size_t size) @@ -41,9 +41,9 @@ genpattern(void *buf, size_t size) #if defined(__linux__) -int libtest_getrandom_real = 1; -int libtest_getrandom_error = 0; -size_t libtest_getrandom_max_return = SIZE_MAX; +volatile int libtest_getrandom_real = 1; +volatile int libtest_getrandom_error = 0; +volatile size_t libtest_getrandom_max_return = SIZE_MAX; ssize_t (getrandom)(void *buf, size_t size, unsigned int flags) @@ -71,10 +71,10 @@ ssize_t #endif -int libtest_getentropy_real = 1; -int libtest_getentropy_error = 0; -size_t libtest_getentropy_calls = 0u; -int libtest_getentropy_jmp_val = 0; +volatile int libtest_getentropy_real = 1; +volatile int libtest_getentropy_error = 0; +volatile size_t libtest_getentropy_calls = 0u; +volatile int libtest_getentropy_jmp_val = 0; jmp_buf libtest_getentropy_jmp; int -- cgit v1.2.3-70-g09d2