summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-12 13:02:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-14 11:41:10 +0100
commit93d8becf19cc72df650d3aaff7e3ea188bd6e09e (patch)
tree2a70f3dd06274065d4d74a578e0a308442bfac57
parent1702f52b5860336d36fb912fbe2851437e74a7d5 (diff)
downloadopenembedded-core-93d8becf19cc72df650d3aaff7e3ea188bd6e09e.tar.gz
openembedded-core-93d8becf19cc72df650d3aaff7e3ea188bd6e09e.tar.bz2
openembedded-core-93d8becf19cc72df650d3aaff7e3ea188bd6e09e.zip
gcc5: Add back g++ sysroot patch
Without this, g++/c++ compilation doesn't work on target due to missing header files. Automated sanity tests fail. Add back the gcc4 patch to address this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.1.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-5.1/0038-fix-g++-sysroot.patch44
2 files changed, 45 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.1.inc b/meta/recipes-devtools/gcc/gcc-5.1.inc
index 305736b691..1d64f9e4e4 100644
--- a/meta/recipes-devtools/gcc/gcc-5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-5.1.inc
@@ -69,6 +69,7 @@ SRC_URI = "\
file://0035-Dont-link-the-plugins-with-libgomp-explicitly.patch \
file://0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
file://0037-pr65779.patch \
+ file://0038-fix-g++-sysroot.patch \
"
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${SNAP}"
diff --git a/meta/recipes-devtools/gcc/gcc-5.1/0038-fix-g++-sysroot.patch b/meta/recipes-devtools/gcc/gcc-5.1/0038-fix-g++-sysroot.patch
new file mode 100644
index 0000000000..f024dd5a2e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.1/0038-fix-g++-sysroot.patch
@@ -0,0 +1,44 @@
+Portions of
+
+http://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg26013.html
+
+are not upstreamed yet. So lets keep missing pieces.
+
+Upstream-Status: Pending
+
+Without this, compiling something simple like #include <limits> on target
+with c++ test.cpp fails unable to find the header. strace shows it looking in
+usr/include/xxxx rather than /usr/include/xxxx
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: gcc-4.8.1/gcc/configure.ac
+===================================================================
+--- gcc-4.8.1.orig/gcc/configure.ac 2013-07-15 15:55:49.488399132 -0700
++++ gcc-4.8.1/gcc/configure.ac 2013-07-15 16:02:31.772406679 -0700
+@@ -148,7 +148,9 @@
+ if test "${with_sysroot+set}" = set; then
+ gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
+ if test "${gcc_gxx_without_sysroot}"; then
+- gcc_gxx_include_dir="${gcc_gxx_without_sysroot}"
++ if test x${with_sysroot} != x/; then
++ gcc_gxx_include_dir="${gcc_gxx_without_sysroot}"
++ fi
+ gcc_gxx_include_dir_add_sysroot=1
+ fi
+ fi
+Index: gcc-4.8.1/gcc/configure
+===================================================================
+--- gcc-4.8.1.orig/gcc/configure 2013-07-15 15:55:49.472399132 -0700
++++ gcc-4.8.1/gcc/configure 2013-07-15 16:02:31.780406680 -0700
+@@ -3325,7 +3325,9 @@
+ if test "${with_sysroot+set}" = set; then
+ gcc_gxx_without_sysroot=`expr "${gcc_gxx_include_dir}" : "${with_sysroot}"'\(.*\)'`
+ if test "${gcc_gxx_without_sysroot}"; then
+- gcc_gxx_include_dir="${gcc_gxx_without_sysroot}"
++ if test x${with_sysroot} != x/; then
++ gcc_gxx_include_dir="${gcc_gxx_without_sysroot}"
++ fi
+ gcc_gxx_include_dir_add_sysroot=1
+ fi
+ fi