[OE-core] [PATCH 1/1] grub 1.99: fix build for gcc 4.7

Kamble, Nitin A nitin.a.kamble at intel.com
Sat Apr 14 00:41:50 UTC 2012



> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org
> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
> Kamble, Nitin A
> Sent: Friday, April 13, 2012 4:43 PM
> To: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 1/1] grub 1.99: fix build for gcc 4.7
> 
> 
> 
> > -----Original Message-----
> > From: openembedded-core-bounces at lists.openembedded.org
> > [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf
> Of
> > Khem Raj
> > Sent: Friday, April 13, 2012 1:21 PM
> > To: Patches and discussions about the oe-core layer
> > Subject: Re: [OE-core] [PATCH 1/1] grub 1.99: fix build for gcc 4.7
> >
> > On Fri, Apr 13, 2012 at 2:41 AM, Robert Yang
> > <liezhi.yang at windriver.com> wrote:
> > > There was an error when build with gcc 4.7 (FC 17 64bit):
> > > | fs/zfs/zfs.c: In function 'get_filesystem_dnode':
> > > | fs/zfs/zfs.c:1449:7: error: dereferencing type-punned pointer
> will
> > > | break strict-aliasing rules [-Werror=strict-aliasing]
> > > ......
> > > cc1: all warnings being treated as errors
> > >
> > > While compare the compile command between gcc 4.4.4 and gcc 4.7.0,
> > > they are the same (both of them have -Wall and -Werror), it seems
> > that
> > > gcc
> > > 4.7.0 has changed its algorithm for the strict aliasing check, but
> I
> > > didn't find the related information from its release note.
> > >
> > > Add "-fno-strict-aliasing" to gcc's option would fix the problem,
> > this
> > > would disable the optimization for strict-aliasing.
> >
> > This seems a bit more than whats needed. You could try adding -Wno-
> > error=strict-aliasing to CFLAGS
> >
> > on another note. I do not see this failing with gcc-4.7(target
> > compiler) here when I build grub for qemux86 so I am a bit puzzled
> >
> 
> 
> Khem,
>   There is another grub recipe issue, it is building target binaries
> with distro compiler. Probably because of that you did not see issue
> with 4.7 cross compiler. We have fix for that issue now.
> 
> Nitin
> 

Khem, Look at these:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=2291
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2293

And both have been fixed.

Nitin

> 
> 
> > >
> > > [YOCTO #2291]
> > >
> > > Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> > > ---
> > >  meta/recipes-bsp/grub/grub_1.99.bb |    7 ++++++-
> > >  1 files changed, 6 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/meta/recipes-bsp/grub/grub_1.99.bb
> > > b/meta/recipes-bsp/grub/grub_1.99.bb
> > > index ac66e83..f45b634 100644
> > > --- a/meta/recipes-bsp/grub/grub_1.99.bb
> > > +++ b/meta/recipes-bsp/grub/grub_1.99.bb
> > > @@ -12,7 +12,7 @@ LICENSE = "GPLv3"
> > >  LIC_FILES_CHKSUM =
> > "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
> > >
> > >  RDEPENDS_${PN} = "diffutils freetype"
> > > -PR = "r3"
> > > +PR = "r4"
> > >
> > >  SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
> > >           file://grub-install.in.patch \ @@ -29,6 +29,11 @@ inherit
> > > gettext
> > >  EXTRA_OECONF = "--with-platform=pc --disable-grub-mkfont --
> > target=${TARGET_ARCH} --program-prefix="""
> > >
> > >  do_configure() {
> > > +    # Fix build error for gcc 4.7
> > > +    echo "CPPFLAGS_DEFAULT += -fno-strict-aliasing" >>
> > > + conf/Makefile.common
> > > +    # Also modify Makefile.in, we can remove this when we can run
> > > + autoreconf
> > > +    sed -i 's/^CPPFLAGS_DEFAULT = \(.*\)/CPPFLAGS_DEFAULT =
> > > + -fno-strict-aliasing \1/' \
> > > +       Makefile.in grub-core/Makefile.in
> > >     oe_runconf
> > >  }
> > >
> > > --
> > > 1.7.1
> > >
> > >
> > > _______________________________________________
> > > Openembedded-core mailing list
> > > Openembedded-core at lists.openembedded.org
> > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-
> cor
> > > e
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list