reproducer:
$ bash ./configure --with-debug-level=fastdebug --openjdk-target=aarch64-linux-gnu --with-devkit=/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/ --with-sysroot=/ws/aarch64/sysroot --with-freetype=bundled --disable-warnings-as-errors --with-boot-jdk=/ws/jdk-22 '--with-extra-cflags=-D_GLIBCXX_HAVE_OBSOLETE_ISNAN=1 -D_GLIBCXX_HAVE_OBSOLETE_ISINF=1' ; make bundles
aarch64 build output:
=== Output from failing command(s) repeated here ===
* For target support_test_hotspot_jtreg_native_support_exeinvoke_BUILD_TEST_exeinvoke_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_hotspot_jtreg_native_support_exestack-gap_BUILD_TEST_exestack-gap_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_hotspot_jtreg_native_support_exestack-tls_BUILD_TEST_exestack-tls_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_jdk_jtreg_native_support_exeBasicSleep_BUILD_TEST_exeBasicSleep_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_jdk_jtreg_native_support_exeCallerAccessTest_BUILD_TEST_exeCallerAccessTest_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_lib-test_jtreg_native_support_exejvm-test-launcher_BUILD_TEST_exejvm-test-launcher_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
=== End of repeated output ===
Workaround: return allow-shlib-undefined option removed byJDK-8283326 change:
```
diff --git a/make/autoconf/flags-ldflags.m4 b/make/autoconf/flags-ldflags.m4
index c4a75fb89c3..acb815515a2 100644
--- a/make/autoconf/flags-ldflags.m4
+++ b/make/autoconf/flags-ldflags.m4
@@ -118,6 +118,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Setup LDFLAGS for linking executables
if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
# java heap.
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
```
$ bash ./configure --with-debug-level=fastdebug --openjdk-target=aarch64-linux-gnu --with-devkit=/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/ --with-sysroot=/ws/aarch64/sysroot --with-freetype=bundled --disable-warnings-as-errors --with-boot-jdk=/ws/jdk-22 '--with-extra-cflags=-D_GLIBCXX_HAVE_OBSOLETE_ISNAN=1 -D_GLIBCXX_HAVE_OBSOLETE_ISINF=1' ; make bundles
aarch64 build output:
=== Output from failing command(s) repeated here ===
* For target support_test_hotspot_jtreg_native_support_exeinvoke_BUILD_TEST_exeinvoke_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_hotspot_jtreg_native_support_exestack-gap_BUILD_TEST_exestack-gap_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_hotspot_jtreg_native_support_exestack-tls_BUILD_TEST_exestack-tls_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_jdk_jtreg_native_support_exeBasicSleep_BUILD_TEST_exeBasicSleep_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_jdk_jtreg_native_support_exeCallerAccessTest_BUILD_TEST_exeCallerAccessTest_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
* For target support_test_lib-test_jtreg_native_support_exejvm-test-launcher_BUILD_TEST_exejvm-test-launcher_run_ld:
/ws/aarch64/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.4.1/../../../../aarch64-linux-gnu/lib/../lib64/libstdc++.so: undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'
collect2: error: ld returned 1 exit status
=== End of repeated output ===
Workaround: return allow-shlib-undefined option removed by
```
diff --git a/make/autoconf/flags-ldflags.m4 b/make/autoconf/flags-ldflags.m4
index c4a75fb89c3..acb815515a2 100644
--- a/make/autoconf/flags-ldflags.m4
+++ b/make/autoconf/flags-ldflags.m4
@@ -118,6 +118,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Setup LDFLAGS for linking executables
if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
# java heap.
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
```
- relates to
-
JDK-8331541 [i386] linking with libjvm.so fails after JDK-8283326
- Resolved