gcc-4.4.3/ libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): undefined reference

Kai Ruottu kai.ruottu@wippies.com
Mon Feb 1 14:12:00 GMT 2010


Hector Oron wrote:
> Hello,
>
> I downloaded emacs-23.1 and tried to compile it for ARM,
>
> /usr/lib/gcc/arm-linux-gnueabi/4.4.3/libgcc.a(bpabi.o):(.ARM.exidx+0x0):
> undefined reference to `__aeabi_unwind_cpp_pr0'
> /usr/lib/gcc/arm-linux-gnueabi/4.4.3/libgcc.a(_divdi3.o):(.ARM.exidx+0x0):
> undefined reference to `__aeabi_unwind_cpp_pr0'
> /usr/lib/gcc/arm-linux-gnueabi/4.4.3/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0):
> undefined reference to `__aeabi_unwind_cpp_pr0'
> collect2: ld returned 1 exit status
> make[1]: *** [temacs] Error 1
> make[1]: Leaving directory `/home/zumbi/emacs-23.1/src'
> make: *** [src] Error 2
>
> zumbi@Enano:~$ gcc -v
> Using built-in specs.
> Target: arm-linux-gnueabi
> Configured with: ../src/configure -v --with-pkgversion='Debian
> 4.4.3-1' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
> --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> --enable-shared --enable-multiarch --enable-linker-build-id
> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
> --program-suffix=-4.4 --enable-nls --enable-clocale=gnu
> --enable-libstdcxx-debug --enable-objc-gc --disable-sjlj-exceptions
> --enable-checking=release --build=arm-linux-gnueabi
> --host=arm-linux-gnueabi --target=arm-linux-gnueabi
> Thread model: posix
> gcc version 4.4.3 (Debian 4.4.3-1)
>
>   

In my gcc-4.3.2 for Debian/ARM this symbol is both in the 
'libgcc_s.so.1' and 'libgcc_eh.a' :

[root@Dell 4.3.2]# /usr/local/arm-debian-linux-gnueabi/bin/nm 
libgcc_s.so.1 | grep __aeabi_unwind_cpp_pr0
000088fc T __aeabi_unwind_cpp_pr0
[root@Dell 4.3.2]# /usr/local/arm-debian-linux-gnueabi/bin/nm 
libgcc_eh.a | grep __aeabi_unwind_cpp_pr0
00000494 T __aeabi_unwind_cpp_pr0
         U __aeabi_unwind_cpp_pr0
         U __aeabi_unwind_cpp_pr0
         U __aeabi_unwind_cpp_pr0

and the 'libgcc' spec says :

*libgcc:
%{static|static-libgcc:-lgcc 
-lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed 
-lgcc_s --no-as-needed}%{shared-libgcc:-lgcc_s%{!shared: -lgcc}}}}

So the '-lm -lgcc -lc -lgcc '  with the earlier 'gcc -nostdlib' in the 
link command is something unexpected....
Does the emacs Makefile generate this kind of unexpected link command?



More information about the Gcc-help mailing list