[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