[poky] [PATCH 1/7] elfutils: fix builds with gcc 4.6

Joshua Lock josh at linux.intel.com
Wed Apr 6 04:16:29 PDT 2011


On Mon, 2011-04-04 at 23:46 +0100, Richard Purdie wrote:
> On Mon, 2011-04-04 at 23:37 +0200, Martin Jansa wrote:
> > On Fri, Apr 1, 2011 at 3:40 PM, Joshua Lock <josh at linux.intel.com> wrote:
> > > From: Joshua Lock <josh at linux.intel.com>
> > >
> > > gcc 4.6 (as used in Fedora 15) adds some extra warnings which are
> > > included with Werror. The new unused-but-set variable warning causes
> > > an error in libasm of elfutils. Work around this by removing
> > > unused-but-set from Werror.
> > >
> > > Signed-off-by: Joshua Lock <josh at linux.intel.com>
> > > ---
> > >  meta/recipes-devtools/elfutils/elfutils_0.148.bb |    4 ++++
> > >  1 files changed, 4 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
> > > index b2f700e..c395be8 100644
> > > --- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb
> > > +++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
> > > @@ -40,6 +40,10 @@ SRC_URI += "\
> > >
> > >  inherit autotools
> > >
> > > +# GCC 4.6.0 raises an unused-but-set warning in libasm, for now remove
> > > +# this warning from Werror
> > > +CFLAGS_virtclass-native += "-Wno-error=unused-but-set-variable"
> > > +
> > >  EXTRA_OECONF = "--program-prefix=eu-"
> > 
> > this breaks all other distros not yet using gcc-4.6..
> > 
> > 
> > configure:2892: checking whether the C compiler works
> > configure:2914: gcc -Wno-error=unused-but-set-variable
> > -isystem/OE/shr-core/tmp/sysroots/x86_64-linux/usr/include
> > -L/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib
> > -Wl,-rpath-link,/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib
> > -Wl,-rpath,/OE/shr-core/tmp/sysroots/x86_64-linux/usr/lib -Wl,-O1
> > conftest.c  >&5
> > cc1: error: -Werror=unused-but-set-variable: No option -Wunused-but-set-variable
> > configure:2918: $? = 1
> > configure:2956: result: no
> > configure: failed program was:
> > | /* confdefs.h */
> > | #define PACKAGE_NAME "Red Hat elfutils"
> > | #define PACKAGE_TARNAME "elfutils"
> > | #define PACKAGE_VERSION "0.148"
> > | #define PACKAGE_STRING "Red Hat elfutils 0.148"
> > | #define PACKAGE_BUGREPORT "http://bugzilla.redhat.com/bugzilla/"
> > | #define PACKAGE_URL ""
> > | #define PACKAGE "elfutils"
> > | #define VERSION "0.148"
> > | #define MODVERSION "Build on jama 2011-04-04T23:34:25+0200"
> > | /* end confdefs.h.  */
> > |
> > | int
> > | main ()
> > | {
> > |
> > |   ;
> > |   return 0;
> > | }
> > configure:2961: error: in
> > `/OE/shr-core/tmp/work/x86_64-linux/elfutils-native-0.148-r1/elfutils-0.148':
> > configure:2965: error: C compiler cannot create executables
> > See `config.log' for more details.

Sorry about this Martin. Thanks for catching and reporting.

> 
> Ouch, I'm going to revert this, we'll need an alternative fix. Thanks
> for reporting!

I've worked up an alternative fix and sent a pull request to oe-core. I
took the approach of consolidating several patches from the upstream
source repository which remove the unused variables.

I consolidated them into a single patch so that they are easier to drop
once we update elfutils to 0.152 or higher.

Regards,
Joshua
-- 
Joshua Lock
        Yocto Build System Monkey
        Intel Open Source Technology Centre




More information about the poky mailing list