Hi,
I'm encountering a problem cross-compiling GCC (trunk) for Blackfin, using 
uClibc.  A semi-recent change in GCC has resulted in sys/ucontext.h and GCC's 
generated insn-constants.h being included at the same time when building 
libgcc.  This results in name clashes with the enum of registers in the 
gregset_t array. For more background, see the GCC PR:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47779

The originally suggested fix is very messy and Bernd suggests the fix should be 
made in uClibc, which I agree with.  However I'm not sure what the best way to 
do it is.  Will simply disabling this enum when IN_LIBGCC2 be sufficient?

Thanks,
Stu


Index: libc/sysdeps/linux/bfin/sys/ucontext.h
===================================================================
--- libc/sysdeps/linux/bfin/sys/ucontext.h      (revision 5369)
+++ libc/sysdeps/linux/bfin/sys/ucontext.h      (working copy)
@@ -33,6 +33,7 @@
 /* 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 @@
   REG_SEQSTAT = 46
 #define        REG_SEQSTAT     REG_SEQSTAT
 };
+#endif

 /* Context to describe whole processor state.  */
 typedef struct



_______________________________________________
uClibc mailing list
uClibc@uclibc.org
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to