glibc/malloc
Sam James a9944a52c9
malloc: add indirection for malloc(-like) functions in tests [BZ #32366]
GCC 15 introduces allocation dead code removal (DCE) for PR117370 in
r15-5255-g7828dc070510f8. This breaks various glibc tests which want
to assert various properties of the allocator without doing anything
obviously useful with the allocated memory.

Alexander Monakov rightly pointed out that we can and should do better
than passing -fno-malloc-dce to paper over the problem. Not least because
GCC 14 already does such DCE where there's no testing of malloc's return
value against NULL, and LLVM has such optimisations too.

Handle this by providing malloc (and friends) wrappers with a volatile
function pointer to obscure that we're calling malloc (et. al) from the
compiler.

Reviewed-by: Paul Eggert <eggert@cs.ucla.edu>
2024-12-10 01:50:56 +00:00
..
Depend
Makefile malloc: Link threading tests with $(shared-thread-library) 2024-08-20 16:16:25 +02:00
Versions
alloc_buffer_alloc_array.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_allocate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_copy_bytes.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_copy_string.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
alloc_buffer_create_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arena.c Silence most -Wzero-as-null-pointer-constant diagnostics 2024-11-25 16:45:59 -03:00
dynarray-skeleton.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_at_failure.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_emplace_enlarge.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_finalize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_resize.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
dynarray_resize_clear.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hooks.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
malloc-check.c Silence most -Wzero-as-null-pointer-constant diagnostics 2024-11-25 16:45:59 -03:00
malloc-debug.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
malloc-internal.h malloc: Optimize small memory clearing for calloc 2024-12-04 04:28:15 +08:00
malloc.c malloc: Optimize small memory clearing for calloc 2024-12-04 04:28:15 +08:00
malloc.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mallocbug.c
mcheck-impl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mcheck-init.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mcheck.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mcheck.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memusage.c Fix usage of _STACK_GROWS_DOWN and _STACK_GROWS_UP defines [BZ 31989] 2024-07-19 10:10:17 -04:00
memusage.sh Update copyright dates not handled by scripts/update-copyrights 2024-01-01 10:53:40 -08:00
memusagestat.c Update copyright dates not handled by scripts/update-copyrights 2024-01-01 10:53:40 -08:00
morecore.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mtrace-impl.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
mtrace.pl mtrace: make shell commands robust against meta characters 2024-06-24 09:33:49 +02:00
obstack.c Silence most -Wzero-as-null-pointer-constant diagnostics 2024-11-25 16:45:59 -03:00
obstack.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
reallocarray.c Silence most -Wzero-as-null-pointer-constant diagnostics 2024-11-25 16:45:59 -03:00
scratch_buffer_grow.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scratch_buffer_grow_preserve.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
scratch_buffer_set_array_size.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
set-freeres.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
thread-freeres.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-aligned-alloc-random-thread-cross.c malloc: add multi-threaded tests for aligned_alloc/calloc/malloc 2024-07-22 11:54:46 +02:00
tst-aligned-alloc-random-thread.c malloc: add multi-threaded tests for aligned_alloc/calloc/malloc 2024-07-22 11:54:46 +02:00
tst-aligned-alloc-random.c malloc: Improve aligned_alloc and calloc test coverage. 2024-05-14 14:36:50 +00:00
tst-aligned-alloc-static.c
tst-aligned-alloc.c malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-aligned_alloc-lib.c malloc: avoid global locks in tst-aligned_alloc-lib.c 2024-07-22 11:54:46 +02:00
tst-alloc_buffer.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-calloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-compathooks-off.c malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-compathooks-on.c
tst-dynarray-at-fail.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-dynarray-fail.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-dynarray-shared.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-dynarray.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-free-errno.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux-nothread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-aux.h Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-nothread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-skeleton.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-static-nothread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-static-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-interpose-thread.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallinfo2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-alternate-path.c malloc: New test to check malloc alternate path using memory obstruction 2024-06-04 18:00:29 +02:00
tst-malloc-aux.h malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-malloc-backtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-check.c malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-malloc-fork-deadlock.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-random.c malloc: Improve aligned_alloc and calloc test coverage. 2024-05-14 14:36:50 +00:00
tst-malloc-stats-cancellation.c
tst-malloc-tcache-leak.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-thread-exit.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-thread-fail.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc-too-large.c malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-malloc-usable-tunables.c
tst-malloc-usable.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-malloc.c malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-malloc_info.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocalign1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocfork.c
tst-mallocfork2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocfork3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallocstate.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mallopt.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memalign-2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memalign-3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-memalign.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mtrace.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mtrace.sh Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-mxfast.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-obstack.c
tst-posix_memalign.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-pvalloc-fortify.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-pvalloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-realloc.c malloc: add indirection for malloc(-like) functions in tests [BZ #32366] 2024-12-10 01:50:56 +00:00
tst-reallocarray.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-safe-linking.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-scratch_buffer.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tcfree1.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tcfree2.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-tcfree3.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
tst-trim1.c
tst-valloc.c Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00