NPTL on ARM isseu with __aeabi_unwind_cpp_pr0

Carmelo AMOROSO carmelo.amoroso at st.com
Thu Dec 1 07:58:24 UTC 2011


On 01/12/2011 6.29, Khem Raj wrote:
> 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.
> 

I' think to have a clean fix for this. Let me send the patch so you can
look at it.

carmelo
>>
>> 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
> 



More information about the uClibc mailing list