This fixes the issue where g++ is not able to find C++ headers when sysroot is '/'
The patch needs to be upstreamed into gcc as well. [Yocto #4812] Signed-off-by: Khem Raj <raj.k...@gmail.com> --- meta/recipes-devtools/gcc/gcc-4.8.inc | 1 + .../gcc/gcc-4.8/0040-fix-g++-sysroot.patch | 40 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-4.8/0040-fix-g++-sysroot.patch diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc index 3219e0c..dafa241 100644 --- a/meta/recipes-devtools/gcc/gcc-4.8.inc +++ b/meta/recipes-devtools/gcc/gcc-4.8.inc @@ -69,6 +69,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://0037-gcc-4.8-PR56797.patch \ file://0038-gcc-4.8-build-args.patch \ file://0039-gcc-4.8-PR57717.patch \ + file://0040-fix-g++-sysroot.patch \ " SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304" SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813" diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0040-fix-g++-sysroot.patch b/meta/recipes-devtools/gcc/gcc-4.8/0040-fix-g++-sysroot.patch new file mode 100644 index 0000000..d50aa5c --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.8/0040-fix-g++-sysroot.patch @@ -0,0 +1,40 @@ +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 + +Signed-off-by: Khem Raj <raj.k...@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 -- 1.7.9.5 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core