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