Mised one aligned alloc wrapper on Linux

Need different expected for GCC / libstdc++

And I think that the 32bit expected will also need updating.
This commit is contained in:
Paul Floyd 2023-03-10 08:40:40 +01:00
parent f6ee38b419
commit 28e4efb2b1
3 changed files with 82 additions and 1 deletions

View File

@ -1073,7 +1073,7 @@ extern int *___errno (void) __attribute__((weak));
DELETE_ALIGNED(VG_Z_LIBSTDCXX_SONAME, _ZdlPvSt11align_val_t, __builtin_delete_aligned );
DELETE_ALIGNED(VG_Z_LIBCXX_SONAME, _ZdlPvSt11align_val_t, __builtin_delete_aligned );
DELETE_ALIGNED(VG_Z_LIBC_SONAME, _ZdlPvSt11align_val_t, __builtin_delete_aligned );
FREE(SO_SYN_MALLOC, _ZdlPvSt11align_val_t, __builtin_delete_aligned );
DELETE_ALIGNED(SO_SYN_MALLOC, _ZdlPvSt11align_val_t, __builtin_delete_aligned );
// operator delete(void*, unsigned int, std::align_val_t), GNU mangling
#if __SIZEOF_SIZE_T__ == 4

View File

@ -142,6 +142,7 @@ EXTRA_DIST = \
sized_aligned_new_delete_args.stderr.exp \
sized_aligned_new_delete_args.vgtest \
sized_aligned_new_delete_args.stderr.exp_32 \
sized_aligned_new_delete_args.stderr.exp-glibc \
sized_aligned_new_delete_misaligned.stderr.exp \
sized_aligned_new_delete_misaligned.vgtest \
deep-backtrace.vgtest deep-backtrace.stderr.exp \

View File

@ -0,0 +1,80 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new(unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:16)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new(unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:16)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete(void*, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:17)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new[](unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:19)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new[](unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:19)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete[](void*, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:20)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new(unsigned long, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:24)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new(unsigned long, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:24)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new(unsigned long, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:24)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete(void*, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:25)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new[](unsigned long, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:27)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new[](unsigned long, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:27)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator new[](unsigned long, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:27)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete[](void*, std::align_val_t, std::nothrow_t const&) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:28)
Conditional jump or move depends on uninitialised value(s)
at 0x........: ...operator delete... (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:31)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete[](void*, unsigned long) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:34)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete(void*, unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:37)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete(void*, unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:37)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete[](void*, unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:40)
Conditional jump or move depends on uninitialised value(s)
at 0x........: operator delete[](void*, unsigned long, std::align_val_t) (vg_replace_malloc.c:...)
by 0x........: main (sized_aligned_new_delete_args.cpp:40)