Szabolcs Nagy
2018-08-13 11:55:44 UTC
@@ -53,20 +54,24 @@ aligned_alloc (std::size_t al, std::size_t sz)
#else
extern "C" void *memalign(std::size_t boundary, std::size_t size);
#endif
-#define aligned_alloc memalign
Yes, exactly ... this commit introduced the regression.#else
extern "C" void *memalign(std::size_t boundary, std::size_t size);
#endif
-#define aligned_alloc memalign
OK, I've regressed the branches then - I'll fix that.
Sebastian, your patch to define HAVE_ALIGNED_ALLOC is OK for
gcc-7-branch and gcc-8-branch, because changing newlib from using
memalign to aligned_alloc is safe.
aligned_alloc if available.
it is implemented using posix_memalign which is not provided
by the newlib malloc implementation (except on cygwin)
in libstdc++ test log i see
spawn /B/gcc/xg++ -shared-libgcc -B/B/gcc -nostdinc++ -L/B/aarch64-none-elf/libstdc++-v3/src -L/B/aarch64-none-elf/libstdc++-v3/src/.libs
-L/B/aarch64-none-elf/libstdc++-v3/libsupc++/.libs -B/P/aarch64-none-elf/bin/ -B/P/aarch64-none-elf/lib/ -isystem /P/aarch64-none-elf/include
-isystem /P/aarch64-none-elf/sys-include -B/B/aarch64-none-elf/./libstdc++-v3/src/.libs -fmessage-length=0 -fno-show-column -ffunction-sections
-fdata-sections -g -ffunction-sections -fdata-sections -O2 -DLOCALEDIR="." -nostdinc++
-I/B/aarch64-none-elf/libstdc++-v3/include/aarch64-none-elf -I/B/aarch64-none-elf/libstdc++-v3/include -I/S/gcc/libstdc++-v3/libsupc++
-I/S/gcc/libstdc++-v3/include/backward -I/S/gcc/libstdc++-v3/testsuite/util
/S/gcc/libstdc++-v3/testsuite/18_support/aligned_alloc/aligned_alloc.cc -std=gnu++17 -fno-diagnostics-show-caret -fdiagnostics-color=never
./libtestc++.a -L/B/aarch64-none-elf/libstdc++-v3/src/filesystem/.libs -specs=aem-ve.specs -lm -mcmodel=small -o ./aligned_alloc.exe
/P/aarch64-none-elf/bin/ld: /P/aarch64-none-elf/lib/libg.a(lib_a-aligned_alloc.o): in function `aligned_alloc':
/S/newlib-cygwin/newlib/libc/stdlib/aligned_alloc.c:35: undefined reference to `posix_memalign'
/P/aarch64-none-elf/bin/ld: /S/newlib-cygwin/newlib/libc/stdlib/aligned_alloc.c:35:(.text.aligned_alloc+0x14): relocation truncated to fit:
R_AARCH64_CALL26 against undefined symbol `posix_memalign'
collect2: error: ld returned 1 exit status
FAIL: 18_support/aligned_alloc/aligned_alloc.cc (test for excess errors)
FAIL: 18_support/new_aligned.cc (test for excess errors)
FAIL: 20_util/allocator/overaligned.cc (test for excess errors)
FAIL: 20_util/memory_resource/2.cc (test for excess errors)
FAIL: 20_util/monotonic_buffer_resource/allocate.cc (test for excess errors)
FAIL: 20_util/monotonic_buffer_resource/deallocate.cc (test for excess errors)
FAIL: 20_util/monotonic_buffer_resource/release.cc (test for excess errors)
FAIL: 20_util/monotonic_buffer_resource/upstream_resource.cc (test for excess errors)
FAIL: 20_util/polymorphic_allocator/resource.cc (test for excess errors)
FAIL: 20_util/polymorphic_allocator/select.cc (test for excess errors)
FAIL: ext/bitmap_allocator/overaligned.cc (test for excess errors)
FAIL: ext/mt_allocator/overaligned.cc (test for excess errors)
FAIL: ext/new_allocator/overaligned.cc (test for excess errors)
FAIL: ext/pool_allocator/overaligned.cc (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new1.C (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new2.C (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new5.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new5.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new5.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new6.C -std=gnu++11 (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new6.C -std=gnu++14 (test for excess errors)
FAIL: g++.dg/cpp1z/aligned-new8.C (test for excess errors)
UNRESOLVED: 18_support/aligned_alloc/aligned_alloc.cc compilation failed to produce executable
UNRESOLVED: 18_support/new_aligned.cc compilation failed to produce executable
UNRESOLVED: 20_util/allocator/overaligned.cc compilation failed to produce executable
UNRESOLVED: 20_util/memory_resource/2.cc compilation failed to produce executable
UNRESOLVED: 20_util/monotonic_buffer_resource/allocate.cc compilation failed to produce executable
UNRESOLVED: 20_util/monotonic_buffer_resource/deallocate.cc compilation failed to produce executable
UNRESOLVED: 20_util/monotonic_buffer_resource/release.cc compilation failed to produce executable
UNRESOLVED: 20_util/monotonic_buffer_resource/upstream_resource.cc compilation failed to produce executable
UNRESOLVED: 20_util/polymorphic_allocator/resource.cc compilation failed to produce executable
UNRESOLVED: 20_util/polymorphic_allocator/select.cc compilation failed to produce executable
UNRESOLVED: ext/bitmap_allocator/overaligned.cc compilation failed to produce executable
UNRESOLVED: ext/mt_allocator/overaligned.cc compilation failed to produce executable
UNRESOLVED: ext/new_allocator/overaligned.cc compilation failed to produce executable
UNRESOLVED: ext/pool_allocator/overaligned.cc compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new1.C compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new2.C compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new5.C -std=gnu++11 compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new5.C -std=gnu++14 compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new5.C -std=gnu++98 compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new6.C -std=gnu++11 compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new6.C -std=gnu++14 compilation failed to produce executable
UNRESOLVED: g++.dg/cpp1z/aligned-new8.C compilation failed to produce executable