← All tasks
cppgoogle/highway #2625Not a task: already works

demote_test.cc fails to link with with clang on armv7: undefined reference to `__aeabi_d2h'

envgap__google__highway-2625

01 / FAILURE SIGNATURE

As reported upstream

demote_test.cc:(.text+0x2efdc): undefined reference to `__aeabi_d2h'
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
f42013f70cbc242dea226b74ab63a7373171729d
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

google/highway #2625 · read the original issue
the compile is working with clang-20, but if you enable tests it fails to link:  

```
FAILED: tests/demote_test demote_test[1]_tests.cmake /var/tmp/portage/dev-cpp/highway-9999/work/highway-9999_build-.arm/demote_test[1]_tests.cmake 
: && /usr/lib/llvm/20/bin/clang++-20 -O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer -Wl,-O1 -Wl,--as-needed     -fPIE -pie CMakeFiles/demote_test.dir/hwy/tests/demote_test.cc.o -o tests/demote_test  -Wl,-rpath,/var/tmp/portage/dev-cpp/highway-9999/work/highway-9999_build-.arm  libhwy_test.so.1.3.0  libhwy_contrib.so.1.3.0  /usr/lib/libgtest_main.so.1.14.0  libhwy.so.1.3.0  /usr/lib/libgtest.so.1.14.0 && cd /var/tmp/portage/dev-cpp/highway-9999/work/highway-9999_build-.arm && /usr/bin/cmake -D TEST_TARGET=demote_test -D TEST_EXECUTABLE=/var/tmp/portage/dev-cpp/highway-9999/work/highway-9999_build-.arm/tests/demote_test -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/var/tmp/portage/dev-cpp/highway-9999/work/highway-9999_build-.arm -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=demote_test_TESTS -D CTEST_FILE=/var/tmp/portage/dev-cpp/highway-9999/work/highway-9999_build-.arm/demote_test[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=60 -D TEST_DISCOVERY_EXTRA_ARGS= -D TEST_XML_OUTPUT_DIR= -P /usr/share/cmake/Modules/GoogleTestAddTests.cmake
/usr/bin/armv7a-unknown-linux-musleabihf-ld.bfd: CMakeFiles/demote_test.dir/hwy/tests/demote_test.cc.o: in function `void hwy::N_EMU128::(anonymous namespace)::TestDemoteToFloat<hwy::float16_t>::operator()<double, hwy::N_EMU128::Simd<double, 2u, 0> >(double, hwy::N_EMU128::Simd<double, 2u, 0>)':
demote_test.cc:(.text+0x2efdc): undefined reference to `__aeabi_d2h'
/usr/bin/armv7a-unknown-linux-musleabihf-ld.bfd: demote_test.cc:(.text+0x2f004): undefined reference to `__aeabi_d2h'
/usr/bin/armv7a-unknown-linux-musleabihf-ld.bfd: demote_test.cc:(.text+0x2f398): undefined reference to `__aeabi_d2h'
/usr/bin/armv7a-unknown-linux-musleabihf-ld.bfd: demote_test.cc:(.text+0x2f3c0): undefined reference to `__aeabi_d2h'
/usr/bin/armv7a-unknown-linux-musleabihf-ld.bfd: CMakeFiles/demote_test.dir/hwy/tests/demote_test.cc.o: in function `void hwy::N_EMU128::(anonymous namespace)::TestDemoteToFloat<hwy::float16_t>::operator()<double, hwy::N_EMU128::Simd<double, 1u, 0> >(double, hwy::N_EMU128::Simd<double, 1u, 0>)':
demote_test.cc:(.text+0x30038): undefined reference to `__aeabi_d2h'
/usr/bin/armv7a-unknown-linux-musleabihf-ld.bfd: CMakeFiles/demote_test.dir/hwy/tests/demote_test.cc.o:demote_test.cc:(.text+0x30248): more undefined references to `__aeabi_d2h' follow
clang++-20: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
```
the full build log: [build.log.gz](https://github.com/user-attachments/files/21226393/build.log.gz)
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]