Name clashes when cross compiling

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Tue Jun 21 19:54:32 UTC 2011


On Tue, Jun 21, 2011 at 10:15:28AM +0100, Henderson, Stuart wrote:
>Ping.
>
>>Hi,
>>
>>>Maybe a fix in uClibc is more pragmatic, but definitely not one with a
>>>condition on IN_LIBGCC2, since IN_LIBGCC2 is part of the user's
>>namespace
>>>so installed system headers should not use it in any way.
>>
>>So after some discussion on the gcc lists about this:
>>http://gcc.gnu.org/ml/gcc-help/2011-06/msg00189.html
>>
>>I proposed to define __IN_LIBGCC2 for bfin parts during libgcc build in
>>gcc (which they accept) and then I would like to apply the below patch
>>to uClibc.
>>
>>Is this acceptable?

This really is a gross workaround and as such should add a detailed
explanation as to why that hack was needed and when it can be removed.

Mike, please install an updated version that includes Stuarts
explanation.

TIA,
>>
>>Thanks,
>>Stu
>>
>>Index: uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h
>>===================================================================
>>--- uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h   (revision 5456)
>>+++ uClibc/libc/sysdeps/linux/bfin/sys/ucontext.h   (working copy)
>>@@ -33,6 +33,7 @@ typedef int greg_t;
>> /* Container for all general registers.  */
>> typedef greg_t gregset_t[NGREG];
>>
>>+#ifndef __IN_LIBGCC2
>> /* Number of each register is the `gregset_t' array.  */
>> enum
>> {
>>@@ -131,6 +132,7 @@ enum
>>   REG_SEQSTAT = 46
>> #define    REG_SEQSTAT REG_SEQSTAT
>> };
>>+#endif
>>
>> /* Context to describe whole processor state.  */
>> typedef struct


More information about the uClibc mailing list