Building from a linux x86_64 host targeting arm has missing symbols for functions relating to 32bit elf reading.
$ gcc -v 2>&1 | grep -i ^Target Target: x86_64-linux-gnu #================================== PREFIX=/tmp/libunwind/ TARGET_SUFFIX=linux-gnu HOST=x86_64-${TARGET_SUFFIX} #Generic Build ./configure --build=${HOST} \ --enable-coredump --enable-ptrace \ --prefix=${PREFIX} make -j make install make check for TARGET in \ arm-${TARGET_SUFFIX} \ x86_64-${TARGET_SUFFIX} \ x86-${TARGET_SUFFIX} do ./configure --build=${HOST} \ --target=${TARGET} \ --enable-coredump --enable-ptrace \ --prefix=${PREFIX} make -j make install make check done #================================== During make check: libtool: link: gcc -g -O2 -fexceptions -Wall -Wsign-compare -o .libs/test-proc-info test-proc-info.o ../src/.libs/libunwind-arm.so -Wl,-rpath -Wl,/tmp/libunwind/lib /usr/bin/ld: ../src/.libs/libunwind-arm.so: undefined reference to `_Uelf32_load_debuglink' /usr/bin/ld: ../src/.libs/libunwind-arm.so: undefined reference to `_Uelf32_find_section' $ nm /tmp/lib/libunwind-arm.so | grep Uelf U _Uelf32_find_section U _Uelf32_load_debuglink $ nm /tmp/lib/libunwind-generic.so | grep Uelf 000000000000fb60 t _Uelf64_find_section 00000000000103c0 t _Uelf64_get_proc_name 000000000000fc70 t _Uelf64_get_proc_name_in_image 000000000000ff50 t _Uelf64_load_debuglink 000000000000f990 t _Uelf64_lookup_symbol.isra.0 $ nm /tmp/lib/libunwind.so | grep Uelf 000000000000a010 t _Uelf64_find_section 000000000000a870 t _Uelf64_get_proc_name 000000000000a120 t _Uelf64_get_proc_name_in_image 000000000000a400 t _Uelf64_load_debuglink It seems likely I am overlooking some obvious configure option or build step that is preventing the 32 bit elf functions from ending up in libunwind-arm.so (or related libraries). Could anyone point me in the right direction? -- -Mitch