NPTL on ARM isseu with __aeabi_unwind_cpp_pr0

Khem Raj raj.khem at gmail.com
Thu Dec 1 05:29:29 UTC 2011


On (29/11/11 17:05), Johannes Stezenbach wrote:
> Hi,
> 
> static linking on ARM with NPTL causes duplicate symbol
> errors for __aeabi_unwind_cpp_pr0.  I think it is
> both gcc and uClibc issue.

hmm this object is added to libc-shared-y so I think it should not be
part of static libc

however I see that it does not make that distinction for librt or
libpthread so if you link with librt.a then this object will get in way
probably it should not exist in static versions of these libs as well.

> 
> See also
> https://bugs.busybox.net/show_bug.cgi?id=4117
> 
> gcc version 4.6.2 20111004 (prerelease) (linaro version)
> uClibc-0.9.32 or git master
> 
> - gcc defines __aeabi_unwind_cpp_pr0/pr1/pr2
> - uClibc-0.9.32/libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.c defines stubs,
>   the comment says "This routine will never actually be called."
> 
> I think the gcc versions of these functions must not be weak,
> but the uClibc stubs need to be weak, so that when linking
> statically the gcc versions will be used.
> 
> However, gcc makes __aeabi_unwind_cpp_pr1/pr2 weak, with the
> "weak" attr on __aeabi_unwind_cpp_pr0 left in a comment:
> http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/annotate/head:/gcc/config/arm/unwind-arm.c#L223
> 
> Confusing, isn't it?
> 
> 
> Johannes
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc

-- 
-Khem


More information about the uClibc mailing list