[oe] RFC: SDK/external-toolchain fixes

Khem Raj raj.khem at gmail.com
Fri Sep 12 02:11:36 UTC 2008


On (11/09/08 21:53), Denys Dmytriyenko wrote:
> First of all, thanks for your review.
> 
> On Thu, Sep 11, 2008 at 05:02:08PM -0700, Khem Raj wrote:
> > On (11/09/08 15:52), Denys Dmytriyenko wrote:
> > > 
> > > #1 gcc-cross-sdk 4.3.1 missing include-fixed
> > > http://bugs.openembedded.net/show_bug.cgi?id=4536
> > > 
> > > gcc 4.3.x has some GCC-provided headers in include-fixed (namely limits.h),
> > > which are missing in the gcc-cross-sdk version, rendering external toolchain
> > > unusable.
> > 
> > I do not like this fix. IMO Instead of copying them into include directory 
> > they should be let alone in include-fixed directory and packaged. You should 
> > add knowledge of this new directory to the failing package instead. What 
> > packages are broken because of this.
> 
> I agree that this is not a proper fix, but rather a hack. glibc has its own 
> limits.h, which wants to include gcc's limits.h like this:
> 
>  /* Get the compiler's limits.h, which defines almost all the ISO constants.
>     We put this #include_next outside the double inclusion check because
>     it should be possible to include this file more than once and still get
>     the definitions from gcc's header.  */
> #if defined __GNUC__ && !defined _GCC_LIMITS_H_
> /* `_GCC_LIMITS_H_' is what GCC's file defines.  */
> # include_next <limits.h>
> #endif
> 
> This issue was brought up before, but as far as I can tell, it wasn't fixed 
> properly.
> This is initial Koen's post about the issue:
> http://projects.linuxtogo.org/pipermail/openembedded-devel/2008-April/005108.html
> And here is your own reply with one of the possible solutions:
> http://projects.linuxtogo.org/pipermail/openembedded-devel/2008-April/005111.html
> 

right. So can you try this patch and see if this fixes the problem ?

> Here is how it's "solved" (i.e. worked around) in gcc-cross_4.3.1.bb (4.3.2):
> 
> # Hack till we fix *libc properly
> do_stage_append() {
>         ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
> }
> 
> I'd love to see it fixed properly, but for now I'm trying to bring 
> gcc-cross-sdk on par with gcc-cross.
> 
> > > Provided patch copies them in the include directory as a temporary solution.
> > > A similar temporary solution is present in gcc-cross_4.3.1, see
> > > do_stage_append()
> > > 
> > > 
> > > #2 external-toolchain misses providing runtime libgcc
> > > http://bugs.openembedded.net/show_bug.cgi?id=4542
> > > 
> > > Since external-toolchain misses specifying libgcc as provided runtime library,
> > > dependency tree picks up either gcc-cross or even gcc-noemu...
> > 
> > This one seems ok to me. 
> 
> Thanks! Whom should I ping to get it commited?

I can do it.

> 
> -- 
> Denys
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list