Patchwork gcc-configure-common.inc: Stop gcc looking at build system paths

login
register
mail settings
Submitter Richard Purdie
Date April 15, 2012, 5:05 p.m.
Message ID <1334509553.16992.34.camel@ted>
Download mbox | patch
Permalink /patch/25877/
State Accepted
Commit e7135f14f3ef37f93f5c28b319464f3d6dd9b8da
Headers show

Comments

Richard Purdie - April 15, 2012, 5:05 p.m.
There were puzzling failures when you make a force recompile of any gcc
component. The error was in do_configure with cross-compilation badness
being detected in config.log files.

gcc is different in that many of the config.log files are generated during
the do_compile phase. This means this host contamination issue has always
been present but only shows up on a rebuild.

The fix is to force the appropriate configuration variable to "none required"
then gcc won't look in the bad locations.

[YOCTO #2279]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Khem Raj - April 15, 2012, 11:42 p.m.
On Sun, Apr 15, 2012 at 10:05 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> gcc_cv_collect2_libs

is it the /usr/lib/cmplrs/cc2.11 access issue ?
in that case the fix it fine. However if its something in LTO
then we need to dig deeper
Richard Purdie - April 16, 2012, 8:23 a.m.
On Sun, 2012-04-15 at 16:42 -0700, Khem Raj wrote:
> On Sun, Apr 15, 2012 at 10:05 AM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > gcc_cv_collect2_libs
> 
> is it the /usr/lib/cmplrs/cc2.11 access issue ?

It is.

> in that case the fix it fine. However if its something in LTO
> then we need to dig deeper

Its not lto related.

Cheers,

Richard

Patch

diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 7a96e91..9542dc9 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -107,6 +107,10 @@  do_configure () {
 	export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
 	export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
 	export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
+	# We need to set this else there is cross-compilation badness
+	# in the config.log files (which might not get generated until do_compile
+	# hence being missed by the insane do_configure check).
+	export gcc_cv_collect2_libs="none required"
 	(cd ${S} && gnu-configize) || die "failure running gnu-configize"
 
 	oe_runconf