libunwind-arm.so:未定义的引用`__builtin_unreachable'

时间:2013-11-25 14:45:12

标签: arm cross-compiling embedded-linux

我为arm926编译libunwind-1.1.so时遇到此错误。这是已启动的命令:

sb2 ./configure --prefix=/usr --target=armv5;sb2 make all

这是输出:

/bin/sh ../libtool --tag=CC   --mode=link gcc  -g -O2 -fexceptions -Wall -Wsign-compare   -o Gperf-simple Gperf-simple.o ../src/libunwind-arm.la ../src/libunwind.la 
libtool: link: gcc -g -O2 -fexceptions -Wall -Wsign-compare -o .libs/Gperf-simple Gperf-simple.o  ../src/.libs/libunwind-arm.so ../src/.libs/libunwind.so
../src/.libs/libunwind-arm.so: undefined reference to `__builtin_unreachable'
../src/.libs/libunwind-arm.so: undefined reference to `_Uarm_get_elf_image'
collect2: ld returned 1 exit status

有人能帮助我吗?

2 个答案:

答案 0 :(得分:2)

我猜你的部分问题是你使用的是旧版本的gcc。见Emulating GCC's __builtin_unreachable?

另外需要注意的是,您已经构建了libunwind.so。失败的是在库构建之后构建的程序(Gperf-simple)。

我编译并使用libunwind for arm作为我的ELLCC交叉编译工具包项目的一部分,部分是为了支持C ++异常和堆栈展开。你在用libunwind做什么用?

答案 1 :(得分:1)

我只是点击了'_Uarm_get_elf_image'"的未定义引用。问题。

我通过编辑libunwind src / Makefile.am来解决这个问题,制作"如果OS_LINUX"部分无条件并删除所有其他"如果OS _ *"部分。

这让我为YMMV打造。