Patchwork [CONSOLIDATED,PULL,21/28] gcc-cross-initial: Stage self sufficient fixed limits.h

login
register
mail settings
Submitter Saul Wold
Date July 25, 2012, 7:19 a.m.
Message ID <dea96a1e24d9d72673761ecd48939f400d96c676.1343200454.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/33003/
State New
Headers show

Comments

Saul Wold - July 25, 2012, 7:19 a.m.
From: Khem Raj <raj.khem@gmail.com>

currently gcc installs a limits.h which references to another
limits.h which it expects from target sysroot and that header
in target sysroot will come from eglibc. So we need to break
this catch-22 and hence we install a self sufficient limits.h
which is then happy when referenced and doesnt complain about
missing limits.h from target sysroot.

This is mostly used when eglibc-initial configure is run

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/recipes-devtools/gcc/gcc-4.7.inc           |    2 +-
 meta/recipes-devtools/gcc/gcc-cross-initial.inc |   10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletions(-)

Patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-devtools/gcc/gcc-4.7.inc
index 43d77ec..709d7d8 100644
--- a/meta/recipes-devtools/gcc/gcc-4.7.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.7.inc
@@ -1,6 +1,6 @@ 
 require gcc-common.inc
 
-PR = "r7"
+PR = "r8"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.7.1
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
index 93a6d78..aee46a6 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
@@ -27,3 +27,13 @@  EXTRA_OECONF = "--with-newlib \
 do_compile () {
     oe_runmake all-gcc all-target-libgcc
 }
+# fixed limits.h infact includes the so called real limits.h
+# which should come from libc but when we build libc-initial
+# then bunch of configure tests include fixed limits.h which in turn
+# includes real limits.h but this real limits.h is not staged yet
+# so we overwirte the generated include-fixed/limits.h for gcc-cross-initial
+# to get rid references to real limits.h
+
+do_install_append1() {
+    cp gcc/include-fixed/limits.h ${D}${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed/limits.h
+}