Re: can't resolve symbol '_Unwind_Backtrace'
Andrew Haley <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
ffileppo wrote: >> ffileppo wrote: >>> Hi, >>> >>> I'm getting this error when I try to run a gcj exe on my target (arm-linux, cpu PXA270): >>> >>> ./a.out: can't resolve symbol '_Unwind_Backtrace' >> Hmm, doesn't look like armel. >> >> Which ABI is this? New or old ARM ABI? What version of gcc? >> >> The me what `uname -a' returns. >> >> Andrew. >> > > How can I check which ABI I'm using? > > I used GCC 4.3 to compile arm-linux-gcj; the rootfs of the target was built using gcc 4.2.3 (with uclibc), I don't know it is important though. > > You mean "uname -a" of my target right? > It tells: > Linux uclibc 2.6.22.6 #72 Mon Apr 21 15:34:00 CEST 2008 armv5tel unknown OK, that's the new ABI: the "el" on the end of the name tells us that. I'm wondering if maybe you have an old version of libgcc on the target and a new version in the x-compiler. Run your program in gdb and then do "info share". It'll tell you which libgcc you're using. Your newly built libgcc_s.so will be somewhere like x-arm/install/arm-linux/lib/libgcc_s.so and this is the one you want in your LD_LIBRARY_PATH on your target. Copy everything in x-arm/install/arm-linux/lib to your target. zorro:~ $ nm x-arm/install/arm-linux/lib/libgcc_s.so | grep Backtrace 000075c0 T _Unwind_Backtrace Andrew.