All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/42] gcc: Add gcc6 recipes
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-31  8:12   ` Jussi Kukkonen
  2016-05-11 17:35 ` [PATCH 02/42] glibc: Add recipes for 2.24 release Khem Raj
                   ` (42 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...-Symlink-c-header-in-target_triplet-for-S.patch |   49 +
 meta/recipes-devtools/gcc/gcc-6.1.inc              |  131 +
 .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch     |   42 +
 .../gcc/gcc-6.1/0002-uclibc-conf.patch             |   53 +
 .../0003-gcc-uclibc-locale-ctype_touplow_t.patch   |   87 +
 .../gcc/gcc-6.1/0004-uclibc-locale.patch           | 2862 ++++++++++++++++++++
 .../gcc/gcc-6.1/0005-uclibc-locale-no__x.patch     |  257 ++
 .../gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch |   68 +
 .../gcc/gcc-6.1/0007-uclibc-locale-update.patch    |  542 ++++
 .../gcc/gcc-6.1/0008-missing-execinfo_h.patch      |   28 +
 .../gcc/gcc-6.1/0009-c99-snprintf.patch            |   28 +
 .../0010-gcc-poison-system-directories.patch       |  192 ++
 .../gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch   |   39 +
 .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch |   73 +
 .../gcc/gcc-6.1/0013-64-bit-multilib-hack.patch    |   85 +
 .../gcc/gcc-6.1/0014-optional-libstdc.patch        |  125 +
 ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch |   59 +
 .../gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch     |   38 +
 ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch |   96 +
 .../gcc-6.1/0018-fortran-cross-compile-hack.patch  |   46 +
 .../gcc/gcc-6.1/0019-cpp-honor-sysroot.patch       |   54 +
 .../gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch   |   57 +
 ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch |  234 ++
 ...0022-gcc-Fix-argument-list-too-long-error.patch |   40 +
 .../gcc/gcc-6.1/0023-Disable-sdt.patch             |  113 +
 .../gcc/gcc-6.1/0024-libtool.patch                 |   42 +
 ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch |   43 +
 ...tilib-config-files-from-B-instead-of-usin.patch |  102 +
 ...-libdir-from-.la-which-usually-points-to-.patch |   31 +
 .../gcc/gcc-6.1/0028-export-CPP.patch              |   53 +
 ...AltiVec-generation-on-powepc-linux-target.patch |   56 +
 ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch |   42 +
 ...Ensure-target-gcc-headers-can-be-included.patch |   98 +
 ...-t-build-with-disable-dependency-tracking.patch |   54 +
 ...h-host-directory-during-relink-if-inst_pr.patch |   38 +
 ...IBS_DIR-replacement-instead-of-hardcoding.patch |   29 +
 .../0035-aarch64-Add-support-for-musl-ldso.patch   |   28 +
 ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch |   54 +
 ...-handle-sysroot-support-for-nativesdk-gcc.patch |  213 ++
 ...et-sysroot-gcc-version-specific-dirs-with.patch |  102 +
 ...-various-_FOR_BUILD-and-related-variables.patch |  137 +
 .../0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch    |   28 +
 .../gcc/gcc-6.1/0041-ssp_nonshared.patch           |   28 +
 ...c-libcpp-support-ffile-prefix-map-old-new.patch |  292 ++
 ...ug-prefix-map-to-replace-ffile-prefix-map.patch |   43 +
 ...-fdebug-prefix-map-support-to-remap-sourc.patch |   54 +
 ...45-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch |  125 +
 ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch |   29 +
 .../recipes-devtools/gcc/gcc-cross-canadian_6.1.bb |    5 +
 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb |    2 +
 meta/recipes-devtools/gcc/gcc-cross_6.1.bb         |    3 +
 .../gcc/gcc-crosssdk-initial_6.1.bb                |    3 +
 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb      |    2 +
 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb       |    7 +
 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb    |    2 +
 meta/recipes-devtools/gcc/gcc-source_6.1.bb        |    4 +
 meta/recipes-devtools/gcc/gcc_6.1.bb               |   15 +
 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb    |    2 +
 meta/recipes-devtools/gcc/libgcc_6.1.bb            |    2 +
 meta/recipes-devtools/gcc/libgfortran_6.1.bb       |    3 +
 60 files changed, 7169 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1.inc
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-cross_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-source_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/libgcc_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/libgfortran_6.1.bb

diff --git a/meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch b/meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
new file mode 100644
index 0000000..c598a0d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
@@ -0,0 +1,49 @@
+From 0ef3d75514ee5a74b7c04ea36423cff97843fbb8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 10 May 2016 01:07:24 -0700
+Subject: [PATCH] gcc-runtime: Symlink c++ header in target_triplet for SDK use
+
+We build SDKs such that gcc-cross-candian is built for only one
+target *-*-linux and then use -muclibc or -mmusl to let it compile
+code for other libc variants. This works fine when libc = glibc
+however it does not work for c++ programs when libc != glibc since
+there are c++ headers installed under ${includedir}/c++/${BINV}/${TARGET_SYS}
+which is fine when gcc-runtime and gcc-cross-candian uses same --target options
+gxx includedir searches in right triplet, but it fails with musl/uclibc
+since gcc will look for glibc based triplet but gcc-runtime will install
+them under musl/uclibc triplet.
+
+This patch symlinks the musl/uclibc triplet to glibc triplet when libc != glibc
+
+This fixes SDKs for musl/uclibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meta/recipes-devtools/gcc/gcc-runtime.inc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
+index 8639c1c..8e4d5eb 100644
+--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
++++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
+@@ -70,13 +70,15 @@ do_install () {
+ 	if [ -d ${D}${infodir} ]; then
+ 		rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
+ 	fi
++}
++
++do_install_append_class-target () {
+ 	if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
+ 		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
+ 	fi
+-	if [ "${TARGET_OS}" = "linux-gnuspe" ]; then
++	if [ "${TARGET_OS}" = "linux-gnuspe" -o "${TCLIBC}" != "glibc" ]; then
+ 		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
+ 	fi
+-	chown -R root:root ${D}
+ }
+ 
+ INHIBIT_DEFAULT_DEPS = "1"
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1.inc b/meta/recipes-devtools/gcc/gcc-6.1.inc
new file mode 100644
index 0000000..1a00f3f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1.inc
@@ -0,0 +1,131 @@
+require gcc-common.inc
+
+# Third digit in PV should be incremented after a minor release
+
+PV = "6.1.1"
+
+#SNAP = "5-20150405"
+
+# BINV should be incremented to a revision after a minor gcc release
+
+BINV = "6.1.1"
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-6.1:${FILE_DIRNAME}/gcc-6.1/backport:"
+
+DEPENDS =+ "mpfr gmp libmpc zlib"
+NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
+
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "\
+    file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+    file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+    file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+    file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+    file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
+"
+
+SRCREV = "bd9a826d5448db11d29d2ec5884e7e679066f140"
+
+#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
+BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
+
+SRC_URI = "\
+           ${BASEURI} \
+           file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
+           file://0002-uclibc-conf.patch \
+           file://0003-gcc-uclibc-locale-ctype_touplow_t.patch \
+           file://0004-uclibc-locale.patch \
+           file://0005-uclibc-locale-no__x.patch \
+           file://0006-uclibc-locale-wchar_fix.patch \
+           file://0007-uclibc-locale-update.patch \
+           file://0008-missing-execinfo_h.patch \
+           file://0009-c99-snprintf.patch \
+           file://0010-gcc-poison-system-directories.patch \
+           file://0011-gcc-poison-dir-extend.patch \
+           file://0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
+           file://0013-64-bit-multilib-hack.patch \
+           file://0014-optional-libstdc.patch \
+           file://0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \
+           file://0016-COLLECT_GCC_OPTIONS.patch \
+           file://0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
+           file://0018-fortran-cross-compile-hack.patch \
+           file://0019-cpp-honor-sysroot.patch \
+           file://0020-MIPS64-Default-to-N64-ABI.patch \
+           file://0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
+           file://0022-gcc-Fix-argument-list-too-long-error.patch \
+           file://0023-Disable-sdt.patch \
+           file://0024-libtool.patch \
+           file://0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
+           file://0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
+           file://0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
+           file://0028-export-CPP.patch \
+           file://0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch \
+           file://0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \
+           file://0031-Ensure-target-gcc-headers-can-be-included.patch \
+           file://0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
+           file://0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
+           file://0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
+           file://0035-aarch64-Add-support-for-musl-ldso.patch \
+           file://0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
+           file://0037-handle-sysroot-support-for-nativesdk-gcc.patch \
+           file://0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
+           file://0039-Fix-various-_FOR_BUILD-and-related-variables.patch \
+           file://0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
+           file://0041-ssp_nonshared.patch \
+           file://0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch \
+           file://0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch \
+           file://0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch \
+           file://0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
+           file://0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
+           ${BACKPORTS} \
+"
+
+BACKPORTS = ""
+
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
+B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
+
+# Language Overrides
+FORTRAN = ""
+JAVA = ""
+
+LTO = "--enable-lto"
+
+EXTRA_OECONF_BASE = "\
+    ${LTO} \
+    --enable-libssp \
+    --enable-libitm \
+    --disable-bootstrap \
+    --disable-libmudflap \
+    --with-system-zlib \
+    --with-linker-hash-style=${LINKER_HASH_STYLE} \
+    --enable-linker-build-id \
+    --with-ppl=no \
+    --with-cloog=no \
+    --enable-checking=release \
+    --enable-cheaders=c_global \
+    --without-isl \
+"
+
+EXTRA_OECONF_INITIAL = "\
+    --disable-libmudflap \
+    --disable-libgomp \
+    --disable-libitm \
+    --disable-libquadmath \
+    --with-system-zlib \
+    --disable-lto \
+    --disable-plugin \
+    --enable-decimal-float=no \
+    --without-isl \
+    gcc_cv_libc_provides_ssp=yes \
+"
+
+EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
+
+EXTRA_OECONF_PATHS = "\
+    --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
+    --with-sysroot=/not/exist \
+    --with-build-sysroot=${STAGING_DIR_TARGET} \
+"
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000..415f091
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,42 @@
+From 92ed30da16b7487b334f739be177eb39885ab772 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:37:11 +0400
+Subject: [PATCH 01/46] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ configure    | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 35f231e..bfadc33 100755
+--- a/configure
++++ b/configure
+@@ -7550,7 +7550,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+ 
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+  *" newlib "*)
+   case " $target_configargs " in
+diff --git a/configure.ac b/configure.ac
+index 74bf58a..197d61b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3149,7 +3149,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+ 
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+  *" newlib "*)
+   case " $target_configargs " in
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch b/meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
new file mode 100644
index 0000000..4d284ef
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
@@ -0,0 +1,53 @@
+From 4efc5a258c812875743647d756f75c93c4d514a5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:38:25 +0400
+Subject: [PATCH 02/46] uclibc-conf
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ contrib/regression/objs-gcc.sh | 4 ++++
+ libjava/classpath/ltconfig     | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh
+index 60b0497..6dc7ead 100755
+--- a/contrib/regression/objs-gcc.sh
++++ b/contrib/regression/objs-gcc.sh
+@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ]
+  then
+   make all-gdb all-dejagnu all-ld || exit 1
+   make install-gdb install-dejagnu install-ld || exit 1
++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
++ then
++  make all-gdb all-dejagnu all-ld || exit 1
++  make install-gdb install-dejagnu install-ld || exit 1
+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
+   make bootstrap || exit 1
+   make install || exit 1
+diff --git a/libjava/classpath/ltconfig b/libjava/classpath/ltconfig
+index d318957..df55950 100755
+--- a/libjava/classpath/ltconfig
++++ b/libjava/classpath/ltconfig
+@@ -603,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ 
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
+-linux-gnu*) ;;
++linux-gnu*|linux-uclibc*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+ 
+@@ -1247,7 +1247,7 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
+   ;;
+ 
+ # This must be Linux ELF.
+-linux-gnu*)
++linux*)
+   version_type=linux
+   need_lib_prefix=no
+   need_version=no
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch b/meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
new file mode 100644
index 0000000..df07feb
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
@@ -0,0 +1,87 @@
+From ad5fd283fc7ef04f66c7fb003805364ea3bd34e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:40:12 +0400
+Subject: [PATCH 03/46] gcc-uclibc-locale-ctype_touplow_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ libstdc++-v3/config/locale/generic/c_locale.cc | 5 +++++
+ libstdc++-v3/config/locale/generic/c_locale.h  | 9 +++++++++
+ libstdc++-v3/config/os/gnu-linux/ctype_base.h  | 9 +++++++++
+ 3 files changed, 23 insertions(+)
+
+diff --git a/libstdc++-v3/config/locale/generic/c_locale.cc b/libstdc++-v3/config/locale/generic/c_locale.cc
+index ef6ce8f..4740636 100644
+--- a/libstdc++-v3/config/locale/generic/c_locale.cc
++++ b/libstdc++-v3/config/locale/generic/c_locale.cc
+@@ -273,5 +273,10 @@ _GLIBCXX_END_NAMESPACE_VERSION
+ #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
+ #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
+   extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
++#ifdef __UCLIBC__
++// This is because __c_locale is of type __ctype_touplow_t* which is short on uclibc. for glibc its int*
++_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPs, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPs);
++#else
+ _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
++#endif
+ #endif // _GLIBCXX_LONG_DOUBLE_COMPAT
+diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h
+index 794471e..d65f955 100644
+--- a/libstdc++-v3/config/locale/generic/c_locale.h
++++ b/libstdc++-v3/config/locale/generic/c_locale.h
+@@ -40,13 +40,22 @@
+ 
+ #include <clocale>
+ 
++#ifdef __UCLIBC__
++#include <features.h>
++#include <ctype.h>
++#endif
++
+ #define _GLIBCXX_NUM_CATEGORIES 0
+ 
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ 
++#ifdef __UCLIBC__
++  typedef __ctype_touplow_t*	__c_locale;
++#else
+   typedef int*			__c_locale;
++#endif
+ 
+   // Convert numeric value of type double and long double to string and
+   // return length of string.  If vsnprintf is available use it, otherwise
+diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+index 591c793..55eb0e9 100644
+--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
++++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+@@ -33,6 +33,11 @@
+ 
+ // Information as gleaned from /usr/include/ctype.h
+ 
++#ifdef __UCLIBC__
++#include <features.h>
++#include <ctype.h>
++#endif
++
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+@@ -41,7 +46,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   struct ctype_base
+   {
+     // Non-standard typedefs.
++#ifdef __UCLIBC__
++    typedef const __ctype_touplow_t*	__to_type;
++#else
+     typedef const int* 		__to_type;
++#endif
+ 
+     // NB: Offsets into ctype<char>::_M_table force a particular size
+     // on the mask type. Because of this, we don't use an enum.
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch b/meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
new file mode 100644
index 0000000..ae2627c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
@@ -0,0 +1,2862 @@
+From 68bd083357e78678a9baac760beb2a31f00954a5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:41:39 +0400
+Subject: [PATCH 04/46] uclibc-locale
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ libstdc++-v3/acinclude.m4                          |  37 ++
+ .../config/locale/uclibc/c++locale_internal.h      |  63 ++
+ libstdc++-v3/config/locale/uclibc/c_locale.cc      | 160 +++++
+ libstdc++-v3/config/locale/uclibc/c_locale.h       | 117 ++++
+ .../config/locale/uclibc/codecvt_members.cc        | 308 +++++++++
+ .../config/locale/uclibc/collate_members.cc        |  80 +++
+ libstdc++-v3/config/locale/uclibc/ctype_members.cc | 300 +++++++++
+ .../config/locale/uclibc/messages_members.cc       | 100 +++
+ .../config/locale/uclibc/messages_members.h        | 118 ++++
+ .../config/locale/uclibc/monetary_members.cc       | 692 +++++++++++++++++++++
+ .../config/locale/uclibc/numeric_members.cc        | 160 +++++
+ libstdc++-v3/config/locale/uclibc/time_members.cc  | 406 ++++++++++++
+ libstdc++-v3/config/locale/uclibc/time_members.h   |  68 ++
+ libstdc++-v3/configure                             |  75 +++
+ libstdc++-v3/include/c_compatibility/wchar.h       |   2 +
+ libstdc++-v3/include/c_std/cwchar                  |   2 +
+ 16 files changed, 2688 insertions(+)
+ create mode 100644 libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+ create mode 100644 libstdc++-v3/config/locale/uclibc/c_locale.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/c_locale.h
+ create mode 100644 libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/collate_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/ctype_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/messages_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/messages_members.h
+ create mode 100644 libstdc++-v3/config/locale/uclibc/monetary_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/numeric_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/time_members.cc
+ create mode 100644 libstdc++-v3/config/locale/uclibc/time_members.h
+
+diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
+index b0f88cb..a0ee36b 100644
+--- a/libstdc++-v3/acinclude.m4
++++ b/libstdc++-v3/acinclude.m4
+@@ -2358,6 +2358,9 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
+   # Default to "generic".
+   if test $enable_clocale_flag = auto; then
+     case ${target_os} in
++      *-uclibc*)
++        enable_clocale_flag=uclibc
++        ;;
+       linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
+ 	enable_clocale_flag=gnu
+ 	;;
+@@ -2542,6 +2545,40 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
+       CTIME_CC=config/locale/generic/time_members.cc
+       CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+       ;;
++    uclibc)
++      AC_MSG_RESULT(uclibc)
++
++      # Declare intention to use gettext, and add support for specific
++      # languages.
++      # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++      ALL_LINGUAS="de fr"
++
++      # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++      AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++      if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++        USE_NLS=yes
++      fi
++      # Export the build objects.
++      for ling in $ALL_LINGUAS; do \
++        glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++        glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++      done
++      AC_SUBST(glibcxx_MOFILES)
++      AC_SUBST(glibcxx_POFILES)
++
++      CLOCALE_H=config/locale/uclibc/c_locale.h
++      CLOCALE_CC=config/locale/uclibc/c_locale.cc
++      CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++      CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++      CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++      CMESSAGES_H=config/locale/uclibc/messages_members.h
++      CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++      CMONEY_CC=config/locale/uclibc/monetary_members.cc
++      CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++      CTIME_H=config/locale/uclibc/time_members.h
++      CTIME_CC=config/locale/uclibc/time_members.cc
++      CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++      ;;
+   esac
+ 
+   # This is where the testsuite looks for locale catalogs, using the
+diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+new file mode 100644
+index 0000000..2ae3e4a
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+@@ -0,0 +1,63 @@
++// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
++
++// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// Written by Jakub Jelinek <jakub@redhat.com>
++
++#include <bits/c++config.h>
++#include <clocale>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning clean this up
++#endif
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++
++extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
++extern "C" __typeof(strcoll_l) __strcoll_l;
++extern "C" __typeof(strftime_l) __strftime_l;
++extern "C" __typeof(strtod_l) __strtod_l;
++extern "C" __typeof(strtof_l) __strtof_l;
++extern "C" __typeof(strtold_l) __strtold_l;
++extern "C" __typeof(strxfrm_l) __strxfrm_l;
++extern "C" __typeof(newlocale) __newlocale;
++extern "C" __typeof(freelocale) __freelocale;
++extern "C" __typeof(duplocale) __duplocale;
++extern "C" __typeof(uselocale) __uselocale;
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++extern "C" __typeof(iswctype_l) __iswctype_l;
++extern "C" __typeof(towlower_l) __towlower_l;
++extern "C" __typeof(towupper_l) __towupper_l;
++extern "C" __typeof(wcscoll_l) __wcscoll_l;
++extern "C" __typeof(wcsftime_l) __wcsftime_l;
++extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
++extern "C" __typeof(wctype_l) __wctype_l;
++#endif
++
++#endif // GLIBC 2.3 and later
+diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
+new file mode 100644
+index 0000000..5081dc1
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
+@@ -0,0 +1,160 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8  Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <cerrno>  // For errno
++#include <locale>
++#include <stdexcept>
++#include <langinfo.h>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strtol_l(S, E, B, L)      strtol((S), (E), (B))
++#define __strtoul_l(S, E, B, L)     strtoul((S), (E), (B))
++#define __strtoll_l(S, E, B, L)     strtoll((S), (E), (B))
++#define __strtoull_l(S, E, B, L)    strtoull((S), (E), (B))
++#define __strtof_l(S, E, L)         strtof((S), (E))
++#define __strtod_l(S, E, L)         strtod((S), (E))
++#define __strtold_l(S, E, L)        strtold((S), (E))
++#warning should dummy __newlocale check for C|POSIX ?
++#define __newlocale(a, b, c)        NULL
++#define __freelocale(a)             ((void)0)
++#define __duplocale(a)              __c_locale()
++#endif
++
++namespace std
++{
++  template<>
++    void
++    __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
++		   const __c_locale& __cloc)
++    {
++      if (!(__err & ios_base::failbit))
++	{
++	  char* __sanity;
++	  errno = 0;
++	  float __f = __strtof_l(__s, &__sanity, __cloc);
++          if (__sanity != __s && errno != ERANGE)
++	    __v = __f;
++	  else
++	    __err |= ios_base::failbit;
++	}
++    }
++
++  template<>
++    void
++    __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
++		   const __c_locale& __cloc)
++    {
++      if (!(__err & ios_base::failbit))
++	{
++	  char* __sanity;
++	  errno = 0;
++	  double __d = __strtod_l(__s, &__sanity, __cloc);
++          if (__sanity != __s && errno != ERANGE)
++	    __v = __d;
++	  else
++	    __err |= ios_base::failbit;
++	}
++    }
++
++  template<>
++    void
++    __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
++		   const __c_locale& __cloc)
++    {
++      if (!(__err & ios_base::failbit))
++	{
++	  char* __sanity;
++	  errno = 0;
++	  long double __ld = __strtold_l(__s, &__sanity, __cloc);
++          if (__sanity != __s && errno != ERANGE)
++	    __v = __ld;
++	  else
++	    __err |= ios_base::failbit;
++	}
++    }
++
++  void
++  locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
++				    __c_locale __old)
++  {
++    __cloc = __newlocale(1 << LC_ALL, __s, __old);
++#ifdef __UCLIBC_HAS_XLOCALE__
++    if (!__cloc)
++      {
++	// This named locale is not supported by the underlying OS.
++	__throw_runtime_error(__N("locale::facet::_S_create_c_locale "
++			      "name not valid"));
++      }
++#endif
++  }
++
++  void
++  locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
++  {
++    if (_S_get_c_locale() != __cloc)
++      __freelocale(__cloc);
++  }
++
++  __c_locale
++  locale::facet::_S_clone_c_locale(__c_locale& __cloc)
++  { return __duplocale(__cloc); }
++} // namespace std
++
++namespace __gnu_cxx
++{
++  const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
++    {
++      "LC_CTYPE",
++      "LC_NUMERIC",
++      "LC_TIME",
++      "LC_COLLATE",
++      "LC_MONETARY",
++      "LC_MESSAGES",
++#if _GLIBCXX_NUM_CATEGORIES != 0
++      "LC_PAPER",
++      "LC_NAME",
++      "LC_ADDRESS",
++      "LC_TELEPHONE",
++      "LC_MEASUREMENT",
++      "LC_IDENTIFICATION"
++#endif
++    };
++}
++
++namespace std
++{
++  const char* const* const locale::_S_categories = __gnu_cxx::category_names;
++}  // namespace std
+diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
+new file mode 100644
+index 0000000..da07c1f
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
+@@ -0,0 +1,117 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8  Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifndef _C_LOCALE_H
++#define _C_LOCALE_H 1
++
++#pragma GCC system_header
++
++#include <cstring>              // get std::strlen
++#include <cstdio>               // get std::snprintf or std::sprintf
++#include <clocale>
++#include <langinfo.h>		// For codecvt
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC_HAS_LOCALE__
++#include <iconv.h>		// For codecvt using iconv, iconv_t
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#include <libintl.h> 		// For messages
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning what is _GLIBCXX_C_LOCALE_GNU for
++#endif
++#define _GLIBCXX_C_LOCALE_GNU 1
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix categories
++#endif
++// #define _GLIBCXX_NUM_CATEGORIES 6
++#define _GLIBCXX_NUM_CATEGORIES 0
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++namespace __gnu_cxx
++{
++  extern "C" __typeof(uselocale) __uselocale;
++}
++#endif
++
++namespace std
++{
++#ifdef __UCLIBC_HAS_XLOCALE__
++  typedef __locale_t		__c_locale;
++#else
++  typedef int*			__c_locale;
++#endif
++
++  // Convert numeric value of type _Tv to string and return length of
++  // string.  If snprintf is available use it, otherwise fall back to
++  // the unsafe sprintf which, in general, can be dangerous and should
++  // be avoided.
++  template<typename _Tv>
++    int
++    __convert_from_v(char* __out,
++		     const int __size __attribute__ ((__unused__)),
++		     const char* __fmt,
++#ifdef __UCLIBC_HAS_XCLOCALE__
++		     _Tv __v, const __c_locale& __cloc, int __prec)
++    {
++      __c_locale __old = __gnu_cxx::__uselocale(__cloc);
++#else
++		     _Tv __v, const __c_locale&, int __prec)
++    {
++# ifdef __UCLIBC_HAS_LOCALE__
++      char* __old = std::setlocale(LC_ALL, NULL);
++      char* __sav = new char[std::strlen(__old) + 1];
++      std::strcpy(__sav, __old);
++      std::setlocale(LC_ALL, "C");
++# endif
++#endif
++
++      const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++
++#ifdef __UCLIBC_HAS_XCLOCALE__
++      __gnu_cxx::__uselocale(__old);
++#elif defined __UCLIBC_HAS_LOCALE__
++      std::setlocale(LC_ALL, __sav);
++      delete [] __sav;
++#endif
++      return __ret;
++    }
++}
++
++#endif
+diff --git a/libstdc++-v3/config/locale/uclibc/codecvt_members.cc b/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+new file mode 100644
+index 0000000..64aa962
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+@@ -0,0 +1,308 @@
++// std::codecvt implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 - Template class codecvt
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <cstdlib>  // For MB_CUR_MAX
++#include <climits>  // For MB_LEN_MAX
++#include <bits/c++locale_internal.h>
++
++namespace std
++{
++  // Specializations.
++#ifdef _GLIBCXX_USE_WCHAR_T
++  codecvt_base::result
++  codecvt<wchar_t, char, mbstate_t>::
++  do_out(state_type& __state, const intern_type* __from,
++	 const intern_type* __from_end, const intern_type*& __from_next,
++	 extern_type* __to, extern_type* __to_end,
++	 extern_type*& __to_next) const
++  {
++    result __ret = ok;
++    state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++    // wcsnrtombs is *very* fast but stops if encounters NUL characters:
++    // in case we fall back to wcrtomb and then continue, in a loop.
++    // NB: wcsnrtombs is a GNU extension
++    for (__from_next = __from, __to_next = __to;
++	 __from_next < __from_end && __to_next < __to_end
++	 && __ret == ok;)
++      {
++	const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
++						      __from_end - __from_next);
++	if (!__from_chunk_end)
++	  __from_chunk_end = __from_end;
++
++	__from = __from_next;
++	const size_t __conv = wcsnrtombs(__to_next, &__from_next,
++					 __from_chunk_end - __from_next,
++					 __to_end - __to_next, &__state);
++	if (__conv == static_cast<size_t>(-1))
++	  {
++	    // In case of error, in order to stop at the exact place we
++	    // have to start again from the beginning with a series of
++	    // wcrtomb.
++	    for (; __from < __from_next; ++__from)
++	      __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
++	    __state = __tmp_state;
++	    __ret = error;
++	  }
++	else if (__from_next && __from_next < __from_chunk_end)
++	  {
++	    __to_next += __conv;
++	    __ret = partial;
++	  }
++	else
++	  {
++	    __from_next = __from_chunk_end;
++	    __to_next += __conv;
++	  }
++
++	if (__from_next < __from_end && __ret == ok)
++	  {
++	    extern_type __buf[MB_LEN_MAX];
++	    __tmp_state = __state;
++	    const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
++	    if (__conv > static_cast<size_t>(__to_end - __to_next))
++	      __ret = partial;
++	    else
++	      {
++		memcpy(__to_next, __buf, __conv);
++		__state = __tmp_state;
++		__to_next += __conv;
++		++__from_next;
++	      }
++	  }
++      }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++
++    return __ret;
++  }
++
++  codecvt_base::result
++  codecvt<wchar_t, char, mbstate_t>::
++  do_in(state_type& __state, const extern_type* __from,
++	const extern_type* __from_end, const extern_type*& __from_next,
++	intern_type* __to, intern_type* __to_end,
++	intern_type*& __to_next) const
++  {
++    result __ret = ok;
++    state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++    // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++    // in case we store a L'\0' and then continue, in a loop.
++    // NB: mbsnrtowcs is a GNU extension
++    for (__from_next = __from, __to_next = __to;
++	 __from_next < __from_end && __to_next < __to_end
++	 && __ret == ok;)
++      {
++	const extern_type* __from_chunk_end;
++	__from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
++								  __from_end
++								  - __from_next));
++	if (!__from_chunk_end)
++	  __from_chunk_end = __from_end;
++
++	__from = __from_next;
++	size_t __conv = mbsnrtowcs(__to_next, &__from_next,
++				   __from_chunk_end - __from_next,
++				   __to_end - __to_next, &__state);
++	if (__conv == static_cast<size_t>(-1))
++	  {
++	    // In case of error, in order to stop at the exact place we
++	    // have to start again from the beginning with a series of
++	    // mbrtowc.
++	    for (;; ++__to_next, __from += __conv)
++	      {
++		__conv = mbrtowc(__to_next, __from, __from_end - __from,
++				 &__tmp_state);
++		if (__conv == static_cast<size_t>(-1)
++		    || __conv == static_cast<size_t>(-2))
++		  break;
++	      }
++	    __from_next = __from;
++	    __state = __tmp_state;
++	    __ret = error;
++	  }
++	else if (__from_next && __from_next < __from_chunk_end)
++	  {
++	    // It is unclear what to return in this case (see DR 382).
++	    __to_next += __conv;
++	    __ret = partial;
++	  }
++	else
++	  {
++	    __from_next = __from_chunk_end;
++	    __to_next += __conv;
++	  }
++
++	if (__from_next < __from_end && __ret == ok)
++	  {
++	    if (__to_next < __to_end)
++	      {
++		// XXX Probably wrong for stateful encodings
++		__tmp_state = __state;
++		++__from_next;
++		*__to_next++ = L'\0';
++	      }
++	    else
++	      __ret = partial;
++	  }
++      }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++
++    return __ret;
++  }
++
++  int
++  codecvt<wchar_t, char, mbstate_t>::
++  do_encoding() const throw()
++  {
++    // XXX This implementation assumes that the encoding is
++    // stateless and is either single-byte or variable-width.
++    int __ret = 0;
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++    if (MB_CUR_MAX == 1)
++      __ret = 1;
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++    return __ret;
++  }
++
++  int
++  codecvt<wchar_t, char, mbstate_t>::
++  do_max_length() const throw()
++  {
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++    // XXX Probably wrong for stateful encodings.
++    int __ret = MB_CUR_MAX;
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++    return __ret;
++  }
++
++  int
++  codecvt<wchar_t, char, mbstate_t>::
++  do_length(state_type& __state, const extern_type* __from,
++	    const extern_type* __end, size_t __max) const
++  {
++    int __ret = 0;
++    state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++    // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++    // in case we advance past it and then continue, in a loop.
++    // NB: mbsnrtowcs is a GNU extension
++
++    // A dummy internal buffer is needed in order for mbsnrtocws to consider
++    // its fourth parameter (it wouldn't with NULL as first parameter).
++    wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
++							   * __max));
++    while (__from < __end && __max)
++      {
++	const extern_type* __from_chunk_end;
++	__from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
++								  __end
++								  - __from));
++	if (!__from_chunk_end)
++	  __from_chunk_end = __end;
++
++	const extern_type* __tmp_from = __from;
++	size_t __conv = mbsnrtowcs(__to, &__from,
++				   __from_chunk_end - __from,
++				   __max, &__state);
++	if (__conv == static_cast<size_t>(-1))
++	  {
++	    // In case of error, in order to stop at the exact place we
++	    // have to start again from the beginning with a series of
++	    // mbrtowc.
++	    for (__from = __tmp_from;; __from += __conv)
++	      {
++		__conv = mbrtowc(NULL, __from, __end - __from,
++				 &__tmp_state);
++		if (__conv == static_cast<size_t>(-1)
++		    || __conv == static_cast<size_t>(-2))
++		  break;
++	      }
++	    __state = __tmp_state;
++	    __ret += __from - __tmp_from;
++	    break;
++	  }
++	if (!__from)
++	  __from = __from_chunk_end;
++
++	__ret += __from - __tmp_from;
++	__max -= __conv;
++
++	if (__from < __end && __max)
++	  {
++	    // XXX Probably wrong for stateful encodings
++	    __tmp_state = __state;
++	    ++__from;
++	    ++__ret;
++	    --__max;
++	  }
++      }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++
++    return __ret;
++  }
++#endif
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/collate_members.cc b/libstdc++-v3/config/locale/uclibc/collate_members.cc
+new file mode 100644
+index 0000000..c2664a7
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/collate_members.cc
+@@ -0,0 +1,80 @@
++// std::collate implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.4.1.2  collate virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
++#define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
++#define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
++#define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
++#endif
++
++namespace std
++{
++  // These are basically extensions to char_traits, and perhaps should
++  // be put there instead of here.
++  template<>
++    int
++    collate<char>::_M_compare(const char* __one, const char* __two) const
++    {
++      int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
++      return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++    }
++
++  template<>
++    size_t
++    collate<char>::_M_transform(char* __to, const char* __from,
++				size_t __n) const
++    { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++  template<>
++    int
++    collate<wchar_t>::_M_compare(const wchar_t* __one,
++				 const wchar_t* __two) const
++    {
++      int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
++      return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++    }
++
++  template<>
++    size_t
++    collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
++				   size_t __n) const
++    { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++#endif
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+new file mode 100644
+index 0000000..7294e3a
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+@@ -0,0 +1,300 @@
++// std::ctype implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.1.2  ctype virtual functions.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __wctype_l(S, L)           wctype((S))
++#define __towupper_l(C, L)         towupper((C))
++#define __towlower_l(C, L)         towlower((C))
++#define __iswctype_l(C, M, L)      iswctype((C), (M))
++#endif
++
++namespace std
++{
++  // NB: The other ctype<char> specializations are in src/locale.cc and
++  // various /config/os/* files.
++  template<>
++    ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
++    : ctype<char>(0, false, __refs)
++    {
++      if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++	{
++	  this->_S_destroy_c_locale(this->_M_c_locale_ctype);
++	  this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
++#ifdef __UCLIBC_HAS_XLOCALE__
++	  this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
++	  this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
++	  this->_M_table = this->_M_c_locale_ctype->__ctype_b;
++#endif
++	}
++    }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++  ctype<wchar_t>::__wmask_type
++  ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
++  {
++    __wmask_type __ret;
++    switch (__m)
++      {
++      case space:
++	__ret = __wctype_l("space", _M_c_locale_ctype);
++	break;
++      case print:
++	__ret = __wctype_l("print", _M_c_locale_ctype);
++	break;
++      case cntrl:
++	__ret = __wctype_l("cntrl", _M_c_locale_ctype);
++	break;
++      case upper:
++	__ret = __wctype_l("upper", _M_c_locale_ctype);
++	break;
++      case lower:
++	__ret = __wctype_l("lower", _M_c_locale_ctype);
++	break;
++      case alpha:
++	__ret = __wctype_l("alpha", _M_c_locale_ctype);
++	break;
++      case digit:
++	__ret = __wctype_l("digit", _M_c_locale_ctype);
++	break;
++      case punct:
++	__ret = __wctype_l("punct", _M_c_locale_ctype);
++	break;
++      case xdigit:
++	__ret = __wctype_l("xdigit", _M_c_locale_ctype);
++	break;
++      case alnum:
++	__ret = __wctype_l("alnum", _M_c_locale_ctype);
++	break;
++      case graph:
++	__ret = __wctype_l("graph", _M_c_locale_ctype);
++	break;
++      default:
++	__ret = __wmask_type();
++      }
++    return __ret;
++  }
++
++  wchar_t
++  ctype<wchar_t>::do_toupper(wchar_t __c) const
++  { return __towupper_l(__c, _M_c_locale_ctype); }
++
++  const wchar_t*
++  ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
++  {
++    while (__lo < __hi)
++      {
++        *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
++        ++__lo;
++      }
++    return __hi;
++  }
++
++  wchar_t
++  ctype<wchar_t>::do_tolower(wchar_t __c) const
++  { return __towlower_l(__c, _M_c_locale_ctype); }
++
++  const wchar_t*
++  ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
++  {
++    while (__lo < __hi)
++      {
++        *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
++        ++__lo;
++      }
++    return __hi;
++  }
++
++  bool
++  ctype<wchar_t>::
++  do_is(mask __m, wchar_t __c) const
++  {
++    // Highest bitmask in ctype_base == 10, but extra in "C"
++    // library for blank.
++    bool __ret = false;
++    const size_t __bitmasksize = 11;
++    for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++      if (__m & _M_bit[__bitcur]
++	  && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++	{
++	  __ret = true;
++	  break;
++	}
++    return __ret;
++  }
++
++  const wchar_t*
++  ctype<wchar_t>::
++  do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
++  {
++    for (; __lo < __hi; ++__vec, ++__lo)
++      {
++	// Highest bitmask in ctype_base == 10, but extra in "C"
++	// library for blank.
++	const size_t __bitmasksize = 11;
++	mask __m = 0;
++	for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++	  if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
++	    __m |= _M_bit[__bitcur];
++	*__vec = __m;
++      }
++    return __hi;
++  }
++
++  const wchar_t*
++  ctype<wchar_t>::
++  do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
++  {
++    while (__lo < __hi && !this->do_is(__m, *__lo))
++      ++__lo;
++    return __lo;
++  }
++
++  const wchar_t*
++  ctype<wchar_t>::
++  do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
++  {
++    while (__lo < __hi && this->do_is(__m, *__lo) != 0)
++      ++__lo;
++    return __lo;
++  }
++
++  wchar_t
++  ctype<wchar_t>::
++  do_widen(char __c) const
++  { return _M_widen[static_cast<unsigned char>(__c)]; }
++
++  const char*
++  ctype<wchar_t>::
++  do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
++  {
++    while (__lo < __hi)
++      {
++	*__dest = _M_widen[static_cast<unsigned char>(*__lo)];
++	++__lo;
++	++__dest;
++      }
++    return __hi;
++  }
++
++  char
++  ctype<wchar_t>::
++  do_narrow(wchar_t __wc, char __dfault) const
++  {
++    if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
++      return _M_narrow[__wc];
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++    const int __c = wctob(__wc);
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++    return (__c == EOF ? __dfault : static_cast<char>(__c));
++  }
++
++  const wchar_t*
++  ctype<wchar_t>::
++  do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
++	    char* __dest) const
++  {
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++    if (_M_narrow_ok)
++      while (__lo < __hi)
++	{
++	  if (*__lo >= 0 && *__lo < 128)
++	    *__dest = _M_narrow[*__lo];
++	  else
++	    {
++	      const int __c = wctob(*__lo);
++	      *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++	    }
++	  ++__lo;
++	  ++__dest;
++	}
++    else
++      while (__lo < __hi)
++	{
++	  const int __c = wctob(*__lo);
++	  *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++	  ++__lo;
++	  ++__dest;
++	}
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++    return __hi;
++  }
++
++  void
++  ctype<wchar_t>::_M_initialize_ctype()
++  {
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++    wint_t __i;
++    for (__i = 0; __i < 128; ++__i)
++      {
++	const int __c = wctob(__i);
++	if (__c == EOF)
++	  break;
++	else
++	  _M_narrow[__i] = static_cast<char>(__c);
++      }
++    if (__i == 128)
++      _M_narrow_ok = true;
++    else
++      _M_narrow_ok = false;
++    for (size_t __j = 0;
++	 __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
++      _M_widen[__j] = btowc(__j);
++
++    for (size_t __k = 0; __k <= 11; ++__k)
++      {
++	_M_bit[__k] = static_cast<mask>(_ISbit(__k));
++	_M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
++      }
++#ifdef __UCLIBC_HAS_XLOCALE__
++    __uselocale(__old);
++#endif
++  }
++#endif //  _GLIBCXX_USE_WCHAR_T
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.cc b/libstdc++-v3/config/locale/uclibc/messages_members.cc
+new file mode 100644
+index 0000000..13594d9
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.cc
+@@ -0,0 +1,100 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2  messages virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix gettext stuff
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__dcgettext(const char *domainname,
++			     const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#else
++#undef gettext
++#define gettext(msgid) (msgid)
++#endif
++
++namespace std
++{
++  // Specializations.
++  template<>
++    string
++    messages<char>::do_get(catalog, int, int, const string& __dfault) const
++    {
++#ifdef __UCLIBC_HAS_XLOCALE__
++      __c_locale __old = __uselocale(_M_c_locale_messages);
++      const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
++      __uselocale(__old);
++      return string(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++      char* __old = strdup(setlocale(LC_ALL, NULL));
++      setlocale(LC_ALL, _M_name_messages);
++      const char* __msg = gettext(__dfault.c_str());
++      setlocale(LC_ALL, __old);
++      free(__old);
++      return string(__msg);
++#else
++      const char* __msg = gettext(__dfault.c_str());
++      return string(__msg);
++#endif
++    }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++  template<>
++    wstring
++    messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
++    {
++# ifdef __UCLIBC_HAS_XLOCALE__
++      __c_locale __old = __uselocale(_M_c_locale_messages);
++      char* __msg = gettext(_M_convert_to_char(__dfault));
++      __uselocale(__old);
++      return _M_convert_from_char(__msg);
++# elif defined __UCLIBC_HAS_LOCALE__
++      char* __old = strdup(setlocale(LC_ALL, NULL));
++      setlocale(LC_ALL, _M_name_messages);
++      char* __msg = gettext(_M_convert_to_char(__dfault));
++      setlocale(LC_ALL, __old);
++      free(__old);
++      return _M_convert_from_char(__msg);
++# else
++      char* __msg = gettext(_M_convert_to_char(__dfault));
++      return _M_convert_from_char(__msg);
++# endif
++    }
++#endif
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
+new file mode 100644
+index 0000000..1424078
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
+@@ -0,0 +1,118 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2  messages functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix prototypes for *textdomain funcs
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++				  const char *dirname);
++#else
++#undef __textdomain
++#undef __bindtextdomain
++#define __textdomain(D)           ((void)0)
++#define __bindtextdomain(D,P)     ((void)0)
++#endif
++
++  // Non-virtual member functions.
++  template<typename _CharT>
++     messages<_CharT>::messages(size_t __refs)
++     : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
++     _M_name_messages(_S_get_c_name())
++     { }
++
++  template<typename _CharT>
++     messages<_CharT>::messages(__c_locale __cloc, const char* __s,
++				size_t __refs)
++     : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
++     _M_name_messages(__s)
++     {
++       char* __tmp = new char[std::strlen(__s) + 1];
++       std::strcpy(__tmp, __s);
++       _M_name_messages = __tmp;
++     }
++
++  template<typename _CharT>
++    typename messages<_CharT>::catalog
++    messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
++			   const char* __dir) const
++    {
++      __bindtextdomain(__s.c_str(), __dir);
++      return this->do_open(__s, __loc);
++    }
++
++  // Virtual member functions.
++  template<typename _CharT>
++    messages<_CharT>::~messages()
++    {
++      if (_M_name_messages != _S_get_c_name())
++	delete [] _M_name_messages;
++      _S_destroy_c_locale(_M_c_locale_messages);
++    }
++
++  template<typename _CharT>
++    typename messages<_CharT>::catalog
++    messages<_CharT>::do_open(const basic_string<char>& __s,
++			      const locale&) const
++    {
++      // No error checking is done, assume the catalog exists and can
++      // be used.
++      __textdomain(__s.c_str());
++      return 0;
++    }
++
++  template<typename _CharT>
++    void
++    messages<_CharT>::do_close(catalog) const
++    { }
++
++   // messages_byname
++   template<typename _CharT>
++     messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
++     : messages<_CharT>(__refs)
++     {
++       if (this->_M_name_messages != locale::facet::_S_get_c_name())
++	 delete [] this->_M_name_messages;
++       char* __tmp = new char[std::strlen(__s) + 1];
++       std::strcpy(__tmp, __s);
++       this->_M_name_messages = __tmp;
++
++       if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++	 {
++	   this->_S_destroy_c_locale(this->_M_c_locale_messages);
++	   this->_S_create_c_locale(this->_M_c_locale_messages, __s);
++	 }
++     }
+diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+new file mode 100644
+index 0000000..aa52731
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+@@ -0,0 +1,692 @@
++// std::moneypunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.6.3.2  moneypunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning optimize this for uclibc
++#warning tailor for stub locale support
++#endif
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L)         nl_langinfo((N))
++#endif
++
++namespace std
++{
++  // Construct and return valid pattern consisting of some combination of:
++  // space none symbol sign value
++  money_base::pattern
++  money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
++  {
++    pattern __ret;
++
++    // This insanely complicated routine attempts to construct a valid
++    // pattern for use with monyepunct. A couple of invariants:
++
++    // if (__precedes) symbol -> value
++    // else value -> symbol
++
++    // if (__space) space
++    // else none
++
++    // none == never first
++    // space never first or last
++
++    // Any elegant implementations of this are welcome.
++    switch (__posn)
++      {
++      case 0:
++      case 1:
++	// 1 The sign precedes the value and symbol.
++	__ret.field[0] = sign;
++	if (__space)
++	  {
++	    // Pattern starts with sign.
++	    if (__precedes)
++	      {
++		__ret.field[1] = symbol;
++		__ret.field[3] = value;
++	      }
++	    else
++	      {
++		__ret.field[1] = value;
++		__ret.field[3] = symbol;
++	      }
++	    __ret.field[2] = space;
++	  }
++	else
++	  {
++	    // Pattern starts with sign and ends with none.
++	    if (__precedes)
++	      {
++		__ret.field[1] = symbol;
++		__ret.field[2] = value;
++	      }
++	    else
++	      {
++		__ret.field[1] = value;
++		__ret.field[2] = symbol;
++	      }
++	    __ret.field[3] = none;
++	  }
++	break;
++      case 2:
++	// 2 The sign follows the value and symbol.
++	if (__space)
++	  {
++	    // Pattern either ends with sign.
++	    if (__precedes)
++	      {
++		__ret.field[0] = symbol;
++		__ret.field[2] = value;
++	      }
++	    else
++	      {
++		__ret.field[0] = value;
++		__ret.field[2] = symbol;
++	      }
++	    __ret.field[1] = space;
++	    __ret.field[3] = sign;
++	  }
++	else
++	  {
++	    // Pattern ends with sign then none.
++	    if (__precedes)
++	      {
++		__ret.field[0] = symbol;
++		__ret.field[1] = value;
++	      }
++	    else
++	      {
++		__ret.field[0] = value;
++		__ret.field[1] = symbol;
++	      }
++	    __ret.field[2] = sign;
++	    __ret.field[3] = none;
++	  }
++	break;
++      case 3:
++	// 3 The sign immediately precedes the symbol.
++	if (__precedes)
++	  {
++	    __ret.field[0] = sign;
++	    __ret.field[1] = symbol;
++	    if (__space)
++	      {
++		__ret.field[2] = space;
++		__ret.field[3] = value;
++	      }
++	    else
++	      {
++		__ret.field[2] = value;
++		__ret.field[3] = none;
++	      }
++	  }
++	else
++	  {
++	    __ret.field[0] = value;
++	    if (__space)
++	      {
++		__ret.field[1] = space;
++		__ret.field[2] = sign;
++		__ret.field[3] = symbol;
++	      }
++	    else
++	      {
++		__ret.field[1] = sign;
++		__ret.field[2] = symbol;
++		__ret.field[3] = none;
++	      }
++	  }
++	break;
++      case 4:
++	// 4 The sign immediately follows the symbol.
++	if (__precedes)
++	  {
++	    __ret.field[0] = symbol;
++	    __ret.field[1] = sign;
++	    if (__space)
++	      {
++		__ret.field[2] = space;
++		__ret.field[3] = value;
++	      }
++	    else
++	      {
++		__ret.field[2] = value;
++		__ret.field[3] = none;
++	      }
++	  }
++	else
++	  {
++	    __ret.field[0] = value;
++	    if (__space)
++	      {
++		__ret.field[1] = space;
++		__ret.field[2] = symbol;
++		__ret.field[3] = sign;
++	      }
++	    else
++	      {
++		__ret.field[1] = symbol;
++		__ret.field[2] = sign;
++		__ret.field[3] = none;
++	      }
++	  }
++	break;
++      default:
++	;
++      }
++    return __ret;
++  }
++
++  template<>
++    void
++    moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
++						     const char*)
++    {
++      if (!_M_data)
++	_M_data = new __moneypunct_cache<char, true>;
++
++      if (!__cloc)
++	{
++	  // "C" locale
++	  _M_data->_M_decimal_point = '.';
++	  _M_data->_M_thousands_sep = ',';
++	  _M_data->_M_grouping = "";
++	  _M_data->_M_grouping_size = 0;
++	  _M_data->_M_curr_symbol = "";
++	  _M_data->_M_curr_symbol_size = 0;
++	  _M_data->_M_positive_sign = "";
++	  _M_data->_M_positive_sign_size = 0;
++	  _M_data->_M_negative_sign = "";
++	  _M_data->_M_negative_sign_size = 0;
++	  _M_data->_M_frac_digits = 0;
++	  _M_data->_M_pos_format = money_base::_S_default_pattern;
++	  _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++	  for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++	    _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++	}
++      else
++	{
++	  // Named locale.
++	  _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++							__cloc));
++	  _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++							__cloc));
++	  _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++	  _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++	  _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++	  _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++	  char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++	  if (!__nposn)
++	    _M_data->_M_negative_sign = "()";
++	  else
++	    _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++							__cloc);
++	  _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++	  // _Intl == true
++	  _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++	  _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++	  _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++						      __cloc));
++	  char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++	  char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++	  char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++	  _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++							__pposn);
++	  char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++	  char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++	  _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++							__nposn);
++	}
++    }
++
++  template<>
++    void
++    moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
++						      const char*)
++    {
++      if (!_M_data)
++	_M_data = new __moneypunct_cache<char, false>;
++
++      if (!__cloc)
++	{
++	  // "C" locale
++	  _M_data->_M_decimal_point = '.';
++	  _M_data->_M_thousands_sep = ',';
++	  _M_data->_M_grouping = "";
++	  _M_data->_M_grouping_size = 0;
++	  _M_data->_M_curr_symbol = "";
++	  _M_data->_M_curr_symbol_size = 0;
++	  _M_data->_M_positive_sign = "";
++	  _M_data->_M_positive_sign_size = 0;
++	  _M_data->_M_negative_sign = "";
++	  _M_data->_M_negative_sign_size = 0;
++	  _M_data->_M_frac_digits = 0;
++	  _M_data->_M_pos_format = money_base::_S_default_pattern;
++	  _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++	  for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++	    _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++	}
++      else
++	{
++	  // Named locale.
++	  _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++							__cloc));
++	  _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++							__cloc));
++	  _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++	  _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++	  _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++	  _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++	  char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++	  if (!__nposn)
++	    _M_data->_M_negative_sign = "()";
++	  else
++	    _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++							__cloc);
++	  _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++	  // _Intl == false
++	  _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++	  _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++	  _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++	  char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++	  char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++	  char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++	  _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++							__pposn);
++	  char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++	  char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++	  _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++							__nposn);
++	}
++    }
++
++  template<>
++    moneypunct<char, true>::~moneypunct()
++    { delete _M_data; }
++
++  template<>
++    moneypunct<char, false>::~moneypunct()
++    { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++  template<>
++    void
++    moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++							const char*)
++#else
++							const char* __name)
++#endif
++    {
++      if (!_M_data)
++	_M_data = new __moneypunct_cache<wchar_t, true>;
++
++      if (!__cloc)
++	{
++	  // "C" locale
++	  _M_data->_M_decimal_point = L'.';
++	  _M_data->_M_thousands_sep = L',';
++	  _M_data->_M_grouping = "";
++	  _M_data->_M_grouping_size = 0;
++	  _M_data->_M_curr_symbol = L"";
++	  _M_data->_M_curr_symbol_size = 0;
++	  _M_data->_M_positive_sign = L"";
++	  _M_data->_M_positive_sign_size = 0;
++	  _M_data->_M_negative_sign = L"";
++	  _M_data->_M_negative_sign_size = 0;
++	  _M_data->_M_frac_digits = 0;
++	  _M_data->_M_pos_format = money_base::_S_default_pattern;
++	  _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++	  // Use ctype::widen code without the facet...
++	  for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++	    _M_data->_M_atoms[__i] =
++	      static_cast<wchar_t>(money_base::_S_atoms[__i]);
++	}
++      else
++	{
++	  // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++	  __c_locale __old = __uselocale(__cloc);
++#else
++	  // Switch to named locale so that mbsrtowcs will work.
++	  char* __old = strdup(setlocale(LC_ALL, NULL));
++	  setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++	  union { char *__s; wchar_t __w; } __u;
++	  __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++	  _M_data->_M_decimal_point = __u.__w;
++
++	  __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++	  _M_data->_M_thousands_sep = __u.__w;
++#endif
++	  _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++	  _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++	  const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++	  const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++	  const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++
++	  wchar_t* __wcs_ps = 0;
++	  wchar_t* __wcs_ns = 0;
++	  const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++	  try
++	    {
++	      mbstate_t __state;
++	      size_t __len = strlen(__cpossign);
++	      if (__len)
++		{
++		  ++__len;
++		  memset(&__state, 0, sizeof(mbstate_t));
++		  __wcs_ps = new wchar_t[__len];
++		  mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++		  _M_data->_M_positive_sign = __wcs_ps;
++		}
++	      else
++		_M_data->_M_positive_sign = L"";
++	      _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++	      __len = strlen(__cnegsign);
++	      if (!__nposn)
++		_M_data->_M_negative_sign = L"()";
++	      else if (__len)
++		{
++		  ++__len;
++		  memset(&__state, 0, sizeof(mbstate_t));
++		  __wcs_ns = new wchar_t[__len];
++		  mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++		  _M_data->_M_negative_sign = __wcs_ns;
++		}
++	      else
++		_M_data->_M_negative_sign = L"";
++	      _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++	      // _Intl == true.
++	      __len = strlen(__ccurr);
++	      if (__len)
++		{
++		  ++__len;
++		  memset(&__state, 0, sizeof(mbstate_t));
++		  wchar_t* __wcs = new wchar_t[__len];
++		  mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++		  _M_data->_M_curr_symbol = __wcs;
++		}
++	      else
++		_M_data->_M_curr_symbol = L"";
++	      _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++	    }
++	  catch (...)
++	    {
++	      delete _M_data;
++	      _M_data = 0;
++	      delete __wcs_ps;
++	      delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++	      __uselocale(__old);
++#else
++	      setlocale(LC_ALL, __old);
++	      free(__old);
++#endif
++	      __throw_exception_again;
++	    }
++
++	  _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++						      __cloc));
++	  char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++	  char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++	  char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++	  _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++							__pposn);
++	  char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++	  char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++	  _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++							__nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++	  __uselocale(__old);
++#else
++	  setlocale(LC_ALL, __old);
++	  free(__old);
++#endif
++	}
++    }
++
++  template<>
++  void
++  moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++						       const char*)
++#else
++                                                       const char* __name)
++#endif
++  {
++    if (!_M_data)
++      _M_data = new __moneypunct_cache<wchar_t, false>;
++
++    if (!__cloc)
++	{
++	  // "C" locale
++	  _M_data->_M_decimal_point = L'.';
++	  _M_data->_M_thousands_sep = L',';
++	  _M_data->_M_grouping = "";
++          _M_data->_M_grouping_size = 0;
++	  _M_data->_M_curr_symbol = L"";
++	  _M_data->_M_curr_symbol_size = 0;
++	  _M_data->_M_positive_sign = L"";
++	  _M_data->_M_positive_sign_size = 0;
++	  _M_data->_M_negative_sign = L"";
++	  _M_data->_M_negative_sign_size = 0;
++	  _M_data->_M_frac_digits = 0;
++	  _M_data->_M_pos_format = money_base::_S_default_pattern;
++	  _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++	  // Use ctype::widen code without the facet...
++	  for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++	    _M_data->_M_atoms[__i] =
++	      static_cast<wchar_t>(money_base::_S_atoms[__i]);
++	}
++      else
++	{
++	  // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++	  __c_locale __old = __uselocale(__cloc);
++#else
++	  // Switch to named locale so that mbsrtowcs will work.
++	  char* __old = strdup(setlocale(LC_ALL, NULL));
++	  setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++          union { char *__s; wchar_t __w; } __u;
++	  __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++	  _M_data->_M_decimal_point = __u.__w;
++
++	  __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++	  _M_data->_M_thousands_sep = __u.__w;
++#endif
++	  _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++          _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++	  const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++	  const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++	  const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++
++	  wchar_t* __wcs_ps = 0;
++	  wchar_t* __wcs_ns = 0;
++	  const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++	  try
++            {
++              mbstate_t __state;
++              size_t __len;
++              __len = strlen(__cpossign);
++              if (__len)
++                {
++		  ++__len;
++		  memset(&__state, 0, sizeof(mbstate_t));
++		  __wcs_ps = new wchar_t[__len];
++		  mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++		  _M_data->_M_positive_sign = __wcs_ps;
++		}
++	      else
++		_M_data->_M_positive_sign = L"";
++              _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++	      __len = strlen(__cnegsign);
++	      if (!__nposn)
++		_M_data->_M_negative_sign = L"()";
++	      else if (__len)
++		{
++		  ++__len;
++		  memset(&__state, 0, sizeof(mbstate_t));
++		  __wcs_ns = new wchar_t[__len];
++		  mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++		  _M_data->_M_negative_sign = __wcs_ns;
++		}
++	      else
++		_M_data->_M_negative_sign = L"";
++              _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++	      // _Intl == true.
++	      __len = strlen(__ccurr);
++	      if (__len)
++		{
++		  ++__len;
++		  memset(&__state, 0, sizeof(mbstate_t));
++		  wchar_t* __wcs = new wchar_t[__len];
++		  mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++		  _M_data->_M_curr_symbol = __wcs;
++		}
++	      else
++		_M_data->_M_curr_symbol = L"";
++              _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++	    }
++          catch (...)
++	    {
++	      delete _M_data;
++              _M_data = 0;
++	      delete __wcs_ps;
++	      delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++	      __uselocale(__old);
++#else
++	      setlocale(LC_ALL, __old);
++	      free(__old);
++#endif
++              __throw_exception_again;
++	    }
++
++	  _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++	  char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++	  char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++	  char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++	  _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++	                                                __pposn);
++	  char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++	  char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++	  _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++	                                                __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++	  __uselocale(__old);
++#else
++	  setlocale(LC_ALL, __old);
++	  free(__old);
++#endif
++	}
++    }
++
++  template<>
++    moneypunct<wchar_t, true>::~moneypunct()
++    {
++      if (_M_data->_M_positive_sign_size)
++	delete [] _M_data->_M_positive_sign;
++      if (_M_data->_M_negative_sign_size
++          && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++	delete [] _M_data->_M_negative_sign;
++      if (_M_data->_M_curr_symbol_size)
++	delete [] _M_data->_M_curr_symbol;
++      delete _M_data;
++    }
++
++  template<>
++    moneypunct<wchar_t, false>::~moneypunct()
++    {
++      if (_M_data->_M_positive_sign_size)
++	delete [] _M_data->_M_positive_sign;
++      if (_M_data->_M_negative_sign_size
++          && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++	delete [] _M_data->_M_negative_sign;
++      if (_M_data->_M_curr_symbol_size)
++	delete [] _M_data->_M_curr_symbol;
++      delete _M_data;
++    }
++#endif
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+new file mode 100644
+index 0000000..883ec1a
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+@@ -0,0 +1,160 @@
++// std::numpunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.3.1.2  numpunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L)         nl_langinfo((N))
++#endif
++
++namespace std
++{
++  template<>
++    void
++    numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
++    {
++      if (!_M_data)
++	_M_data = new __numpunct_cache<char>;
++
++      if (!__cloc)
++	{
++	  // "C" locale
++	  _M_data->_M_grouping = "";
++	  _M_data->_M_grouping_size = 0;
++	  _M_data->_M_use_grouping = false;
++
++	  _M_data->_M_decimal_point = '.';
++	  _M_data->_M_thousands_sep = ',';
++
++	  for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++	    _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
++
++	  for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++	    _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
++	}
++      else
++	{
++	  // Named locale.
++	  _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
++							__cloc));
++	  _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
++							__cloc));
++
++	  // Check for NULL, which implies no grouping.
++	  if (_M_data->_M_thousands_sep == '\0')
++	    _M_data->_M_grouping = "";
++	  else
++	    _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++	  _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++	}
++
++      // NB: There is no way to extact this info from posix locales.
++      // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++      _M_data->_M_truename = "true";
++      _M_data->_M_truename_size = 4;
++      // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++      _M_data->_M_falsename = "false";
++      _M_data->_M_falsename_size = 5;
++    }
++
++  template<>
++    numpunct<char>::~numpunct()
++    { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++  template<>
++    void
++    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
++    {
++      if (!_M_data)
++	_M_data = new __numpunct_cache<wchar_t>;
++
++      if (!__cloc)
++	{
++	  // "C" locale
++	  _M_data->_M_grouping = "";
++	  _M_data->_M_grouping_size = 0;
++	  _M_data->_M_use_grouping = false;
++
++	  _M_data->_M_decimal_point = L'.';
++	  _M_data->_M_thousands_sep = L',';
++
++	  // Use ctype::widen code without the facet...
++	  for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++	    _M_data->_M_atoms_out[__i] =
++	      static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
++
++	  for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++	    _M_data->_M_atoms_in[__j] =
++	      static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
++	}
++      else
++	{
++	  // Named locale.
++	  // NB: In the GNU model wchar_t is always 32 bit wide.
++	  union { char *__s; wchar_t __w; } __u;
++	  __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
++	  _M_data->_M_decimal_point = __u.__w;
++
++	  __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
++	  _M_data->_M_thousands_sep = __u.__w;
++
++	  if (_M_data->_M_thousands_sep == L'\0')
++	    _M_data->_M_grouping = "";
++	  else
++	    _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++	  _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++	}
++
++      // NB: There is no way to extact this info from posix locales.
++      // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++      _M_data->_M_truename = L"true";
++      _M_data->_M_truename_size = 4;
++      // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++      _M_data->_M_falsename = L"false";
++      _M_data->_M_falsename_size = 5;
++    }
++
++  template<>
++    numpunct<wchar_t>::~numpunct()
++    { delete _M_data; }
++ #endif
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
+new file mode 100644
+index 0000000..e0707d7
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
+@@ -0,0 +1,406 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L)         nl_langinfo((N))
++#endif
++
++namespace std
++{
++  template<>
++    void
++    __timepunct<char>::
++    _M_put(char* __s, size_t __maxlen, const char* __format,
++	   const tm* __tm) const
++    {
++#ifdef __UCLIBC_HAS_XLOCALE__
++      const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
++					_M_c_locale_timepunct);
++#else
++      char* __old = strdup(setlocale(LC_ALL, NULL));
++      setlocale(LC_ALL, _M_name_timepunct);
++      const size_t __len = strftime(__s, __maxlen, __format, __tm);
++      setlocale(LC_ALL, __old);
++      free(__old);
++#endif
++      // Make sure __s is null terminated.
++      if (__len == 0)
++	__s[0] = '\0';
++    }
++
++  template<>
++    void
++    __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
++    {
++      if (!_M_data)
++	_M_data = new __timepunct_cache<char>;
++
++      if (!__cloc)
++	{
++	  // "C" locale
++	  _M_c_locale_timepunct = _S_get_c_locale();
++
++	  _M_data->_M_date_format = "%m/%d/%y";
++	  _M_data->_M_date_era_format = "%m/%d/%y";
++	  _M_data->_M_time_format = "%H:%M:%S";
++	  _M_data->_M_time_era_format = "%H:%M:%S";
++	  _M_data->_M_date_time_format = "";
++	  _M_data->_M_date_time_era_format = "";
++	  _M_data->_M_am = "AM";
++	  _M_data->_M_pm = "PM";
++	  _M_data->_M_am_pm_format = "";
++
++	  // Day names, starting with "C"'s Sunday.
++	  _M_data->_M_day1 = "Sunday";
++	  _M_data->_M_day2 = "Monday";
++	  _M_data->_M_day3 = "Tuesday";
++	  _M_data->_M_day4 = "Wednesday";
++	  _M_data->_M_day5 = "Thursday";
++	  _M_data->_M_day6 = "Friday";
++	  _M_data->_M_day7 = "Saturday";
++
++	  // Abbreviated day names, starting with "C"'s Sun.
++	  _M_data->_M_aday1 = "Sun";
++	  _M_data->_M_aday2 = "Mon";
++	  _M_data->_M_aday3 = "Tue";
++	  _M_data->_M_aday4 = "Wed";
++	  _M_data->_M_aday5 = "Thu";
++	  _M_data->_M_aday6 = "Fri";
++	  _M_data->_M_aday7 = "Sat";
++
++	  // Month names, starting with "C"'s January.
++	  _M_data->_M_month01 = "January";
++	  _M_data->_M_month02 = "February";
++	  _M_data->_M_month03 = "March";
++	  _M_data->_M_month04 = "April";
++	  _M_data->_M_month05 = "May";
++	  _M_data->_M_month06 = "June";
++	  _M_data->_M_month07 = "July";
++	  _M_data->_M_month08 = "August";
++	  _M_data->_M_month09 = "September";
++	  _M_data->_M_month10 = "October";
++	  _M_data->_M_month11 = "November";
++	  _M_data->_M_month12 = "December";
++
++	  // Abbreviated month names, starting with "C"'s Jan.
++	  _M_data->_M_amonth01 = "Jan";
++	  _M_data->_M_amonth02 = "Feb";
++	  _M_data->_M_amonth03 = "Mar";
++	  _M_data->_M_amonth04 = "Apr";
++	  _M_data->_M_amonth05 = "May";
++	  _M_data->_M_amonth06 = "Jun";
++	  _M_data->_M_amonth07 = "Jul";
++	  _M_data->_M_amonth08 = "Aug";
++	  _M_data->_M_amonth09 = "Sep";
++	  _M_data->_M_amonth10 = "Oct";
++	  _M_data->_M_amonth11 = "Nov";
++	  _M_data->_M_amonth12 = "Dec";
++	}
++      else
++	{
++	  _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++	  _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
++	  _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
++	  _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
++	  _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
++	  _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
++	  _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
++							     __cloc);
++	  _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
++	  _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
++	  _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
++
++	  // Day names, starting with "C"'s Sunday.
++	  _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
++	  _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
++	  _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
++	  _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
++	  _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
++	  _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
++	  _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
++
++	  // Abbreviated day names, starting with "C"'s Sun.
++	  _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
++	  _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
++	  _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
++	  _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
++	  _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
++	  _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
++	  _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
++
++	  // Month names, starting with "C"'s January.
++	  _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
++	  _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
++	  _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
++	  _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
++	  _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
++	  _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
++	  _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
++	  _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
++	  _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
++	  _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
++	  _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
++	  _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
++
++	  // Abbreviated month names, starting with "C"'s Jan.
++	  _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
++	  _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
++	  _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
++	  _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
++	  _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
++	  _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
++	  _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
++	  _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
++	  _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
++	  _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
++	  _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
++	  _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
++	}
++    }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++  template<>
++    void
++    __timepunct<wchar_t>::
++    _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
++	   const tm* __tm) const
++    {
++#ifdef __UCLIBC_HAS_XLOCALE__
++      __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++      const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
++					_M_c_locale_timepunct);
++#else
++      char* __old = strdup(setlocale(LC_ALL, NULL));
++      setlocale(LC_ALL, _M_name_timepunct);
++      const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
++      setlocale(LC_ALL, __old);
++      free(__old);
++#endif
++      // Make sure __s is null terminated.
++      if (__len == 0)
++	__s[0] = L'\0';
++    }
++
++  template<>
++    void
++    __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
++    {
++      if (!_M_data)
++	_M_data = new __timepunct_cache<wchar_t>;
++
++#warning wide time stuff
++//       if (!__cloc)
++	{
++	  // "C" locale
++	  _M_c_locale_timepunct = _S_get_c_locale();
++
++	  _M_data->_M_date_format = L"%m/%d/%y";
++	  _M_data->_M_date_era_format = L"%m/%d/%y";
++	  _M_data->_M_time_format = L"%H:%M:%S";
++	  _M_data->_M_time_era_format = L"%H:%M:%S";
++	  _M_data->_M_date_time_format = L"";
++	  _M_data->_M_date_time_era_format = L"";
++	  _M_data->_M_am = L"AM";
++	  _M_data->_M_pm = L"PM";
++	  _M_data->_M_am_pm_format = L"";
++
++	  // Day names, starting with "C"'s Sunday.
++	  _M_data->_M_day1 = L"Sunday";
++	  _M_data->_M_day2 = L"Monday";
++	  _M_data->_M_day3 = L"Tuesday";
++	  _M_data->_M_day4 = L"Wednesday";
++	  _M_data->_M_day5 = L"Thursday";
++	  _M_data->_M_day6 = L"Friday";
++	  _M_data->_M_day7 = L"Saturday";
++
++	  // Abbreviated day names, starting with "C"'s Sun.
++	  _M_data->_M_aday1 = L"Sun";
++	  _M_data->_M_aday2 = L"Mon";
++	  _M_data->_M_aday3 = L"Tue";
++	  _M_data->_M_aday4 = L"Wed";
++	  _M_data->_M_aday5 = L"Thu";
++	  _M_data->_M_aday6 = L"Fri";
++	  _M_data->_M_aday7 = L"Sat";
++
++	  // Month names, starting with "C"'s January.
++	  _M_data->_M_month01 = L"January";
++	  _M_data->_M_month02 = L"February";
++	  _M_data->_M_month03 = L"March";
++	  _M_data->_M_month04 = L"April";
++	  _M_data->_M_month05 = L"May";
++	  _M_data->_M_month06 = L"June";
++	  _M_data->_M_month07 = L"July";
++	  _M_data->_M_month08 = L"August";
++	  _M_data->_M_month09 = L"September";
++	  _M_data->_M_month10 = L"October";
++	  _M_data->_M_month11 = L"November";
++	  _M_data->_M_month12 = L"December";
++
++	  // Abbreviated month names, starting with "C"'s Jan.
++	  _M_data->_M_amonth01 = L"Jan";
++	  _M_data->_M_amonth02 = L"Feb";
++	  _M_data->_M_amonth03 = L"Mar";
++	  _M_data->_M_amonth04 = L"Apr";
++	  _M_data->_M_amonth05 = L"May";
++	  _M_data->_M_amonth06 = L"Jun";
++	  _M_data->_M_amonth07 = L"Jul";
++	  _M_data->_M_amonth08 = L"Aug";
++	  _M_data->_M_amonth09 = L"Sep";
++	  _M_data->_M_amonth10 = L"Oct";
++	  _M_data->_M_amonth11 = L"Nov";
++	  _M_data->_M_amonth12 = L"Dec";
++	}
++#if 0
++      else
++	{
++	  _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++	  union { char *__s; wchar_t *__w; } __u;
++
++	  __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
++	  _M_data->_M_date_format = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
++	  _M_data->_M_date_era_format = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
++	  _M_data->_M_time_format = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
++	  _M_data->_M_time_era_format = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
++	  _M_data->_M_date_time_format = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
++	  _M_data->_M_date_time_era_format = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
++	  _M_data->_M_am = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
++	  _M_data->_M_pm = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
++	  _M_data->_M_am_pm_format = __u.__w;
++
++	  // Day names, starting with "C"'s Sunday.
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
++	  _M_data->_M_day1 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
++	  _M_data->_M_day2 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
++	  _M_data->_M_day3 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
++	  _M_data->_M_day4 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
++	  _M_data->_M_day5 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
++	  _M_data->_M_day6 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
++	  _M_data->_M_day7 = __u.__w;
++
++	  // Abbreviated day names, starting with "C"'s Sun.
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
++	  _M_data->_M_aday1 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
++	  _M_data->_M_aday2 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
++	  _M_data->_M_aday3 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
++	  _M_data->_M_aday4 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
++	  _M_data->_M_aday5 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
++	  _M_data->_M_aday6 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
++	  _M_data->_M_aday7 = __u.__w;
++
++	  // Month names, starting with "C"'s January.
++	  __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
++	  _M_data->_M_month01 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
++	  _M_data->_M_month02 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
++	  _M_data->_M_month03 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
++	  _M_data->_M_month04 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
++	  _M_data->_M_month05 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
++	  _M_data->_M_month06 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
++	  _M_data->_M_month07 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
++	  _M_data->_M_month08 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
++	  _M_data->_M_month09 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
++	  _M_data->_M_month10 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
++	  _M_data->_M_month11 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
++	  _M_data->_M_month12 = __u.__w;
++
++	  // Abbreviated month names, starting with "C"'s Jan.
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
++	  _M_data->_M_amonth01 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
++	  _M_data->_M_amonth02 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
++	  _M_data->_M_amonth03 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
++	  _M_data->_M_amonth04 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
++	  _M_data->_M_amonth05 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
++	  _M_data->_M_amonth06 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
++	  _M_data->_M_amonth07 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
++	  _M_data->_M_amonth08 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
++	  _M_data->_M_amonth09 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
++	  _M_data->_M_amonth10 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
++	  _M_data->_M_amonth11 = __u.__w;
++	  __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
++	  _M_data->_M_amonth12 = __u.__w;
++	}
++#endif // 0
++    }
++#endif
++}
+diff --git a/libstdc++-v3/config/locale/uclibc/time_members.h b/libstdc++-v3/config/locale/uclibc/time_members.h
+new file mode 100644
+index 0000000..ba8e858
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/time_members.h
+@@ -0,0 +1,68 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction.  Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License.  This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++  template<typename _CharT>
++    __timepunct<_CharT>::__timepunct(size_t __refs)
++    : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++    _M_name_timepunct(_S_get_c_name())
++    { _M_initialize_timepunct(); }
++
++  template<typename _CharT>
++    __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
++    : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
++    _M_name_timepunct(_S_get_c_name())
++    { _M_initialize_timepunct(); }
++
++  template<typename _CharT>
++    __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
++				     size_t __refs)
++    : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++    _M_name_timepunct(__s)
++    {
++      char* __tmp = new char[std::strlen(__s) + 1];
++      std::strcpy(__tmp, __s);
++      _M_name_timepunct = __tmp;
++      _M_initialize_timepunct(__cloc);
++    }
++
++  template<typename _CharT>
++    __timepunct<_CharT>::~__timepunct()
++    {
++      if (_M_name_timepunct != _S_get_c_name())
++	delete [] _M_name_timepunct;
++      delete _M_data;
++      _S_destroy_c_locale(_M_c_locale_timepunct);
++    }
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 41797a9..8a5481c 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -15830,6 +15830,9 @@ fi
+   # Default to "generic".
+   if test $enable_clocale_flag = auto; then
+     case ${target_os} in
++      *-uclibc*)
++        enable_clocale_flag=uclibc
++        ;;
+       linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
+ 	enable_clocale_flag=gnu
+ 	;;
+@@ -16108,6 +16111,78 @@ $as_echo "newlib" >&6; }
+       CTIME_CC=config/locale/generic/time_members.cc
+       CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+       ;;
++    uclibc)
++      { $as_echo "$as_me:${as_lineno-$LINENO}: result: uclibc" >&5
++$as_echo "uclibc" >&6; }
++
++      # Declare intention to use gettext, and add support for specific
++      # languages.
++      # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++      ALL_LINGUAS="de fr"
++
++      # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++      # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if test "${ac_cv_prog_check_msgfmt+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$check_msgfmt"; then
++  ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_check_msgfmt="yes"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++  test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
++fi
++fi
++check_msgfmt=$ac_cv_prog_check_msgfmt
++if test -n "$check_msgfmt"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $check_msgfmt" >&5
++$as_echo "$check_msgfmt" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++      if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++        USE_NLS=yes
++      fi
++      # Export the build objects.
++      for ling in $ALL_LINGUAS; do \
++        glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++        glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++      done
++
++
++
++      CLOCALE_H=config/locale/uclibc/c_locale.h
++      CLOCALE_CC=config/locale/uclibc/c_locale.cc
++      CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++      CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++      CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++      CMESSAGES_H=config/locale/uclibc/messages_members.h
++      CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++      CMONEY_CC=config/locale/uclibc/monetary_members.cc
++      CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++      CTIME_H=config/locale/uclibc/time_members.h
++      CTIME_CC=config/locale/uclibc/time_members.cc
++      CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++      ;;
+   esac
+ 
+   # This is where the testsuite looks for locale catalogs, using the
+diff --git a/libstdc++-v3/include/c_compatibility/wchar.h b/libstdc++-v3/include/c_compatibility/wchar.h
+index 55a0b52..7d8bb15 100644
+--- a/libstdc++-v3/include/c_compatibility/wchar.h
++++ b/libstdc++-v3/include/c_compatibility/wchar.h
+@@ -101,7 +101,9 @@ using std::wmemcmp;
+ using std::wmemcpy;
+ using std::wmemmove;
+ using std::wmemset;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using std::wcsftime;
++#endif
+ 
+ #if _GLIBCXX_USE_C99_WCHAR
+ using std::wcstold;
+diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar
+index dc4cef02..256d126 100644
+--- a/libstdc++-v3/include/c_std/cwchar
++++ b/libstdc++-v3/include/c_std/cwchar
+@@ -175,7 +175,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+   using ::wcscoll;
+   using ::wcscpy;
+   using ::wcscspn;
++#if _GLIBCXX_HAVE_WCSFTIME
+   using ::wcsftime;
++#endif
+   using ::wcslen;
+   using ::wcsncat;
+   using ::wcsncmp;
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch b/meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
new file mode 100644
index 0000000..3275016
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
@@ -0,0 +1,257 @@
+From c01c14e8e9be382ecd4121ee70f5003b4cb0f904 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:42:36 +0400
+Subject: [PATCH 05/46] uclibc-locale-no__x
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ .../config/locale/uclibc/c++locale_internal.h      | 45 ++++++++++++++++++++++
+ libstdc++-v3/config/locale/uclibc/c_locale.cc      | 14 -------
+ libstdc++-v3/config/locale/uclibc/c_locale.h       |  1 +
+ .../config/locale/uclibc/collate_members.cc        |  7 ----
+ libstdc++-v3/config/locale/uclibc/ctype_members.cc |  7 ----
+ .../config/locale/uclibc/messages_members.cc       |  7 +---
+ .../config/locale/uclibc/messages_members.h        | 18 ++++-----
+ .../config/locale/uclibc/monetary_members.cc       |  4 --
+ .../config/locale/uclibc/numeric_members.cc        |  3 --
+ libstdc++-v3/config/locale/uclibc/time_members.cc  |  3 --
+ 10 files changed, 55 insertions(+), 54 deletions(-)
+
+diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+index 2ae3e4a..e74fddf 100644
+--- a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
++++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+@@ -60,4 +60,49 @@ extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
+ extern "C" __typeof(wctype_l) __wctype_l;
+ #endif
+ 
++# define __nl_langinfo_l nl_langinfo_l
++# define __strcoll_l strcoll_l
++# define __strftime_l strftime_l
++# define __strtod_l strtod_l
++# define __strtof_l strtof_l
++# define __strtold_l strtold_l
++# define __strxfrm_l strxfrm_l
++# define __newlocale newlocale
++# define __freelocale freelocale
++# define __duplocale duplocale
++# define __uselocale uselocale
++
++# ifdef _GLIBCXX_USE_WCHAR_T
++#  define __iswctype_l iswctype_l
++#  define __towlower_l towlower_l
++#  define __towupper_l towupper_l
++#  define __wcscoll_l wcscoll_l
++#  define __wcsftime_l wcsftime_l
++#  define __wcsxfrm_l wcsxfrm_l
++#  define __wctype_l wctype_l
++# endif
++
++#else
++# define __nl_langinfo_l(N, L)       nl_langinfo((N))
++# define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
++# define __strtod_l(S, E, L)         strtod((S), (E))
++# define __strtof_l(S, E, L)         strtof((S), (E))
++# define __strtold_l(S, E, L)        strtold((S), (E))
++# define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
++# warning should dummy __newlocale check for C|POSIX ?
++# define __newlocale(a, b, c)        NULL
++# define __freelocale(a)             ((void)0)
++# define __duplocale(a)              __c_locale()
++//# define __uselocale ?
++//
++# ifdef _GLIBCXX_USE_WCHAR_T
++#  define __iswctype_l(C, M, L)       iswctype((C), (M))
++#  define __towlower_l(C, L)          towlower((C))
++#  define __towupper_l(C, L)          towupper((C))
++#  define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
++//#  define __wcsftime_l(S, M, F, T, L)  wcsftime((S), (M), (F), (T))
++#  define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
++#  define __wctype_l(S, L)            wctype((S))
++# endif
++
+ #endif // GLIBC 2.3 and later
+diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
+index 5081dc1..21430d0 100644
+--- a/libstdc++-v3/config/locale/uclibc/c_locale.cc
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
+@@ -39,20 +39,6 @@
+ #include <langinfo.h>
+ #include <bits/c++locale_internal.h>
+ 
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __strtol_l(S, E, B, L)      strtol((S), (E), (B))
+-#define __strtoul_l(S, E, B, L)     strtoul((S), (E), (B))
+-#define __strtoll_l(S, E, B, L)     strtoll((S), (E), (B))
+-#define __strtoull_l(S, E, B, L)    strtoull((S), (E), (B))
+-#define __strtof_l(S, E, L)         strtof((S), (E))
+-#define __strtod_l(S, E, L)         strtod((S), (E))
+-#define __strtold_l(S, E, L)        strtold((S), (E))
+-#warning should dummy __newlocale check for C|POSIX ?
+-#define __newlocale(a, b, c)        NULL
+-#define __freelocale(a)             ((void)0)
+-#define __duplocale(a)              __c_locale()
+-#endif
+-
+ namespace std
+ {
+   template<>
+diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
+index da07c1f..4bca5f1 100644
+--- a/libstdc++-v3/config/locale/uclibc/c_locale.h
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
+@@ -68,6 +68,7 @@ namespace __gnu_cxx
+ {
+   extern "C" __typeof(uselocale) __uselocale;
+ }
++#define __uselocale uselocale
+ #endif
+ 
+ namespace std
+diff --git a/libstdc++-v3/config/locale/uclibc/collate_members.cc b/libstdc++-v3/config/locale/uclibc/collate_members.cc
+index c2664a7..ec5c329 100644
+--- a/libstdc++-v3/config/locale/uclibc/collate_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/collate_members.cc
+@@ -36,13 +36,6 @@
+ #include <locale>
+ #include <bits/c++locale_internal.h>
+ 
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
+-#define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
+-#define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
+-#define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
+-#endif
+-
+ namespace std
+ {
+   // These are basically extensions to char_traits, and perhaps should
+diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+index 7294e3a..7b12861 100644
+--- a/libstdc++-v3/config/locale/uclibc/ctype_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+@@ -38,13 +38,6 @@
+ #undef _LIBC
+ #include <bits/c++locale_internal.h>
+ 
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __wctype_l(S, L)           wctype((S))
+-#define __towupper_l(C, L)         towupper((C))
+-#define __towlower_l(C, L)         towlower((C))
+-#define __iswctype_l(C, M, L)      iswctype((C), (M))
+-#endif
+-
+ namespace std
+ {
+   // NB: The other ctype<char> specializations are in src/locale.cc and
+diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.cc b/libstdc++-v3/config/locale/uclibc/messages_members.cc
+index 13594d9..d7693b4 100644
+--- a/libstdc++-v3/config/locale/uclibc/messages_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.cc
+@@ -39,13 +39,10 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix gettext stuff
+ #endif
+-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+-extern "C" char *__dcgettext(const char *domainname,
+-			     const char *msgid, int category);
+ #undef gettext
+-#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
+ #else
+-#undef gettext
+ #define gettext(msgid) (msgid)
+ #endif
+ 
+diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
+index 1424078..d89da33 100644
+--- a/libstdc++-v3/config/locale/uclibc/messages_members.h
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
+@@ -36,15 +36,11 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix prototypes for *textdomain funcs
+ #endif
+-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+-extern "C" char *__textdomain(const char *domainname);
+-extern "C" char *__bindtextdomain(const char *domainname,
+-				  const char *dirname);
+-#else
+-#undef __textdomain
+-#undef __bindtextdomain
+-#define __textdomain(D)           ((void)0)
+-#define __bindtextdomain(D,P)     ((void)0)
++#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#undef textdomain
++#undef bindtextdomain
++#define textdomain(D)           ((void)0)
++#define bindtextdomain(D,P)     ((void)0)
+ #endif
+ 
+   // Non-virtual member functions.
+@@ -70,7 +66,7 @@ extern "C" char *__bindtextdomain(const char *domainname,
+     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
+ 			   const char* __dir) const
+     {
+-      __bindtextdomain(__s.c_str(), __dir);
++      bindtextdomain(__s.c_str(), __dir);
+       return this->do_open(__s, __loc);
+     }
+ 
+@@ -90,7 +86,7 @@ extern "C" char *__bindtextdomain(const char *domainname,
+     {
+       // No error checking is done, assume the catalog exists and can
+       // be used.
+-      __textdomain(__s.c_str());
++      textdomain(__s.c_str());
+       return 0;
+     }
+ 
+diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+index aa52731..2e6f80a 100644
+--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+@@ -43,10 +43,6 @@
+ #warning tailor for stub locale support
+ #endif
+ 
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __nl_langinfo_l(N, L)         nl_langinfo((N))
+-#endif
+-
+ namespace std
+ {
+   // Construct and return valid pattern consisting of some combination of:
+diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+index 883ec1a..2c70642 100644
+--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+@@ -41,9 +41,6 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning tailor for stub locale support
+ #endif
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __nl_langinfo_l(N, L)         nl_langinfo((N))
+-#endif
+ 
+ namespace std
+ {
+diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
+index e0707d7..d848ed5 100644
+--- a/libstdc++-v3/config/locale/uclibc/time_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
+@@ -40,9 +40,6 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning tailor for stub locale support
+ #endif
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __nl_langinfo_l(N, L)         nl_langinfo((N))
+-#endif
+ 
+ namespace std
+ {
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch b/meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
new file mode 100644
index 0000000..e45a482
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
@@ -0,0 +1,68 @@
+From e7a4760fb40008cae33e6fc7dc4cfef6c2fd5f93 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:45:57 +0400
+Subject: [PATCH 06/46] uclibc-locale-wchar_fix
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ libstdc++-v3/config/locale/uclibc/monetary_members.cc |  4 ++--
+ libstdc++-v3/config/locale/uclibc/numeric_members.cc  | 13 +++++++++++++
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+index 2e6f80a..31ebb9f 100644
+--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+@@ -401,7 +401,7 @@ namespace std
+ # ifdef __UCLIBC_HAS_XLOCALE__
+ 	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
+ 	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
+-# else
++# elif defined __UCLIBC_HAS_LOCALE__
+ 	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
+ 	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
+ # endif
+@@ -556,7 +556,7 @@ namespace std
+ # ifdef __UCLIBC_HAS_XLOCALE__
+ 	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
+ 	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
+-# else
++# elif defined __UCLIBC_HAS_LOCALE__
+ 	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
+ 	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
+ # endif
+diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+index 2c70642..d5c8961 100644
+--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+@@ -127,12 +127,25 @@ namespace std
+ 	{
+ 	  // Named locale.
+ 	  // NB: In the GNU model wchar_t is always 32 bit wide.
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be numeric
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++	  _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++	  _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# elif defined __UCLIBC_HAS_LOCALE__
++	  _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++	  _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
+ 	  union { char *__s; wchar_t __w; } __u;
+ 	  __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
+ 	  _M_data->_M_decimal_point = __u.__w;
+ 
+ 	  __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
+ 	  _M_data->_M_thousands_sep = __u.__w;
++#endif
+ 
+ 	  if (_M_data->_M_thousands_sep == L'\0')
+ 	    _M_data->_M_grouping = "";
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch b/meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
new file mode 100644
index 0000000..b73e591
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
@@ -0,0 +1,542 @@
+From 8d53a38a3038104e6830ecea5e4beadce54457c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:46:58 +0400
+Subject: [PATCH 07/46] uclibc-locale-update
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ .../config/locale/uclibc/c++locale_internal.h      |  3 +
+ libstdc++-v3/config/locale/uclibc/c_locale.cc      | 74 ++++++++++------------
+ libstdc++-v3/config/locale/uclibc/c_locale.h       | 42 ++++++------
+ libstdc++-v3/config/locale/uclibc/ctype_members.cc | 51 +++++++++++----
+ .../config/locale/uclibc/messages_members.h        | 12 ++--
+ .../config/locale/uclibc/monetary_members.cc       | 34 ++++++----
+ .../config/locale/uclibc/numeric_members.cc        |  5 ++
+ libstdc++-v3/config/locale/uclibc/time_members.cc  | 18 ++++--
+ libstdc++-v3/config/locale/uclibc/time_members.h   | 17 +++--
+ 9 files changed, 158 insertions(+), 98 deletions(-)
+
+diff --git a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+index e74fddf..971a6b4 100644
+--- a/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
++++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+@@ -31,6 +31,9 @@
+ 
+ #include <bits/c++config.h>
+ #include <clocale>
++#include <cstdlib>
++#include <cstring>
++#include <cstddef>
+ 
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning clean this up
+diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.cc b/libstdc++-v3/config/locale/uclibc/c_locale.cc
+index 21430d0..1b9d8e1 100644
+--- a/libstdc++-v3/config/locale/uclibc/c_locale.cc
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
+@@ -39,23 +39,20 @@
+ #include <langinfo.h>
+ #include <bits/c++locale_internal.h>
+ 
+-namespace std
+-{
++_GLIBCXX_BEGIN_NAMESPACE(std)
++
+   template<>
+     void
+     __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
+ 		   const __c_locale& __cloc)
+     {
+-      if (!(__err & ios_base::failbit))
+-	{
+-	  char* __sanity;
+-	  errno = 0;
+-	  float __f = __strtof_l(__s, &__sanity, __cloc);
+-          if (__sanity != __s && errno != ERANGE)
+-	    __v = __f;
+-	  else
+-	    __err |= ios_base::failbit;
+-	}
++      char* __sanity;
++      errno = 0;
++      float __f = __strtof_l(__s, &__sanity, __cloc);
++      if (__sanity != __s && errno != ERANGE)
++	__v = __f;
++      else
++	__err |= ios_base::failbit;
+     }
+ 
+   template<>
+@@ -63,16 +60,13 @@ namespace std
+     __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
+ 		   const __c_locale& __cloc)
+     {
+-      if (!(__err & ios_base::failbit))
+-	{
+-	  char* __sanity;
+-	  errno = 0;
+-	  double __d = __strtod_l(__s, &__sanity, __cloc);
+-          if (__sanity != __s && errno != ERANGE)
+-	    __v = __d;
+-	  else
+-	    __err |= ios_base::failbit;
+-	}
++      char* __sanity;
++      errno = 0;
++      double __d = __strtod_l(__s, &__sanity, __cloc);
++      if (__sanity != __s && errno != ERANGE)
++	__v = __d;
++      else
++	__err |= ios_base::failbit;
+     }
+ 
+   template<>
+@@ -80,16 +74,13 @@ namespace std
+     __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
+ 		   const __c_locale& __cloc)
+     {
+-      if (!(__err & ios_base::failbit))
+-	{
+-	  char* __sanity;
+-	  errno = 0;
+-	  long double __ld = __strtold_l(__s, &__sanity, __cloc);
+-          if (__sanity != __s && errno != ERANGE)
+-	    __v = __ld;
+-	  else
+-	    __err |= ios_base::failbit;
+-	}
++      char* __sanity;
++      errno = 0;
++      long double __ld = __strtold_l(__s, &__sanity, __cloc);
++      if (__sanity != __s && errno != ERANGE)
++	__v = __ld;
++      else
++	__err |= ios_base::failbit;
+     }
+ 
+   void
+@@ -110,17 +101,18 @@ namespace std
+   void
+   locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
+   {
+-    if (_S_get_c_locale() != __cloc)
++    if (__cloc && _S_get_c_locale() != __cloc)
+       __freelocale(__cloc);
+   }
+ 
+   __c_locale
+   locale::facet::_S_clone_c_locale(__c_locale& __cloc)
+   { return __duplocale(__cloc); }
+-} // namespace std
+ 
+-namespace __gnu_cxx
+-{
++_GLIBCXX_END_NAMESPACE
++
++_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
++
+   const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
+     {
+       "LC_CTYPE",
+@@ -138,9 +130,11 @@ namespace __gnu_cxx
+       "LC_IDENTIFICATION"
+ #endif
+     };
+-}
+ 
+-namespace std
+-{
++_GLIBCXX_END_NAMESPACE
++
++_GLIBCXX_BEGIN_NAMESPACE(std)
++
+   const char* const* const locale::_S_categories = __gnu_cxx::category_names;
+-}  // namespace std
++
++_GLIBCXX_END_NAMESPACE
+diff --git a/libstdc++-v3/config/locale/uclibc/c_locale.h b/libstdc++-v3/config/locale/uclibc/c_locale.h
+index 4bca5f1..64a6d46 100644
+--- a/libstdc++-v3/config/locale/uclibc/c_locale.h
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
+@@ -39,21 +39,23 @@
+ #pragma GCC system_header
+ 
+ #include <cstring>              // get std::strlen
+-#include <cstdio>               // get std::snprintf or std::sprintf
++#include <cstdio>               // get std::vsnprintf or std::vsprintf
+ #include <clocale>
+ #include <langinfo.h>		// For codecvt
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix this
+ #endif
+-#ifdef __UCLIBC_HAS_LOCALE__
++#ifdef _GLIBCXX_USE_ICONV
+ #include <iconv.h>		// For codecvt using iconv, iconv_t
+ #endif
+-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+-#include <libintl.h> 		// For messages
++#ifdef HAVE_LIBINTL_H
++#include <libintl.h>		// For messages
+ #endif
++#include <cstdarg>
+ 
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning what is _GLIBCXX_C_LOCALE_GNU for
++// psm: used in os/gnu-linux/ctype_noninline.h
+ #endif
+ #define _GLIBCXX_C_LOCALE_GNU 1
+ 
+@@ -78,23 +80,25 @@ namespace std
+ #else
+   typedef int*			__c_locale;
+ #endif
+-
+-  // Convert numeric value of type _Tv to string and return length of
+-  // string.  If snprintf is available use it, otherwise fall back to
+-  // the unsafe sprintf which, in general, can be dangerous and should
++  // Convert numeric value of type double to string and return length of
++  // string.  If vsnprintf is available use it, otherwise fall back to
++  // the unsafe vsprintf which, in general, can be dangerous and should
+   // be avoided.
+-  template<typename _Tv>
+-    int
+-    __convert_from_v(char* __out,
+-		     const int __size __attribute__ ((__unused__)),
+-		     const char* __fmt,
+-#ifdef __UCLIBC_HAS_XCLOCALE__
+-		     _Tv __v, const __c_locale& __cloc, int __prec)
++    inline int
++    __convert_from_v(const __c_locale&
++#ifndef __UCLIBC_HAS_XCLOCALE__
++	__cloc __attribute__ ((__unused__))
++#endif
++		     ,
++		     char* __out,
++		     const int __size,
++		     const char* __fmt, ...)
+     {
++      va_list __args;
++#ifdef __UCLIBC_HAS_XCLOCALE__
++
+       __c_locale __old = __gnu_cxx::__uselocale(__cloc);
+ #else
+-		     _Tv __v, const __c_locale&, int __prec)
+-    {
+ # ifdef __UCLIBC_HAS_LOCALE__
+       char* __old = std::setlocale(LC_ALL, NULL);
+       char* __sav = new char[std::strlen(__old) + 1];
+@@ -103,7 +107,9 @@ namespace std
+ # endif
+ #endif
+ 
+-      const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++      va_start(__args, __fmt);
++      const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
++      va_end(__args);
+ 
+ #ifdef __UCLIBC_HAS_XCLOCALE__
+       __gnu_cxx::__uselocale(__old);
+diff --git a/libstdc++-v3/config/locale/uclibc/ctype_members.cc b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+index 7b12861..13e011d 100644
+--- a/libstdc++-v3/config/locale/uclibc/ctype_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+@@ -33,16 +33,20 @@
+ 
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+ 
++#include <features.h>
++#ifdef __UCLIBC_HAS_LOCALE__
+ #define _LIBC
+ #include <locale>
+ #undef _LIBC
++#else
++#include <locale>
++#endif
+ #include <bits/c++locale_internal.h>
+ 
+-namespace std
+-{
++_GLIBCXX_BEGIN_NAMESPACE(std)
++
+   // NB: The other ctype<char> specializations are in src/locale.cc and
+   // various /config/os/* files.
+-  template<>
+     ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
+     : ctype<char>(0, false, __refs)
+     {
+@@ -57,6 +61,8 @@ namespace std
+ #endif
+ 	}
+     }
++    ctype_byname<char>::~ctype_byname()
++    { }
+ 
+ #ifdef _GLIBCXX_USE_WCHAR_T
+   ctype<wchar_t>::__wmask_type
+@@ -138,17 +144,33 @@ namespace std
+   ctype<wchar_t>::
+   do_is(mask __m, wchar_t __c) const
+   {
+-    // Highest bitmask in ctype_base == 10, but extra in "C"
+-    // library for blank.
++    // The case of __m == ctype_base::space is particularly important,
++    // due to its use in many istream functions.  Therefore we deal with
++    // it first, exploiting the knowledge that on GNU systems _M_bit[5]
++    // is the mask corresponding to ctype_base::space.  NB: an encoding
++    // change would not affect correctness!
++
+     bool __ret = false;
+-    const size_t __bitmasksize = 11;
+-    for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
+-      if (__m & _M_bit[__bitcur]
+-	  && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
+-	{
+-	  __ret = true;
+-	  break;
+-	}
++    if (__m == _M_bit[5])
++      __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
++    else
++      {
++	// Highest bitmask in ctype_base == 10, but extra in "C"
++	// library for blank.
++	const size_t __bitmasksize = 11;
++	for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++	  if (__m & _M_bit[__bitcur])
++	    {
++	      if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++		{
++		  __ret = true;
++		  break;
++		}
++	      else if (__m == _M_bit[__bitcur])
++		break;
++	    }
++      }
++
+     return __ret;
+   }
+ 
+@@ -290,4 +312,5 @@ namespace std
+ #endif
+   }
+ #endif //  _GLIBCXX_USE_WCHAR_T
+-}
++
++_GLIBCXX_END_NAMESPACE
+diff --git a/libstdc++-v3/config/locale/uclibc/messages_members.h b/libstdc++-v3/config/locale/uclibc/messages_members.h
+index d89da33..067657a 100644
+--- a/libstdc++-v3/config/locale/uclibc/messages_members.h
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
+@@ -53,12 +53,16 @@
+   template<typename _CharT>
+      messages<_CharT>::messages(__c_locale __cloc, const char* __s,
+ 				size_t __refs)
+-     : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
+-     _M_name_messages(__s)
++     : facet(__refs), _M_c_locale_messages(NULL),
++     _M_name_messages(NULL)
+      {
+-       char* __tmp = new char[std::strlen(__s) + 1];
+-       std::strcpy(__tmp, __s);
++       const size_t __len = std::strlen(__s) + 1;
++       char* __tmp = new char[__len];
++       std::memcpy(__tmp, __s, __len);
+        _M_name_messages = __tmp;
++
++       // Last to avoid leaking memory if new throws.
++       _M_c_locale_messages = _S_clone_c_locale(__cloc);
+      }
+ 
+   template<typename _CharT>
+diff --git a/libstdc++-v3/config/locale/uclibc/monetary_members.cc b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+index 31ebb9f..7679b9c 100644
+--- a/libstdc++-v3/config/locale/uclibc/monetary_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+@@ -33,9 +33,14 @@
+ 
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+ 
++#include <features.h>
++#ifdef __UCLIBC_HAS_LOCALE__
+ #define _LIBC
+ #include <locale>
+ #undef _LIBC
++#else
++#include <locale>
++#endif
+ #include <bits/c++locale_internal.h>
+ 
+ #ifdef __UCLIBC_MJN3_ONLY__
+@@ -206,7 +211,7 @@ namespace std
+ 	  }
+ 	break;
+       default:
+-	;
++	__ret = pattern();
+       }
+     return __ret;
+   }
+@@ -390,7 +395,9 @@ namespace std
+ 	  __c_locale __old = __uselocale(__cloc);
+ #else
+ 	  // Switch to named locale so that mbsrtowcs will work.
+-	  char* __old = strdup(setlocale(LC_ALL, NULL));
++  	  char* __old = setlocale(LC_ALL, NULL);
++          const size_t __llen = strlen(__old) + 1;
++          char* __sav = new char[__llen];
+ 	  setlocale(LC_ALL, __name);
+ #endif
+ 
+@@ -477,8 +484,8 @@ namespace std
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ 	      __uselocale(__old);
+ #else
+-	      setlocale(LC_ALL, __old);
+-	      free(__old);
++	      setlocale(LC_ALL, __sav);
++	      delete [] __sav;
+ #endif
+ 	      __throw_exception_again;
+ 	    }
+@@ -498,8 +505,8 @@ namespace std
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ 	  __uselocale(__old);
+ #else
+-	  setlocale(LC_ALL, __old);
+-	  free(__old);
++	  setlocale(LC_ALL, __sav);
++	  delete [] __sav;
+ #endif
+ 	}
+     }
+@@ -545,8 +552,11 @@ namespace std
+ 	  __c_locale __old = __uselocale(__cloc);
+ #else
+ 	  // Switch to named locale so that mbsrtowcs will work.
+-	  char* __old = strdup(setlocale(LC_ALL, NULL));
+-	  setlocale(LC_ALL, __name);
++          char* __old = setlocale(LC_ALL, NULL);
++          const size_t __llen = strlen(__old) + 1;
++          char* __sav = new char[__llen];
++          memcpy(__sav, __old, __llen);
++          setlocale(LC_ALL, __name);
+ #endif
+ 
+ #ifdef __UCLIBC_MJN3_ONLY__
+@@ -633,8 +643,8 @@ namespace std
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ 	      __uselocale(__old);
+ #else
+-	      setlocale(LC_ALL, __old);
+-	      free(__old);
++	      setlocale(LC_ALL, __sav);
++	      delete [] __sav;
+ #endif
+               __throw_exception_again;
+ 	    }
+@@ -653,8 +663,8 @@ namespace std
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ 	  __uselocale(__old);
+ #else
+-	  setlocale(LC_ALL, __old);
+-	  free(__old);
++	  setlocale(LC_ALL, __sav);
++	  delete [] __sav;
+ #endif
+ 	}
+     }
+diff --git a/libstdc++-v3/config/locale/uclibc/numeric_members.cc b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+index d5c8961..8ae8969 100644
+--- a/libstdc++-v3/config/locale/uclibc/numeric_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+@@ -33,9 +33,14 @@
+ 
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+ 
++#include <features.h>
++#ifdef __UCLIBC_HAS_LOCALE__
+ #define _LIBC
+ #include <locale>
+ #undef _LIBC
++#else
++#include <locale>
++#endif
+ #include <bits/c++locale_internal.h>
+ 
+ #ifdef __UCLIBC_MJN3_ONLY__
+diff --git a/libstdc++-v3/config/locale/uclibc/time_members.cc b/libstdc++-v3/config/locale/uclibc/time_members.cc
+index d848ed5..f24d53e 100644
+--- a/libstdc++-v3/config/locale/uclibc/time_members.cc
++++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
+@@ -53,11 +53,14 @@ namespace std
+       const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
+ 					_M_c_locale_timepunct);
+ #else
+-      char* __old = strdup(setlocale(LC_ALL, NULL));
++      char* __old = setlocale(LC_ALL, NULL);
++      const size_t __llen = strlen(__old) + 1;
++      char* __sav = new char[__llen];
++      memcpy(__sav, __old, __llen);
+       setlocale(LC_ALL, _M_name_timepunct);
+       const size_t __len = strftime(__s, __maxlen, __format, __tm);
+-      setlocale(LC_ALL, __old);
+-      free(__old);
++      setlocale(LC_ALL, __sav);
++      delete [] __sav;
+ #endif
+       // Make sure __s is null terminated.
+       if (__len == 0)
+@@ -207,11 +210,14 @@ namespace std
+       const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
+ 					_M_c_locale_timepunct);
+ #else
+-      char* __old = strdup(setlocale(LC_ALL, NULL));
++      char* __old = setlocale(LC_ALL, NULL);
++      const size_t __llen = strlen(__old) + 1;
++      char* __sav = new char[__llen];
++      memcpy(__sav, __old, __llen);
+       setlocale(LC_ALL, _M_name_timepunct);
+       const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
+-      setlocale(LC_ALL, __old);
+-      free(__old);
++      setlocale(LC_ALL, __sav);
++      delete [] __sav;
+ #endif
+       // Make sure __s is null terminated.
+       if (__len == 0)
+diff --git a/libstdc++-v3/config/locale/uclibc/time_members.h b/libstdc++-v3/config/locale/uclibc/time_members.h
+index ba8e858..1665dde 100644
+--- a/libstdc++-v3/config/locale/uclibc/time_members.h
++++ b/libstdc++-v3/config/locale/uclibc/time_members.h
+@@ -50,12 +50,21 @@
+     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
+ 				     size_t __refs)
+     : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
+-    _M_name_timepunct(__s)
++    _M_name_timepunct(NULL)
+     {
+-      char* __tmp = new char[std::strlen(__s) + 1];
+-      std::strcpy(__tmp, __s);
++      const size_t __len = std::strlen(__s) + 1;
++      char* __tmp = new char[__len];
++      std::memcpy(__tmp, __s, __len);
+       _M_name_timepunct = __tmp;
+-      _M_initialize_timepunct(__cloc);
++
++      try
++	{ _M_initialize_timepunct(__cloc); }
++      catch(...)
++	{
++	  delete [] _M_name_timepunct;
++	  __throw_exception_again;
++	}
++
+     }
+ 
+   template<typename _CharT>
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch b/meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
new file mode 100644
index 0000000..01e7c95
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
@@ -0,0 +1,28 @@
+From 6dde3da24ef4b9b357bca670d8551cab3fdda843 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:48:10 +0400
+Subject: [PATCH 08/46] missing-execinfo_h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ boehm-gc/include/gc.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/boehm-gc/include/gc.h b/boehm-gc/include/gc.h
+index 6b38f2d..fca98ff 100644
+--- a/boehm-gc/include/gc.h
++++ b/boehm-gc/include/gc.h
+@@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_off_page GC_PROTO((size_t lb));
+ #if defined(__linux__) || defined(__GLIBC__)
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+-     && !defined(__ia64__)
++     && !defined(__ia64__) && !defined(__UCLIBC__)
+ #   ifndef GC_HAVE_BUILTIN_BACKTRACE
+ #     define GC_HAVE_BUILTIN_BACKTRACE
+ #   endif
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch b/meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
new file mode 100644
index 0000000..d62341a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
@@ -0,0 +1,28 @@
+From b794f1f1c1c7c06f3f0d78cf76c4fb90c2ab8dfb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:49:03 +0400
+Subject: [PATCH 09/46] c99-snprintf
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ libstdc++-v3/include/c_std/cstdio | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio
+index a4119ba..8396f43 100644
+--- a/libstdc++-v3/include/c_std/cstdio
++++ b/libstdc++-v3/include/c_std/cstdio
+@@ -144,7 +144,7 @@ namespace std
+   using ::vsprintf;
+ } // namespace std
+ 
+-#if _GLIBCXX_USE_C99_STDIO
++#if _GLIBCXX_USE_C99_STDIO || defined(__UCLIBC__)
+ 
+ #undef snprintf
+ #undef vfscanf
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch b/meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
new file mode 100644
index 0000000..ac4cf44
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
@@ -0,0 +1,192 @@
+From d76250323dad69212c958e4857a98d99ab51a39e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:59:00 +0400
+Subject: [PATCH 10/46] gcc: poison-system-directories
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [distribution: codesourcery]
+---
+ gcc/common.opt      |  4 ++++
+ gcc/config.in       |  6 ++++++
+ gcc/configure       | 16 ++++++++++++++++
+ gcc/configure.ac    | 10 ++++++++++
+ gcc/doc/invoke.texi |  9 +++++++++
+ gcc/gcc.c           |  2 ++
+ gcc/incpath.c       | 19 +++++++++++++++++++
+ 7 files changed, 66 insertions(+)
+
+diff --git a/gcc/common.opt b/gcc/common.opt
+index 67048db..733185c 100644
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -659,6 +659,10 @@ Wreturn-local-addr
+ Common Var(warn_return_local_addr) Init(1) Warning
+ Warn about returning a pointer/reference to a local or temporary variable.
+ 
++Wpoison-system-directories
++Common Var(flag_poison_system_directories) Init(1) Warning
++Warn for -I and -L options using system directories if cross compiling
++
+ Wshadow
+ Common Var(warn_shadow) Warning
+ Warn when one local variable shadows another.
+diff --git a/gcc/config.in b/gcc/config.in
+index 115cb61..105b30f 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -187,6 +187,12 @@
+ #endif
+ 
+ 
++/* Define to warn for use of native system header directories */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++#endif
++
++
+ /* Define if you want all operations on RTL (the basic data structure of the
+    optimizer and back end) to be checked for dynamic type safety at runtime.
+    This is quite expensive. */
+diff --git a/gcc/configure b/gcc/configure
+index 1c6e340..8f83152 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -942,6 +942,7 @@ with_system_zlib
+ enable_maintainer_mode
+ enable_link_mutex
+ enable_version_specific_runtime_libs
++enable_poison_system_directories
+ enable_plugin
+ enable_host_shared
+ enable_libquadmath_support
+@@ -1681,6 +1682,8 @@ Optional Features:
+   --enable-version-specific-runtime-libs
+                           specify that runtime libraries should be installed
+                           in a compiler-specific directory
++  --enable-poison-system-directories
++                          warn for use of native system header directories
+   --enable-plugin         enable plugin support
+   --enable-host-shared    build host code as shared libraries
+   --disable-libquadmath-support
+@@ -28908,6 +28911,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+ fi
+ 
+ 
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++  enableval=$enable_poison_system_directories;
++else
++  enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Substitute configuration variables
+ 
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 6c1dcd9..0fccaef 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5861,6 +5861,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+                 [specify that runtime libraries should be
+                  installed in a compiler-specific directory])])
+ 
++AC_ARG_ENABLE([poison-system-directories],
++             AS_HELP_STRING([--enable-poison-system-directories],
++                            [warn for use of native system header directories]),,
++             [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++  AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++           [1],
++           [Define to warn for use of native system header directories])
++fi
++
+ # Substitute configuration variables
+ AC_SUBST(subdirs)
+ AC_SUBST(srcdir)
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 821f8fd..8bb49e7 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -284,6 +284,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wparentheses -Wno-pedantic-ms-format @gol
+ -Wplacement-new -Wplacement-new=@var{n} @gol
+ -Wpointer-arith  -Wno-pointer-to-int-cast @gol
++-Wno-poison-system-directories @gol
+ -Wno-pragmas -Wredundant-decls  -Wno-return-local-addr @gol
+ -Wreturn-type  -Wsequence-point  -Wshadow  -Wno-shadow-ivar @gol
+ -Wshift-overflow -Wshift-overflow=@var{n} @gol
+@@ -4723,6 +4724,14 @@ made up of data only and thus requires no special treatment.  But, for
+ most targets, it is made up of code and thus requires the stack to be
+ made executable in order for the program to work properly.
+ 
++@item -Wno-poison-system-directories
++@opindex Wno-poison-system-directories
++Do not warn for @option{-I} or @option{-L} options using system
++directories such as @file{/usr/include} when cross compiling.  This
++option is intended for use in chroot environments when such
++directories contain the correct headers and libraries for the target
++system rather than the host.
++
+ @item -Wfloat-equal
+ @opindex Wfloat-equal
+ @opindex Wno-float-equal
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 1af5920..4cfef7f 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1017,6 +1017,8 @@ proper position among the other output files.  */
+    "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+    "%X %{o*} %{e*} %{N} %{n} %{r}\
+     %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
++    %{Wno-poison-system-directories:--no-poison-system-directories} \
++    %{Werror=poison-system-directories:--error-poison-system-directories} \
+     %{static:} %{L*} %(mfwrap) %(link_libgcc) " \
+     VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
+     %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index ea40f4a..856da41 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -26,6 +26,7 @@
+ #include "intl.h"
+ #include "incpath.h"
+ #include "cppdefault.h"
++#include "diagnostic-core.h"
+ 
+ /* Microsoft Windows does not natively support inodes.
+    VMS has non-numeric inodes.  */
+@@ -381,6 +382,24 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+ 	}
+       fprintf (stderr, _("End of search list.\n"));
+     }
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++  if (flag_poison_system_directories)
++    {
++       struct cpp_dir *p;
++
++       for (p = heads[QUOTE]; p; p = p->next)
++         {
++          if ((!strncmp (p->name, "/usr/include", 12))
++              || (!strncmp (p->name, "/usr/local/include", 18))
++              || (!strncmp (p->name, "/usr/X11R6/include", 18)))
++            warning (OPT_Wpoison_system_directories,
++                     "include location \"%s\" is unsafe for "
++                     "cross-compilation",
++                     p->name);
++         }
++    }
++#endif
+ }
+ 
+ /* Use given -I paths for #include "..." but not #include <...>, and
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch b/meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
new file mode 100644
index 0000000..a1736ae
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
@@ -0,0 +1,39 @@
+From a1c24b59def393e43cd50b6768604a212c788ed3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:00:34 +0400
+Subject: [PATCH 11/46] gcc-poison-dir-extend
+
+Add /sw/include and /opt/include based on the original
+zecke-no-host-includes.patch patch.  The original patch checked for
+/usr/include, /sw/include and /opt/include and then triggered a failure and
+aborted.
+
+Instead, we add the two missing items to the current scan.  If the user
+wants this to be a failure, they can add "-Werror=poison-system-directories".
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/incpath.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index 856da41..d2fc82c 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -392,7 +392,9 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+          {
+           if ((!strncmp (p->name, "/usr/include", 12))
+               || (!strncmp (p->name, "/usr/local/include", 18))
+-              || (!strncmp (p->name, "/usr/X11R6/include", 18)))
++              || (!strncmp (p->name, "/usr/X11R6/include", 18))
++              || (!strncmp (p->name, "/sw/include", 11))
++              || (!strncmp (p->name, "/opt/include", 12)))
+             warning (OPT_Wpoison_system_directories,
+                      "include location \"%s\" is unsafe for "
+                      "cross-compilation",
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000..939b070
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -0,0 +1,73 @@
+From 00ef5f0f2a8d3b33aeb1e55c0d23439f4dd495af Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:08:31 +0400
+Subject: [PATCH 12/46] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
+
+Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
+
+This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
+
+Other changes I had to do include:
+
+- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
+
+- passing the right CFLAGS to configure scripts as exported environment variables
+
+I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
+
+Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
+
+Signed-off-by: Paolo Bonzini  <bonzini@gnu.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ configure | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/configure b/configure
+index bfadc33..755d382 100755
+--- a/configure
++++ b/configure
+@@ -6819,6 +6819,38 @@ fi
+ 
+ 
+ 
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g".  We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++  CFLAGS_FOR_TARGET=$CFLAGS
++  case " $CFLAGS " in
++    *" -O2 "*) ;;
++    *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++  esac
++  case " $CFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++  esac
++fi
++
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++  CXXFLAGS_FOR_TARGET=$CXXFLAGS
++  case " $CXXFLAGS " in
++    *" -O2 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++  esac
++  case " $CXXFLAGS " in
++    *" -g "* | *" -g3 "*) ;;
++    *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++  esac
++fi
++
++
+ # Handle --with-headers=XXX.  If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch b/meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
new file mode 100644
index 0000000..e31cde4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
@@ -0,0 +1,85 @@
+From 7fc7a070ac53a55950a1eac76f02877d4106b4b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:10:06 +0400
+Subject: [PATCH 13/46] 64-bit multilib hack.
+
+GCC has internal multilib handling code but it assumes a very specific rigid directory
+layout. The build system implementation of multilib layout is very generic and allows
+complete customisation of the library directories.
+
+This patch is a partial solution to allow any custom directories to be passed into gcc
+and handled correctly. It forces gcc to use the base_libdir (which is the current
+directory, "."). We need to do this for each multilib that is configured as we don't
+know which compiler options may be being passed into the compiler. Since we have a compiler
+per mulitlib at this point that isn't an issue.
+
+The one problem is the target compiler is only going to work for the default multlilib at
+this point. Ideally we'd figure out which multilibs were being enabled with which paths
+and be able to patch these entries with a complete set of correct paths but this we
+don't have such code at this point. This is something the target gcc recipe should do
+and override these platform defaults in its build config.
+
+RP 15/8/11
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/config/i386/t-linux64   |  6 ++----
+ gcc/config/mips/t-linux64   | 10 +++-------
+ gcc/config/rs6000/t-linux64 |  5 ++---
+ 3 files changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
+index c0cc8a3..365a5d6 100644
+--- a/gcc/config/i386/t-linux64
++++ b/gcc/config/i386/t-linux64
+@@ -32,7 +32,5 @@
+ #
+ comma=,
+ MULTILIB_OPTIONS    = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+-MULTILIB_DIRNAMES   = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++MULTILIB_DIRNAMES = . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
+index 16c8adf..b932ace 100644
+--- a/gcc/config/mips/t-linux64
++++ b/gcc/config/mips/t-linux64
+@@ -17,10 +17,6 @@
+ # <http://www.gnu.org/licenses/>.
+ 
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+-MULTILIB_DIRNAMES = n32 32 64
+-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+-MULTILIB_OSDIRNAMES = \
+-	../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+-	../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+-	../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++MULTILIB_DIRNAMES = . . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
++
+diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
+index fa7550b..9b5d9ef 100644
+--- a/gcc/config/rs6000/t-linux64
++++ b/gcc/config/rs6000/t-linux64
+@@ -26,10 +26,9 @@
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+ 
+ MULTILIB_OPTIONS    := m64/m32
+-MULTILIB_DIRNAMES   := 64 32
++MULTILIB_DIRNAMES   := . .
+ MULTILIB_EXTRA_OPTS := 
+-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+ 
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ 	$(COMPILE) $<
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch b/meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
new file mode 100644
index 0000000..44b0cc7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
@@ -0,0 +1,125 @@
+From 36275f7981bdaf919bbc9b51a7c7fae1e192adb3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:12:56 +0400
+Subject: [PATCH 14/46] optional libstdc
+
+gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
+will not run correctly since by default the linker will try to link against libstdc++
+which shouldn't exist yet. We need an option to disable -lstdc++
+option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
+driver. This patch adds such an option which only disables the -lstdc++.
+
+A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
+do this officially, the likely answer is don't build libstdc++ separately.
+
+RP 29/6/10
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ gcc/c-family/c.opt  |  4 ++++
+ gcc/cp/g++spec.c    |  1 +
+ gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
+ gcc/gcc.c           |  1 +
+ 4 files changed, 37 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
+index 4f86876..660da6c 100644
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -1647,6 +1647,10 @@ nostdinc++
+ C++ ObjC++
+ Do not search standard system include directories for C++.
+ 
++nostdlib++
++Driver
++Do not link standard C++ runtime library
++
+ o
+ C ObjC C++ ObjC++ Joined Separate
+ ; Documented in common.opt
+diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
+index 03cbde0..3642540 100644
+--- a/gcc/cp/g++spec.c
++++ b/gcc/cp/g++spec.c
+@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
+       switch (decoded_options[i].opt_index)
+ 	{
+ 	case OPT_nostdlib:
++	case OPT_nostdlib__:
+ 	case OPT_nodefaultlibs:
+ 	  library = -1;
+ 	  break;
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 8bb49e7..84d68aa 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -207,6 +207,9 @@ in the following sections.
+ -fno-weak  -nostdinc++ @gol
+ -fvisibility-inlines-hidden @gol
+ -fvisibility-ms-compat @gol
++-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
++-fvtv-counts -fvtv-debug @gol
++-nostdlib++ @gol
+ -fext-numeric-literals @gol
+ -Wabi=@var{n}  -Wabi-tag  -Wconversion-null  -Wctor-dtor-privacy @gol
+ -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol
+@@ -470,7 +473,7 @@ Objective-C and Objective-C++ Dialects}.
+ -s  -static -static-libgcc -static-libstdc++ @gol
+ -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
+ -static-libmpx -static-libmpxwrappers @gol
+--shared -shared-libgcc  -symbolic @gol
++-shared -shared-libgcc  -symbolic -nostdlib++ @gol
+ -T @var{script}  -Wl,@var{option}  -Xlinker @var{option} @gol
+ -u @var{symbol} -z @var{keyword}}
+ 
+@@ -10601,6 +10604,33 @@ library subroutines.
+ constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
+ GNU Compiler Collection (GCC) Internals}.)
+ 
++@item -nostdlib++
++@opindex nostdlib++
++Do not use the standard system C++ runtime libraries when linking.
++Only the libraries you specify will be passed to the linker.
++
++@cindex @option{-lgcc}, use with @option{-nostdlib}
++@cindex @option{-nostdlib} and unresolved references
++@cindex unresolved references and @option{-nostdlib}
++@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
++@cindex @option{-nodefaultlibs} and unresolved references
++@cindex unresolved references and @option{-nodefaultlibs}
++One of the standard libraries bypassed by @option{-nostdlib} and
++@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
++which GCC uses to overcome shortcomings of particular machines, or special
++needs for some languages.
++(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
++Collection (GCC) Internals},
++for more discussion of @file{libgcc.a}.)
++In most cases, you need @file{libgcc.a} even when you want to avoid
++other standard libraries.  In other words, when you specify @option{-nostdlib}
++or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
++This ensures that you have no unresolved references to internal GCC
++library subroutines.
++(An example of such an internal subroutine is @code{__main}, used to ensure C++
++constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
++GNU Compiler Collection (GCC) Internals}.)
++
+ @item -pie
+ @opindex pie
+ Produce a position independent executable on targets that support it.
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 4cfef7f..da0b482 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1028,6 +1028,7 @@ proper position among the other output files.  */
+     %(mflib) " STACK_SPLIT_SPEC "\
+     %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
+     %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
++    %{!nostdlib++:}\
+     %{!nostdlib:%{!nostartfiles:%E}} %{T*}  \n%(post_link) }}}}}}"
+ #endif
+ 
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
new file mode 100644
index 0000000..6fc7346
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
@@ -0,0 +1,59 @@
+From 9346f6042d8f7f85a75ca2af15f3b8d234985165 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:14:20 +0400
+Subject: [PATCH 15/46] gcc: disable MASK_RELAX_PIC_CALLS bit
+
+The new feature added after 4.3.3
+"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html"
+will cause cc1plus eat up all the system memory when build webkit-gtk.
+The function mips_get_pic_call_symbol keeps on recursively calling itself.
+Disable this feature to walk aside the bug.
+
+Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure    | 7 -------
+ gcc/configure.ac | 7 -------
+ 2 files changed, 14 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 8f83152..5e72f17 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -27018,13 +27018,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6;
+         rm -f conftest.*
+       fi
+     fi
+-    if test $gcc_cv_as_ld_jalr_reloc = yes; then
+-      if test x$target_cpu_default = x; then
+-        target_cpu_default=MASK_RELAX_PIC_CALLS
+-      else
+-        target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
+-      fi
+-    fi
+     { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5
+ $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; }
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 0fccaef..dd8f6fa 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -4522,13 +4522,6 @@ x:
+         rm -f conftest.*
+       fi
+     fi
+-    if test $gcc_cv_as_ld_jalr_reloc = yes; then
+-      if test x$target_cpu_default = x; then
+-        target_cpu_default=MASK_RELAX_PIC_CALLS
+-      else
+-        target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS"
+-      fi
+-    fi
+     AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc)
+ 
+     AC_CACHE_CHECK([linker for .eh_frame personality relaxation],
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch b/meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
new file mode 100644
index 0000000..c154864
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
@@ -0,0 +1,38 @@
+From 1033bc2d4efc5c301bb822b607a673f5b10cc69f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:16:28 +0400
+Subject: [PATCH 16/46] COLLECT_GCC_OPTIONS
+
+This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
+invoke collect2.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/gcc.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index da0b482..7ca129f 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -4591,6 +4591,15 @@ set_collect_gcc_options (void)
+ 		sizeof ("COLLECT_GCC_OPTIONS=") - 1);
+ 
+   first_time = TRUE;
++#ifdef HAVE_LD_SYSROOT
++  if (target_system_root_changed && target_system_root)
++    {
++      obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
++      obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
++      obstack_grow (&collect_obstack, "'", 1);
++      first_time = FALSE;
++    }
++#endif
+   for (i = 0; (int) i < n_switches; i++)
+     {
+       const char *const *args;
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
new file mode 100644
index 0000000..0dbabd9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -0,0 +1,96 @@
+From 67123a306880af997a99ae514677c2da4973bd1a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:17:25 +0400
+Subject: [PATCH 17/46] Use the defaults.h in ${B} instead of ${S}, and t-oe in
+ ${B}
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+While compiling gcc-crosssdk-initial-x86_64 on some host, there is
+occasionally failure that test the existance of default.h doesn't
+work, the reason is tm_include_list='** defaults.h' rather than
+tm_include_list='** ./defaults.h'
+
+So we add the test condition for this situation.
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/Makefile.in  | 2 +-
+ gcc/configure    | 4 ++--
+ gcc/configure.ac | 4 ++--
+ gcc/mkconfig.sh  | 4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 6c5adc0..9a1d466 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -517,7 +517,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
+ 
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index 5e72f17..389b6d5 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12130,8 +12130,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index dd8f6fa..91ac800 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1883,8 +1883,8 @@ for f in $tm_file; do
+        tm_include_list="${tm_include_list} $f"
+        ;;
+     defaults.h )
+-       tm_file_list="${tm_file_list} \$(srcdir)/$f"
+-       tm_include_list="${tm_include_list} $f"
++       tm_file_list="${tm_file_list} ./$f"
++       tm_include_list="${tm_include_list} ./$f"
+        ;;
+     * )
+        tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
+index 67dfac6..b73e08d 100644
+--- a/gcc/mkconfig.sh
++++ b/gcc/mkconfig.sh
+@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
+     if [ $# -ge 1 ]; then
+ 	echo '#ifdef IN_GCC' >> ${output}T
+ 	for file in "$@"; do
+-	    if test x"$file" = x"defaults.h"; then
++	    if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
+ 		postpone_defaults_h="yes"
+ 	    else
+ 		echo "# include \"$file\"" >> ${output}T
+@@ -109,7 +109,7 @@ esac
+ 
+ # If we postponed including defaults.h, add the #include now.
+ if test x"$postpone_defaults_h" = x"yes"; then
+-    echo "# include \"defaults.h\"" >> ${output}T
++    echo "# include \"./defaults.h\"" >> ${output}T
+ fi
+ 
+ # Add multiple inclusion protection guard, part two.
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch b/meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
new file mode 100644
index 0000000..b43d89e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
@@ -0,0 +1,46 @@
+From e360dc3e0f1e0b9b001ef722fcf66f8120a03dbc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:20:01 +0400
+Subject: [PATCH 18/46] fortran cross-compile hack.
+
+* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
+used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
+directory.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ libgfortran/configure    | 2 +-
+ libgfortran/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgfortran/configure b/libgfortran/configure
+index f746f6f..b4f3278 100755
+--- a/libgfortran/configure
++++ b/libgfortran/configure
+@@ -12734,7 +12734,7 @@ esac
+ 
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ ac_ext=${ac_fc_srcext-f}
+ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
+index 8f377bb..67710b5 100644
+--- a/libgfortran/configure.ac
++++ b/libgfortran/configure.ac
+@@ -240,7 +240,7 @@ AC_SUBST(enable_static)
+ 
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ AC_PROG_FC(gfortran)
+ 
+ # extra LD Flags which are required for targets
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch b/meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
new file mode 100644
index 0000000..417a5ed
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
@@ -0,0 +1,54 @@
+From 98d9c0c1b5552294b2130f7304bfb522da323442 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:22:00 +0400
+Subject: [PATCH 19/46] cpp: honor sysroot.
+
+Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
+preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
+rather than the --sysroot option specified on the commandline. If access to that directory is
+permission denied (unreadable), gcc will error.
+
+This happens when ccache is in use due to the fact it uses preprocessed source files.
+
+The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
+-isystem, -isysroot happen and the correct sysroot is used.
+
+[YOCTO #2074]
+
+RP 2012/04/13
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/cp/lang-specs.h | 2 +-
+ gcc/gcc.c           | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
+index 9707fac..fe487a2 100644
+--- a/gcc/cp/lang-specs.h
++++ b/gcc/cp/lang-specs.h
+@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3.  If not see
+   {".ii", "@c++-cpp-output", 0, 0, 0},
+   {"@c++-cpp-output",
+    "%{!M:%{!MM:%{!E:\
+-    cc1plus -fpreprocessed %i %(cc1_options) %2\
++    cc1plus -fpreprocessed %i %I %(cc1_options) %2\
+     %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 7ca129f..04fa81d 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1329,7 +1329,7 @@ static const struct compiler default_compilers[] =
+ 					   %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
+   {".i", "@cpp-output", 0, 0, 0},
+   {"@cpp-output",
+-   "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
++   "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+   {".s", "@assembler", 0, 0, 0},
+   {"@assembler",
+    "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch b/meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
new file mode 100644
index 0000000..ba612f5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
@@ -0,0 +1,57 @@
+From 1f15447fbcf65142627af8a9694761534da8d0d1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:23:08 +0400
+Subject: [PATCH 20/46] MIPS64: Default to N64 ABI
+
+MIPS64 defaults to n32 ABI, this patch makes it
+so that it defaults to N64 ABI
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE config specific]
+---
+ gcc/config.gcc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index f66e48c..9c6d156 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -2065,29 +2065,29 @@ mips*-*-linux*)				# Linux MIPS, either endian.
+ 			default_mips_arch=mips32
+ 			;;
+ 		mips64el-st-linux-gnu)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			tm_file="${tm_file} mips/st.h"
+ 			tmake_file="${tmake_file} mips/t-st"
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mips64octeon*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
+ 			target_cpu_default=MASK_SOFT_FLOAT_ABI
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mipsisa64r6*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			default_mips_arch=mips64r6
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mipsisa64r2*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			default_mips_arch=mips64r2
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 		mips64*-*-linux* | mipsisa64*-*-linux*)
+-			default_mips_abi=n32
++			default_mips_abi=64
+ 			enable_mips_multilibs="yes"
+ 			;;
+ 	esac
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
new file mode 100644
index 0000000..6675ce3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -0,0 +1,234 @@
+From 9f73c8918b63e6a1c9b79384fac411d1056eec1c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:24:50 +0400
+Subject: [PATCH 21/46] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+ relative to SYSTEMLIBS_DIR
+
+This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+relative to SYSTEMLIBS_DIR which can be set in generated headers
+This breaks the assumption of hardcoded multilib in gcc
+Change is only for the supported architectures in OE including
+SH, sparc, alpha for possible future support (if any)
+
+Removes the do_headerfix task in metadata
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE configuration]
+---
+ gcc/config/alpha/linux-elf.h |  4 ++--
+ gcc/config/arm/linux-eabi.h  |  4 ++--
+ gcc/config/arm/linux-elf.h   |  2 +-
+ gcc/config/i386/linux.h      |  2 +-
+ gcc/config/i386/linux64.h    |  6 +++---
+ gcc/config/linux.h           |  8 ++++----
+ gcc/config/mips/linux.h      | 12 ++++++------
+ gcc/config/rs6000/linux64.h  | 16 ++++++----------
+ gcc/config/sh/linux.h        |  2 +-
+ gcc/config/sparc/linux.h     |  2 +-
+ gcc/config/sparc/linux64.h   |  4 ++--
+ 11 files changed, 29 insertions(+), 33 deletions(-)
+
+diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
+index a0764d3..02f7a7c 100644
+--- a/gcc/config/alpha/linux-elf.h
++++ b/gcc/config/alpha/linux-elf.h
+@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
+ #define EXTRA_SPECS \
+ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+ 
+-#define GLIBC_DYNAMIC_LINKER	"/lib/ld-linux.so.2"
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define GLIBC_DYNAMIC_LINKER	SYSTEMLIBS_DIR "ld-linux.so.2"
++#define UCLIBC_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index ace8481..4010435 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -68,8 +68,8 @@
+    GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
+ 
+ #undef  GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
+ #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+ 
+ #define GLIBC_DYNAMIC_LINKER \
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index a94bd2d..0220628 100644
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -62,7 +62,7 @@
+ 
+ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #define LINUX_TARGET_LINK_SPEC  "%{h*} \
+    %{static:-Bstatic} \
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index d37a875..edde586 100644
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+ 
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index 73d22e3..f4b5615 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
+ 
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index 9aeeb94..b055652 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+    GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
+    GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+    supporting both 32-bit and 64-bit compilation.  */
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
+diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
+index fa253b6..da02c8d 100644
+--- a/gcc/config/mips/linux.h
++++ b/gcc/config/mips/linux.h
+@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3.  If not see
+ #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
+ 
+ #define GLIBC_DYNAMIC_LINKER32 \
+-  "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKER64 \
+-  "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKERN32 \
+-  "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ 
+ #undef UCLIBC_DYNAMIC_LINKER32
+ #define UCLIBC_DYNAMIC_LINKER32 \
+-  "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+ #undef UCLIBC_DYNAMIC_LINKER64
+ #define UCLIBC_DYNAMIC_LINKER64 \
+-  "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
+ #define UCLIBC_DYNAMIC_LINKERN32 \
+-  "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
++  "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+ 
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-mips%{EL:el}%{msoft-float:-sf}.so.1"
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index fefa0c4..7173938 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -412,16 +412,11 @@ extern int dot_symbols;
+ #undef	LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+-
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
+ #else
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
+ #endif
+ 
+ #define MUSL_DYNAMIC_LINKER32 \
+@@ -429,8 +424,9 @@ extern int dot_symbols;
+ #define MUSL_DYNAMIC_LINKER64 \
+   "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ 
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
++
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
+   "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
+diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
+index 2a036ac..50fb735 100644
+--- a/gcc/config/sh/linux.h
++++ b/gcc/config/sh/linux.h
+@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3.  If not see
+   "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
+   "%{mfdpic:-fdpic}.so.1"
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
+diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
+index 9b32577..7bd66de 100644
+--- a/gcc/config/sparc/linux.h
++++ b/gcc/config/sparc/linux.h
+@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
+index a1ef325..3bae3d5 100644
+--- a/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
+@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3.  If not see
+    When the -shared link option is used a final link is not being
+    done.  */
+ 
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
+ 
+ #ifdef SPARC_BI_ARCH
+ 
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch b/meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
new file mode 100644
index 0000000..fab6e4a
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
@@ -0,0 +1,40 @@
+From acce5157f6b3a1dc9a3676b7118ac887dc5693be Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:26:37 +0400
+Subject: [PATCH 22/46] gcc: Fix argument list too long error.
+
+There would be an "Argument list too long" error when the
+build directory is longer than 200, this is caused by:
+
+headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
+
+The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
+it, use the $(sort list) of GNU make which can handle the too long list
+would fix the problem, the header would be short enough after sorted.
+The "tr ' ' '\012'" was used for translating the space to "\n", the
+$(sort list) doesn't need this.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 9a1d466..450cb79 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -3349,7 +3349,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
+ # We keep the directory structure for files in config or c-family and .def
+ # files. All other files are flattened to a single directory.
+ 	$(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
+-	headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
++	headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
+ 	srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
+ 	for file in $$headers; do \
+ 	  if [ -f $$file ] ; then \
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch b/meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
new file mode 100644
index 0000000..0efd890
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
@@ -0,0 +1,113 @@
+From 6573aec00ada35c48c1838c8491ce8f7798ae993 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:28:10 +0400
+Subject: [PATCH 23/46] Disable sdt.
+
+We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
+It may or may not exist from preivous builds though. To be determinstic, disable
+sdt.h usage always. This avoids build failures if the header is removed after configure
+but before libgcc is compiled for example.
+
+RP 2012/8/7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Disable sdt for libstdc++-v3.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+Upstream-Status: Inappropriate [hack]
+---
+ gcc/configure             | 12 ++++++------
+ gcc/configure.ac          | 18 +++++++++---------
+ libstdc++-v3/configure    |  6 +++---
+ libstdc++-v3/configure.ac |  2 +-
+ 4 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 389b6d5..73c264d 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -28528,12 +28528,12 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+ $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
+ have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+-  have_sys_sdt_h=yes
+-
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+-
+-fi
++#if test -f $target_header_dir/sys/sdt.h; then
++#  have_sys_sdt_h=yes
++#
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#
++#fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+ $as_echo "$have_sys_sdt_h" >&6; }
+ 
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 91ac800..cecf121 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5514,15 +5514,15 @@ fi
+ AC_SUBST([enable_default_ssp])
+ 
+ # Test for <sys/sdt.h> on the target.
+-GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
+-AC_MSG_CHECKING(sys/sdt.h in the target C library)
+-have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+-  have_sys_sdt_h=yes
+-  AC_DEFINE(HAVE_SYS_SDT_H, 1,
+-            [Define if your target C library provides sys/sdt.h])
+-fi
+-AC_MSG_RESULT($have_sys_sdt_h)
++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++#AC_MSG_CHECKING(sys/sdt.h in the target C library)
++#have_sys_sdt_h=no
++#if test -f $target_header_dir/sys/sdt.h; then
++#  have_sys_sdt_h=yes
++#  AC_DEFINE(HAVE_SYS_SDT_H, 1,
++#            [Define if your target C library provides sys/sdt.h])
++#fi
++#AC_MSG_RESULT($have_sys_sdt_h)
+ 
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 8a5481c..6a40e92 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -21735,11 +21735,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+-  if test $glibcxx_cv_sys_sdt_h = yes; then
++#  if test $glibcxx_cv_sys_sdt_h = yes; then
+ 
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+ 
+-  fi
++#  fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
+ $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
+ 
+diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
+index 9e19e99..0077ffd 100644
+--- a/libstdc++-v3/configure.ac
++++ b/libstdc++-v3/configure.ac
+@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
+ GLIBCXX_CHECK_SC_NPROC_ONLN
+ GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
+ GLIBCXX_CHECK_SYSCTL_HW_NCPU
+-GLIBCXX_CHECK_SDT_H
++#GLIBCXX_CHECK_SDT_H
+ 
+ # Check for available headers.
+ AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch b/meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
new file mode 100644
index 0000000..1f73b5d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
@@ -0,0 +1,42 @@
+From 6c0aa5c2538829248547197718037ff0b9788676 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:29:11 +0400
+Subject: [PATCH 24/46] libtool
+
+libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
+when running on am x86_64 build host.
+
+This patch stops this speading to libdir in the libstdc++.la file within libtool.
+Arguably, it shouldn't be passing this into libtool in the first place but
+for now this resolves the nastiest problems this causes.
+
+func_normal_abspath would resolve an empty path to `pwd` so we need
+to filter the zero case.
+
+RP 2012/8/24
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ ltmain.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 9503ec8..0121fba 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6359,6 +6359,10 @@ func_mode_link ()
+ 	func_warning "ignoring multiple \`-rpath's for a libtool library"
+ 
+       install_libdir="$1"
++      if test -n "$install_libdir"; then
++	func_normal_abspath "$install_libdir"
++	install_libdir=$func_normal_abspath_result
++      fi
+ 
+       oldlibs=
+       if test -z "$rpath"; then
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
new file mode 100644
index 0000000..3b7ee49
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -0,0 +1,43 @@
+From b1263a48553ce75f8c3bed4fe12122af57845567 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:30:32 +0400
+Subject: [PATCH 25/46] gcc: armv4: pass fix-v4bx to linker to support EABI.
+
+The LINK_SPEC for linux gets overwritten by linux-eabi.h which
+means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
+the option is not passed to linker when chosing march=armv4
+This patch redefines this in linux-eabi.h and reinserts it
+for eabi defaulting toolchains.
+
+We might want to send it upstream.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/config/arm/linux-eabi.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index 4010435..aaea1c9 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -94,10 +94,14 @@
+ #define MUSL_DYNAMIC_LINKER \
+   "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+ 
++/* For armv4 we pass --fix-v4bx to linker to support EABI */
++#undef TARGET_FIX_V4BX_SPEC
++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
+    use the GNU/Linux version, not the generic BPABI version.  */
+ #undef  LINK_SPEC
+-#define LINK_SPEC EABI_LINK_SPEC					\
++#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC			\
+   LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC,				\
+ 		       LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+ 
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
new file mode 100644
index 0000000..be25be6
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -0,0 +1,102 @@
+From b5c305fc251299f2e328410b18cfb55c75b5f038 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:33:04 +0400
+Subject: [PATCH 26/46] Use the multilib config files from ${B} instead of
+ using the ones from ${S}
+
+Use the multilib config files from ${B} instead of using the ones from ${S}
+so that the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure    | 22 ++++++++++++++++++----
+ gcc/configure.ac | 22 ++++++++++++++++++----
+ 2 files changed, 36 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 73c264d..377253e 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12110,10 +12110,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+-	if test -f ${srcdir}/config/$f
+-	then
+-		tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+-	fi
++  case $f in
++    */t-linux64 )
++       if test -f ./config/$f
++       then
++         tmake_file_="${tmake_file_} ./config/$f"
++       fi
++       ;;
++    * )
++       if test -f ${srcdir}/config/$f
++       then
++         tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++       fi
++       ;;
++  esac
+ done
+ tmake_file="${tmake_file_}"
+ 
+@@ -12124,6 +12134,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+   case $f in
++    */linux64.h )
++       tm_file_list="${tm_file_list} ./config/$f"
++       tm_include_list="${tm_include_list} ./config/$f"
++       ;;
+     ./* )
+        f=`echo $f | sed 's/^..//'`
+        tm_file_list="${tm_file_list} $f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index cecf121..54e7619 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1863,10 +1863,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+-	if test -f ${srcdir}/config/$f
+-	then
+-		tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+-	fi
++  case $f in
++    */t-linux64 )
++       if test -f ./config/$f
++       then
++         tmake_file_="${tmake_file_} ./config/$f"
++       fi
++       ;;
++    * )
++       if test -f ${srcdir}/config/$f
++       then
++         tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++       fi
++       ;;
++  esac
+ done
+ tmake_file="${tmake_file_}"
+ 
+@@ -1877,6 +1887,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+   case $f in
++    */linux64.h )
++       tm_file_list="${tm_file_list} ./config/$f"
++       tm_include_list="${tm_include_list} ./config/$f"
++       ;;
+     ./* )
+        f=`echo $f | sed 's/^..//'`
+        tm_file_list="${tm_file_list} $f"
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
new file mode 100644
index 0000000..d1bbebc
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
@@ -0,0 +1,31 @@
+From eb6178b7fb466ae429c56380c6dbc564a16d900a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:39:38 +0000
+Subject: [PATCH 27/46] Avoid using libdir from .la which usually points to a
+ host path
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 0121fba..52bdbdb 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -5628,6 +5628,9 @@ func_mode_link ()
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
++	    # Instead of using libdir from .la which usually points to a host path,
++	    # use the path the .la is contained in.
++	    libdir="$abs_ladir"
+ 	    dir="$libdir"
+ 	    absdir="$libdir"
+ 	  fi
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch b/meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
new file mode 100644
index 0000000..c212539
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
@@ -0,0 +1,53 @@
+From 617184f35e97934d9e6268e71378574e2b776c2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:40:59 +0000
+Subject: [PATCH 28/46] export CPP
+
+The OE environment sets and exports CPP as being the target gcc. When
+building gcc-cross-canadian for a mingw targetted sdk, the following can be found
+in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
+
+configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
+configure:3666: gcc  -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe  conftest.c >&5
+configure:3666: $? = 0
+configure:3698: result: no
+configure:3786: checking how to run the C preprocessor
+configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
+configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
+configure:3876: $? = 0
+
+Note this is a *build* target (in build-x86_64-linux) so it should be
+using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
+headers are very different, using the wrong cpp is a real problem. It is leaking
+into configure through the CPP variable. Ultimately this leads to build
+failures related to not being able to include a process.h file for pem-unix.c.
+
+The fix is to ensure we export a sane CPP value into the build
+environment when using build targets. We could define a CPP_FOR_BUILD value which may be
+the version which needs to be upstreamed but for now, this fix is good enough to
+avoid the problem.
+
+RP 22/08/2013
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 1522e39..beb9b9a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
+ 	AR="$(AR_FOR_BUILD)"; export AR; \
+ 	AS="$(AS_FOR_BUILD)"; export AS; \
+ 	CC="$(CC_FOR_BUILD)"; export CC; \
++	CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
new file mode 100644
index 0000000..47b9c0d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
@@ -0,0 +1,56 @@
+From e140700976e3b7eb4250b1ffde9bc16494456903 Mon Sep 17 00:00:00 2001
+From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
+Date: Wed, 5 Feb 2014 16:52:31 +0200
+Subject: [PATCH 29/46] Enable SPE & AltiVec generation on powepc*linux target
+
+When is configured with --target=powerpc-linux, the resulting GCC will
+not be able to generate code for SPE targets (e500v1/v2).
+GCC configured with --target=powerpc-linuxspe will not be able to
+generate AltiVec instructions (for e6500).
+This patch modifies the configured file such that SPE or AltiVec code
+can be generated when gcc is configured with --target=powerpc-linux.
+The ABI and speciffic instructions can be selected through the
+"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
+---
+ gcc/config.gcc               | 9 ++++++++-
+ gcc/config/rs6000/linuxspe.h | 3 ---
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 9c6d156..18cff5a 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -2392,7 +2392,14 @@ powerpc-*-rtems*)
+ 	tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
+ 	;;
+ powerpc*-*-linux*)
+-	tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
++	case ${target} in
++	    powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*)
++		tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
++		;;
++	    *)
++		tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h"
++		;;
++	esac
+ 	extra_options="${extra_options} rs6000/sysv4.opt"
+ 	tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
+ 	extra_objs="$extra_objs rs6000-linux.o"
+diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h
+index 35623cd..f74e00d 100644
+--- a/gcc/config/rs6000/linuxspe.h
++++ b/gcc/config/rs6000/linuxspe.h
+@@ -27,6 +27,3 @@
+ #undef	TARGET_DEFAULT
+ #define TARGET_DEFAULT MASK_STRICT_ALIGN
+ #endif
+-
+-#undef  ASM_DEFAULT_SPEC
+-#define	ASM_DEFAULT_SPEC "-mppc -mspe -me500"
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
new file mode 100644
index 0000000..c09d019
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
@@ -0,0 +1,42 @@
+From 0ddcb95a86830766fd02122f19384fc929b377c5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 10:21:55 +0000
+Subject: [PATCH 30/46] Disable the MULTILIB_OSDIRNAMES and other multilib
+ options.
+
+Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on
+systems where the libdir is NOT set to /lib64.  This is allowed by the
+ABI, as
+long as the dynamic loader is present in /lib.
+
+We simply want to use the default rules in gcc to find and configure the
+normal libdir.
+
+Upstream-Status: Inappropriate[OE-Specific]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/t-aarch64-linux | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
+index 1cfe9f3..d688ac9 100644
+--- a/gcc/config/aarch64/t-aarch64-linux
++++ b/gcc/config/aarch64/t-aarch64-linux
+@@ -21,8 +21,8 @@
+ LIB1ASMSRC   = aarch64/lib1funcs.asm
+ LIB1ASMFUNCS = _aarch64_sync_cache_range
+ 
+-AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
+-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
++#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
++#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
++#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
+ 
+-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
++#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch b/meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
new file mode 100644
index 0000000..fb1cd0f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
@@ -0,0 +1,98 @@
+From fc6621435a64a9d69aa251b70361da94cf2db6be Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 10:25:11 +0000
+Subject: [PATCH 31/46] Ensure target gcc headers can be included
+
+There are a few headers installed as part of the OpenEmbedded
+gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
+built for the target architecture, these are within the target
+sysroot and not cross/nativesdk; thus they weren't able to be
+found by gcc with the existing search paths. Add support for
+picking up these headers under the sysroot supplied on the gcc
+command line in order to resolve this.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/Makefile.in  | 2 ++
+ gcc/cppdefault.c | 4 ++++
+ gcc/defaults.h   | 9 +++++++++
+ gcc/gcc.c        | 7 -------
+ 4 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 450cb79..cc75536 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -593,6 +593,7 @@ libexecdir = @libexecdir@
+ 
+ # Directory in which the compiler finds libraries etc.
+ libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++libsubdir_target = gcc/$(target_noncanonical)/$(version)
+ # Directory in which the compiler finds executables
+ libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which all plugin resources are installed
+@@ -2688,6 +2689,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
+ 
+ PREPROCESSOR_DEFINES = \
+   -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
++  -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
+   -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
+   -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
+   -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index 54aaf06..7b4dd51 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
+     /* This is the dir for gcc's private headers.  */
+     { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
+ #endif
++#ifdef GCC_INCLUDE_SUBDIR_TARGET
++    /* This is the dir for gcc's private headers under the specified sysroot.  */
++    { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++#endif
+ #ifdef LOCAL_INCLUDE_DIR
+     /* /usr/local/include comes before the fixincluded header files.  */
+     { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+diff --git a/gcc/defaults.h b/gcc/defaults.h
+index 3e18338..0f317f2 100644
+--- a/gcc/defaults.h
++++ b/gcc/defaults.h
+@@ -1492,4 +1492,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
+ #endif
+ 
++/* Default prefixes to attach to command names.  */
++
++#ifndef STANDARD_STARTFILE_PREFIX_1
++#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#endif
++#ifndef STANDARD_STARTFILE_PREFIX_2
++#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#endif
++
+ #endif  /* ! GCC_DEFAULTS_H */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 04fa81d..9750cc2 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1450,13 +1450,6 @@ static const char *gcc_libexec_prefix;
+ 
+ /* Default prefixes to attach to command names.  */
+ 
+-#ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
+-#endif
+-#ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
+-#endif
+-
+ #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
+ #undef MD_EXEC_PREFIX
+ #undef MD_STARTFILE_PREFIX
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
new file mode 100644
index 0000000..c0b001d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
@@ -0,0 +1,54 @@
+From ff939c5063d8f8d444bdb25651a0a48e608efaa4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 11:17:19 +0000
+Subject: [PATCH 32/46] gcc 4.8+ won't build with --disable-dependency-tracking
+
+since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
+
+This patch ensures we only use those compiler options when its enabled.
+
+Upstream-Status: Submitted
+
+(Problem was already reported upstream, attached this patch there
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
+
+RP
+2012/09/22
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libatomic/Makefile.am | 3 ++-
+ libatomic/Makefile.in | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
+index b351244..399ce18 100644
+--- a/libatomic/Makefile.am
++++ b/libatomic/Makefile.am
+@@ -101,7 +101,8 @@ PAT_S		= $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF	= -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT	= $(word $(PAT_S),$(IFUNC_OPTIONS))
+ 
+-M_DEPS		= -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS		= -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS		=
+ M_SIZE		= -DN=$(PAT_N)
+ M_IFUNC		= $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE		= $(PAT_BASE)_n.c
+diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
+index a083d87..a92cfce 100644
+--- a/libatomic/Makefile.in
++++ b/libatomic/Makefile.in
+@@ -330,7 +330,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
+ PAT_S = $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
+-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS =
+ M_SIZE = -DN=$(PAT_N)
+ M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE = $(PAT_BASE)_n.c
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
new file mode 100644
index 0000000..e425d71
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
@@ -0,0 +1,38 @@
+From 5092f5389d02e78cd59690cf3fca24b56a97aff2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Mar 2015 08:21:19 +0000
+Subject: [PATCH 33/46] Don't search host directory during "relink" if
+ $inst_prefix is provided
+
+http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
+
+Upstream-Status: Submitted
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 52bdbdb..82bcec3 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6004,12 +6004,13 @@ func_mode_link ()
+ 	      fi
+ 	    else
+ 	      # We cannot seem to hardcode it, guess we'll fake it.
++	      # Default if $libdir is not relative to the prefix:
+ 	      add_dir="-L$libdir"
+-	      # Try looking first in the location we're being installed to.
++
+ 	      if test -n "$inst_prefix_dir"; then
+ 		case $libdir in
+ 		  [\\/]*)
+-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
++		    add_dir="-L$inst_prefix_dir$libdir"
+ 		    ;;
+ 		esac
+ 	      fi
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
new file mode 100644
index 0000000..922a855
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
@@ -0,0 +1,29 @@
+From 1faa6f69f93bb95af2b2b2bd24e181b50fb5b37c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:15:27 -0700
+Subject: [PATCH 34/46] Use SYSTEMLIBS_DIR replacement instead of hardcoding
+ base_libdir
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Inappropriate [OE Configuration]
+
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 5fcaa59..8588ac0 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -21,7 +21,7 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+ 
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define GLIBC_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+ 
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch b/meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
new file mode 100644
index 0000000..9dfc472
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
@@ -0,0 +1,28 @@
+From 3768468c1a6cc170fff88c03b808c975ac653811 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:18:39 -0700
+Subject: [PATCH 35/46] aarch64: Add support for musl ldso
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Inappropriate [OE Configuration]
+
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 8588ac0..946b3ca 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -24,7 +24,7 @@
+ #define GLIBC_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+ 
+ #undef MUSL_DYNAMIC_LINKER
+-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define MUSL_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+ 
+ #undef  ASAN_CC1_SPEC
+ #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
new file mode 100644
index 0000000..f89a886
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -0,0 +1,54 @@
+From f4d3c8e970d42a43cd3d2f751e13324efa936ff8 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 5 Jul 2015 20:25:18 -0700
+Subject: [PATCH 36/46] libcc1: fix libcc1's install path and rpath
+
+* Install libcc1.so and libcc1plugin.so into
+  $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
+  had done to lto-plugin.
+* Fix bad RPATH iussue:
+  gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
+ /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
+ [rpaths]
+
+Upstream-Status: Inappropriate [OE configuration]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libcc1/Makefile.am | 4 ++--
+ libcc1/Makefile.in | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index b40820b..32930c5 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -35,8 +35,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ 	    $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+ 
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ 
+ if ENABLE_PLUGIN
+ plugin_LTLIBRARIES = libcc1plugin.la
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index 79d39d3..227ec22 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -291,8 +291,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ 	    $(Wc)$(libiberty_normal)))
+ 
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+ BUILT_SOURCES = compiler-name.h
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch b/meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
new file mode 100644
index 0000000..15efcb1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -0,0 +1,213 @@
+From 1475b941d7a9c9874b0fb0558d01805945467331 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:39:54 +0000
+Subject: [PATCH 37/46] handle sysroot support for nativesdk-gcc
+
+Being able to build a nativesdk gcc is useful, particularly in cases
+where the host compiler may be of an incompatible version (or a 32
+bit compiler is needed).
+
+Sadly, building nativesdk-gcc is not straight forward. We install
+nativesdk-gcc into a relocatable location and this means that its
+library locations can change. "Normal" sysroot support doesn't help
+in this case since the values of paths like "libdir" change, not just
+base root directory of the system.
+
+In order to handle this we do two things:
+
+a) Add %r into spec file markup which can be used for injected paths
+   such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
+b) Add other paths which need relocation into a .gccrelocprefix section
+   which the relocation code will notice and adjust automatically.
+
+Upstream-Status: Inappropriate
+RP 2015/7/28
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++++-------------
+ gcc/cppdefault.h |  3 ++-
+ gcc/gcc.c        | 20 ++++++++++++++------
+ 3 files changed, 53 insertions(+), 20 deletions(-)
+
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index 7b4dd51..9d1166c 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -35,6 +35,30 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+ 
++static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
++static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
++static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
++static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
++static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
++#ifdef LOCAL_INCLUDE_DIR
++static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
++#endif
++#ifdef PREFIX_INCLUDE_DIR
++static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
++#endif
++#ifdef FIXED_INCLUDE_DIR
++static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
++#endif
++#ifdef CROSS_INCLUDE_DIR
++static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
++#endif
++#ifdef TOOL_INCLUDE_DIR
++static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
++#endif
++#ifdef NATIVE_SYSTEM_HEADER_DIR
++static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
++#endif
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
+ = {
+ #ifdef GPLUSPLUS_INCLUDE_DIR
+     /* Pick up GNU C++ generic include files.  */
+-    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
++    { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
+       GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
+     /* Pick up GNU C++ target-dependent include files.  */
+-    { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
++    { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
+       GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+     /* Pick up GNU C++ backward and deprecated include files.  */
+-    { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
++    { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
+       GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_DIR
+     /* This is the dir for gcc's private headers.  */
+-    { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++    { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_SUBDIR_TARGET
+     /* This is the dir for gcc's private headers under the specified sysroot.  */
+-    { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++    { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
+ #endif
+ #ifdef LOCAL_INCLUDE_DIR
+     /* /usr/local/include comes before the fixincluded header files.  */
+-    { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+-    { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++    { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
++    { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
+ #endif
+ #ifdef PREFIX_INCLUDE_DIR
+-    { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
++    { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
+ #endif
+ #ifdef FIXED_INCLUDE_DIR
+     /* This is the dir for fixincludes.  */
+-    { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
++    { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
+       /* A multilib suffix needs adding if different multilibs use
+ 	 different headers.  */
+ #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
+@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
+ #endif
+ #ifdef CROSS_INCLUDE_DIR
+     /* One place the target system's headers might be.  */
+-    { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++    { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef TOOL_INCLUDE_DIR
+     /* Another place the target system's headers might be.  */
+-    { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
++    { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
+ #endif
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+     /* /usr/include comes dead last.  */
+-    { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
+-    { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
++    { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
++    { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
+ #endif
+     { 0, 0, 0, 0, 0, 0 }
+   };
+diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
+index 8a81b45..9759efd 100644
+--- a/gcc/cppdefault.h
++++ b/gcc/cppdefault.h
+@@ -33,7 +33,8 @@
+ 
+ struct default_include
+ {
+-  const char *const fname;	/* The name of the directory.  */
++  const char *fname;     /* The name of the directory.  */
++
+   const char *const component;	/* The component containing the directory
+ 				   (see update_path in prefix.c) */
+   const char cplusplus;		/* Only look here if we're compiling C++.  */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 9750cc2..94c240e 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -247,6 +247,8 @@ FILE *report_times_to_file = NULL;
+ #endif
+ static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
+ 
++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
++
+ /* Nonzero means pass the updated target_system_root to the compiler.  */
+ 
+ static int target_system_root_changed;
+@@ -517,6 +519,7 @@ or with constant text in a single argument.
+  %G     process LIBGCC_SPEC as a spec.
+  %R     Output the concatenation of target_system_root and
+         target_sysroot_suffix.
++ %r     Output the base path target_relocatable_prefix
+  %S     process STARTFILE_SPEC as a spec.  A capital S is actually used here.
+  %E     process ENDFILE_SPEC as a spec.  A capital E is actually used here.
+  %C     process CPP_SPEC as a spec.
+@@ -1473,10 +1476,10 @@ static const char *gcc_libexec_prefix;
+    gcc_exec_prefix is set because, in that case, we know where the
+    compiler has been installed, and use paths relative to that
+    location instead.  */
+-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
+-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
+-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
+-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+ 
+ /* For native compilers, these are well-known paths containing
+    components that may be provided by the system.  For cross
+@@ -1484,9 +1487,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+ static const char *md_exec_prefix = MD_EXEC_PREFIX;
+ static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
+ static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_1
++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
+   = STANDARD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_2
++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
+   = STANDARD_STARTFILE_PREFIX_2;
+ 
+ /* A relative path to be used in finding the location of tools
+@@ -5762,6 +5765,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
+ 	      }
+ 	    break;
+ 
++          case 'r':
++              obstack_grow (&obstack, target_relocatable_prefix,
++		      strlen (target_relocatable_prefix));
++            break;
++
+ 	  case 'S':
+ 	    value = do_spec_1 (startfile_spec, 0, NULL);
+ 	    if (value != 0)
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
new file mode 100644
index 0000000..89ee79d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
@@ -0,0 +1,102 @@
+From 42e4cdcaad590536246866b0846ec279e124fa16 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:41:45 +0000
+Subject: [PATCH 38/46] Search target sysroot gcc version specific dirs with
+ multilib.
+
+We install the gcc libraries (such as crtbegin.p) into
+<sysroot><libdir>/<target-sys>/5.2.0/
+which is a default search path for GCC (aka multi_suffix in the
+code below). <target-sys> is 'machine' in gcc's terminology. We use
+these directories so that multiple gcc versions could in theory
+co-exist on target.
+
+We only want to build one gcc-cross-canadian per arch and have this work
+for all multilibs. <target-sys> can be handled by mapping the multilib
+<target-sys> to the one used by gcc-cross-canadian, e.g.
+mips64-polkmllib32-linux
+is symlinked to by mips64-poky-linux.
+
+The default gcc search path in the target sysroot for a "lib64" mutlilib
+is:
+
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+which means that the lib32 crtbegin.o will be found and the lib64 ones
+will not which leads to compiler failures.
+
+This patch injects a multilib version of that path first so the lib64
+binaries can be found first. With this change the search path becomes:
+
+<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+Upstream-Status: Pending
+RP 2015/7/31
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
+ 1 file changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 94c240e..2812819 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -2507,7 +2507,7 @@ for_each_path (const struct path_prefix *paths,
+       if (path == NULL)
+ 	{
+ 	  len = paths->max_len + extra_space + 1;
+-	  len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
++	  len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
+ 	  path = XNEWVEC (char, len);
+ 	}
+ 
+@@ -2519,6 +2519,33 @@ for_each_path (const struct path_prefix *paths,
+ 	  /* Look first in MACHINE/VERSION subdirectory.  */
+ 	  if (!skip_multi_dir)
+ 	    {
++	      if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
++	        {
++	          const char *this_multi;
++	          size_t this_multi_len;
++
++	          if (pl->os_multilib)
++		    {
++		      this_multi = multi_os_dir;
++		      this_multi_len = multi_os_dir_len;
++		    }
++	          else
++		    {
++		      this_multi = multi_dir;
++		      this_multi_len = multi_dir_len;
++		    }
++
++	          /* Look in multilib MACHINE/VERSION subdirectory first */
++	          if (this_multi_len)
++	            {
++		      memcpy (path + len, this_multi, this_multi_len + 1);
++	              memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
++	              ret = callback (path, callback_info);
++	                if (ret)
++		          break;
++	            }
++	        }
++
+ 	      memcpy (path + len, multi_suffix, suffix_len + 1);
+ 	      ret = callback (path, callback_info);
+ 	      if (ret)
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch b/meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
new file mode 100644
index 0000000..0ce7aec
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
@@ -0,0 +1,137 @@
+From 9ced49e459ccf1887feb58adf1e8836dcb4b1bdf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:42:45 +0000
+Subject: [PATCH 39/46] Fix various _FOR_BUILD and related variables
+
+When doing a FOR_BUILD thing, you have to override CFLAGS with
+CFLAGS_FOR_BUILD. And if you use C++, you also have to override
+CXXFLAGS with CXXFLAGS_FOR_BUILD.
+Without this, when building for mingw, you end up trying to use
+the mingw headers for a host build.
+
+The same goes for other variables as well, such as CPPFLAGS,
+CPP, and GMPINC.
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in      | 6 ++++++
+ Makefile.tpl     | 5 +++++
+ gcc/Makefile.in  | 2 +-
+ gcc/configure    | 2 +-
+ gcc/configure.ac | 2 +-
+ 5 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index beb9b9a..3e1c6bc 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
+ 	CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ 	GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+@@ -170,6 +171,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
++	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++	CPP="$(CC_FOR_BUILD) -E" \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+ 
+ # This is the list of directories to built for the host system.
+@@ -187,6 +191,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	CC="$(CC)"; export CC; \
++	CPP="$(CC) -E"; export CPP; \
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+@@ -713,6 +718,7 @@ BASE_FLAGS_TO_PASS = \
+ 	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ 	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ 	"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
++	"CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
+ 	"EXPECT=$(EXPECT)" \
+ 	"FLEX=$(FLEX)" \
+ 	"INSTALL=$(INSTALL)" \
+diff --git a/Makefile.tpl b/Makefile.tpl
+index 6b2eb6a..114e462 100644
+--- a/Makefile.tpl
++++ b/Makefile.tpl
+@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
+ 	CC="$(CC_FOR_BUILD)"; export CC; \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ 	CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ 	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ 	GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+@@ -172,6 +173,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
++	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++	CPP="$(CC_FOR_BUILD) -E" \
++	CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+ 
+ # This is the list of directories to built for the host system.
+@@ -189,6 +193,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	CC="$(CC)"; export CC; \
++	CPP="$(CC) -E"; export CPP; \
+ 	ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ 	CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ 	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index cc75536..0ad2dc8 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -780,7 +780,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
+ BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
+ BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
+ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+-		-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
++		-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
+ 
+ # Actual name to use when installing a native compiler.
+ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
+diff --git a/gcc/configure b/gcc/configure
+index 377253e..78fc64a 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11799,7 +11799,7 @@ else
+ 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ 	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ 	LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+-	GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++	GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ 	${realsrcdir}/configure \
+ 		--enable-languages=${enable_languages-all} \
+ 		--target=$target_alias --host=$build_alias --build=$build_alias
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 54e7619..a94666e 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1682,7 +1682,7 @@ else
+ 	CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ 	CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ 	LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+-	GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++	GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ 	${realsrcdir}/configure \
+ 		--enable-languages=${enable_languages-all} \
+ 		--target=$target_alias --host=$build_alias --build=$build_alias
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
new file mode 100644
index 0000000..c9a6fd0
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
@@ -0,0 +1,28 @@
+From b0412c01c275aaeb6b458461cd2425120c8bcec8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Feb 2016 10:26:10 -0800
+Subject: [PATCH 40/46] nios2: Define MUSL_DYNAMIC_LINKER
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ gcc/config/nios2/linux.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
+index 4ef55b5..62bc1e7 100644
+--- a/gcc/config/nios2/linux.h
++++ b/gcc/config/nios2/linux.h
+@@ -30,6 +30,7 @@
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+ 
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
++#define MUSL_DYNAMIC_LINKER  "/lib/ld-musl-nios2.so.1"
+ 
+ #undef LINK_SPEC
+ #define LINK_SPEC LINK_SPEC_ENDIAN \
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch b/meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
new file mode 100644
index 0000000..0744529
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
@@ -0,0 +1,28 @@
+From 551a5db7acb56e085a101f1c222d51b2c1b039a4 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Sat, 7 Nov 2015 14:58:40 +0000
+Subject: [PATCH 41/46] ssp_nonshared
+
+---
+Upstream-Status: Inappropriate [OE Configuration]
+
+ gcc/gcc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 2812819..9de96ee 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -863,7 +863,8 @@ proper position among the other output files.  */
+ #ifndef LINK_SSP_SPEC
+ #ifdef TARGET_LIBC_PROVIDES_SSP
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+-		       "|fstack-protector-strong|fstack-protector-explicit:}"
++		       "|fstack-protector-strong|fstack-protector-explicit" \
++		       ":-lssp_nonshared}"
+ #else
+ #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
+ 		       "|fstack-protector-strong|fstack-protector-explicit" \
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch b/meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
new file mode 100644
index 0000000..861f0fd
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
@@ -0,0 +1,292 @@
+From ba738cc411c9a54e389e336bcaa0a2428dd4a9d2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 16 Mar 2016 02:27:43 -0400
+Subject: [PATCH 42/46] gcc/libcpp: support -ffile-prefix-map=<old>=<new>
+
+Similar -fdebug-prefix-map, add option -ffile-prefix-map to map one
+directory name (old) to another (new) in __FILE__, __BASE_FILE__ and
+__builtin_FILE ().
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70268
+
+Upstream-Status: Submitted [gcc-patches@gcc.gnu.org]
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/c-family/c-opts.c     | 13 +++++++
+ gcc/c-family/c.opt        |  4 +++
+ gcc/dwarf2out.c           |  1 +
+ gcc/gimplify.c            |  3 ++
+ libcpp/Makefile.in        | 10 +++---
+ libcpp/file-map.c         | 92 +++++++++++++++++++++++++++++++++++++++++++++++
+ libcpp/include/file-map.h | 30 ++++++++++++++++
+ libcpp/macro.c            |  2 ++
+ 8 files changed, 150 insertions(+), 5 deletions(-)
+ create mode 100644 libcpp/file-map.c
+ create mode 100644 libcpp/include/file-map.h
+
+diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c
+index fec58bc..7a0af43 100644
+--- a/gcc/c-family/c-opts.c
++++ b/gcc/c-family/c-opts.c
+@@ -38,6 +38,14 @@ along with GCC; see the file COPYING3.  If not see
+ #include "opts.h"
+ #include "plugin.h"		/* For PLUGIN_INCLUDE_FILE event.  */
+ #include "mkdeps.h"
++#include "file-map.h"
++#include "c-target.h"
++#include "tm.h"			/* For BYTES_BIG_ENDIAN,
++				   DOLLARS_IN_IDENTIFIERS,
++				   STDC_0_IN_SYSTEM_HEADERS,
++				   TARGET_FLT_EVAL_METHOD_NON_DEFAULT and
++				   TARGET_OPTF.  */
++#include "tm_p.h"		/* For C_COMMON_OVERRIDE_OPTIONS.  */
+ #include "dumpfile.h"
+ 
+ #ifndef DOLLARS_IN_IDENTIFIERS
+@@ -503,6 +511,11 @@ c_common_handle_option (size_t scode, const char *arg, int value,
+       cpp_opts->narrow_charset = arg;
+       break;
+ 
++    case OPT_ffile_prefix_map_:
++      if (add_file_prefix_map (arg) < 0)
++        error ("invalid argument %qs to -ffile-prefix-map", arg);
++      break;
++
+     case OPT_fwide_exec_charset_:
+       cpp_opts->wide_charset = arg;
+       break;
+diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
+index 660da6c..31f7b34 100644
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -1208,6 +1208,10 @@ fexec-charset=
+ C ObjC C++ ObjC++ Joined RejectNegative
+ -fexec-charset=<cset>	Convert all strings and character constants to character set <cset>.
+ 
++ffile-prefix-map=
++C ObjC C++ ObjC++ Joined RejectNegative
++-ffile-prefix-map=<old=new>	Map one directory name to another in __FILE__, __BASE_FILE__ and __builtin_FILE ()
++
+ fextended-identifiers
+ C ObjC C++ ObjC++
+ Permit universal character names (\\u and \\U) in identifiers.
+diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
+index 80f2df5..a2bfcc0 100644
+--- a/gcc/dwarf2out.c
++++ b/gcc/dwarf2out.c
+@@ -21672,6 +21672,7 @@ gen_producer_string (void)
+       case OPT_fltrans_output_list_:
+       case OPT_fresolution_:
+       case OPT_fdebug_prefix_map_:
++      case OPT_ffile_prefix_map_:
+ 	/* Ignore these.  */
+ 	continue;
+       default:
+diff --git a/gcc/gimplify.c b/gcc/gimplify.c
+index e223e59..1433c25 100644
+--- a/gcc/gimplify.c
++++ b/gcc/gimplify.c
+@@ -57,6 +57,8 @@ along with GCC; see the file COPYING3.  If not see
+ #include "gomp-constants.h"
+ #include "tree-dump.h"
+ #include "gimple-walk.h"
++#include "file-map.h"
++
+ #include "langhooks-def.h"	/* FIXME: for lhd_set_decl_assembler_name */
+ #include "builtins.h"
+ 
+@@ -2432,6 +2434,7 @@ gimplify_call_expr (tree *expr_p, gimple_seq *pre_p, bool want_value)
+       case BUILT_IN_FILE:
+ 	{
+ 	  const char *locfile = LOCATION_FILE (EXPR_LOCATION (*expr_p));
++	  locfile = remap_file_filename (locfile);
+ 	  *expr_p = build_string_literal (strlen (locfile) + 1, locfile);
+ 	  return GS_OK;
+ 	}
+diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in
+index a7d7828..3d29572 100644
+--- a/libcpp/Makefile.in
++++ b/libcpp/Makefile.in
+@@ -84,12 +84,12 @@ DEPMODE = $(CXXDEPMODE)
+ 
+ 
+ libcpp_a_OBJS = charset.o directives.o directives-only.o errors.o \
+-	expr.o files.o identifiers.o init.o lex.o line-map.o macro.o \
+-	mkdeps.o pch.o symtab.o traditional.o
++	expr.o file-map.o files.o identifiers.o init.o lex.o line-map.o \
++	macro.o mkdeps.o pch.o symtab.o traditional.o
+ 
+ libcpp_a_SOURCES = charset.c directives.c directives-only.c errors.c \
+-	expr.c files.c identifiers.c init.c lex.c line-map.c macro.c \
+-	mkdeps.c pch.c symtab.c traditional.c
++	expr.c file-map.c files.c identifiers.c init.c lex.c line-map.c \
++	macro.c mkdeps.c pch.c symtab.c traditional.c
+ 
+ all: libcpp.a $(USED_CATALOGS)
+ 
+@@ -263,7 +263,7 @@ po/$(PACKAGE).pot: $(libcpp_a_SOURCES)
+ 
+ TAGS_SOURCES = $(libcpp_a_SOURCES) internal.h ucnid.h \
+     include/line-map.h include/symtab.h include/cpp-id-data.h \
+-    include/cpplib.h include/mkdeps.h system.h
++    include/cpplib.h include/mkdeps.h system.h include/file-map.h
+ 
+ TAGS: $(TAGS_SOURCES)
+ 	cd $(srcdir) && etags $(TAGS_SOURCES)
+diff --git a/libcpp/file-map.c b/libcpp/file-map.c
+new file mode 100644
+index 0000000..18035ef
+--- /dev/null
++++ b/libcpp/file-map.c
+@@ -0,0 +1,92 @@
++/* Map one directory name to another in __FILE__, __BASE_FILE__
++   and __builtin_FILE ().
++   Copyright (C) 2001-2016 Free Software Foundation, Inc.
++
++This program is free software; you can redistribute it and/or modify it
++under the terms of the GNU General Public License as published by the
++Free Software Foundation; either version 3, or (at your option) any
++later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; see the file COPYING3.  If not see
++<http://www.gnu.org/licenses/>.
++
++ In other words, you are welcome to use, share and improve this program.
++ You are forbidden to forbid anyone else to use, share and improve
++ what you give them.   Help stamp out software-hoarding!  */
++
++#include "config.h"
++#include "system.h"
++#include "file-map.h"
++
++/* Structure recording the mapping from source file and directory
++   names at compile time to __FILE__ */
++typedef struct file_prefix_map
++{
++  const char *old_prefix;
++  const char *new_prefix;
++  size_t old_len;
++  size_t new_len;
++  struct file_prefix_map *next;
++} file_prefix_map;
++
++/* Linked list of such structures.  */
++static file_prefix_map *file_prefix_maps;
++
++/* Record prefix mapping of __FILE__.  ARG is the argument to
++   -ffile-prefix-map and must be of the form OLD=NEW.  */
++int
++add_file_prefix_map (const char *arg)
++{
++  file_prefix_map *map;
++  const char *p;
++
++  p = strchr (arg, '=');
++  if (!p)
++  {
++      fprintf(stderr, "invalid argument %qs to -ffile-prefix-map", arg);
++      return -1;
++  }
++  map = XNEW (file_prefix_map);
++  map->old_prefix = xstrndup (arg, p - arg);
++  map->old_len = p - arg;
++  p++;
++  map->new_prefix = xstrdup (p);
++  map->new_len = strlen (p);
++  map->next = file_prefix_maps;
++  file_prefix_maps = map;
++
++  return 0;
++}
++
++/* Perform user-specified mapping of __FILE__ prefixes.  Return
++   the new name corresponding to filename.  */
++
++const char *
++remap_file_filename (const char *filename)
++{
++  file_prefix_map *map;
++  char *s;
++  const char *name;
++  size_t name_len;
++
++  for (map = file_prefix_maps; map; map = map->next)
++    if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
++      break;
++  if (!map)
++    return filename;
++  name = filename + map->old_len;
++  name_len = strlen (name) + 1;
++  s = (char *) alloca (name_len + map->new_len);
++  memcpy (s, map->new_prefix, map->new_len);
++  memcpy (s + map->new_len, name, name_len);
++
++  return xstrdup (s);
++}
++
++
+diff --git a/libcpp/include/file-map.h b/libcpp/include/file-map.h
+new file mode 100644
+index 0000000..8750315
+--- /dev/null
++++ b/libcpp/include/file-map.h
+@@ -0,0 +1,30 @@
++/* Map one directory name to another in __FILE__, __BASE_FILE__
++   and __builtin_FILE ().
++   Copyright (C) 2001-2016 Free Software Foundation, Inc.
++
++This program is free software; you can redistribute it and/or modify it
++under the terms of the GNU General Public License as published by the
++Free Software Foundation; either version 3, or (at your option) any
++later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; see the file COPYING3.  If not see
++<http://www.gnu.org/licenses/>.
++
++ In other words, you are welcome to use, share and improve this program.
++ You are forbidden to forbid anyone else to use, share and improve
++ what you give them.   Help stamp out software-hoarding!  */
++
++#ifndef LIBCPP_FILE_MAP_H
++#define LIBCPP_FILE_MAP_H
++
++const char * remap_file_filename (const char *filename);
++
++int add_file_prefix_map (const char *arg);
++
++#endif /* !LIBCPP_FILE_MAP_H  */
+diff --git a/libcpp/macro.c b/libcpp/macro.c
+index c251553..3ceec3d 100644
+--- a/libcpp/macro.c
++++ b/libcpp/macro.c
+@@ -26,6 +26,7 @@ along with this program; see the file COPYING3.  If not see
+ #include "system.h"
+ #include "cpplib.h"
+ #include "internal.h"
++#include "file-map.h"
+ 
+ typedef struct macro_arg macro_arg;
+ /* This structure represents the tokens of a macro argument.  These
+@@ -301,6 +302,7 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
+ 	    if (!name)
+ 	      abort ();
+ 	  }
++	name = remap_file_filename (name);
+ 	len = strlen (name);
+ 	buf = _cpp_unaligned_alloc (pfile, len * 2 + 3);
+ 	result = buf;
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch b/meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
new file mode 100644
index 0000000..0077f80
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
@@ -0,0 +1,43 @@
+From 25c87c6cc40ec5cc6965f8bfb215bec01abd6d82 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 16 Mar 2016 05:39:59 -0400
+Subject: [PATCH 43/46] Reuse -fdebug-prefix-map to replace -ffile-prefix-map
+
+The oe-core may use external toolchain to compile,
+which may not support -ffile-prefix-map.
+
+Since we use -fdebug-prefix-map to do the same thing,
+so we could reuse it to replace -ffile-prefix-map.
+
+Upstream-Status: Inappropriate[oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/opts-global.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gcc/opts-global.c b/gcc/opts-global.c
+index b7e5232..121d7b9 100644
+--- a/gcc/opts-global.c
++++ b/gcc/opts-global.c
+@@ -31,6 +31,7 @@ along with GCC; see the file COPYING3.  If not see
+ #include "langhooks.h"
+ #include "dbgcnt.h"
+ #include "debug.h"
++#include "file-map.h"
+ #include "output.h"
+ #include "plugin.h"
+ #include "toplev.h"
+@@ -357,6 +358,9 @@ handle_common_deferred_options (void)
+ 
+ 	case OPT_fdebug_prefix_map_:
+ 	  add_debug_prefix_map (opt->arg);
++
++	  /* Reuse -fdebug-prefix-map to replace -ffile-prefix-map */
++	  add_file_prefix_map (opt->arg);
+ 	  break;
+ 
+ 	case OPT_fdump_:
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch b/meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
new file mode 100644
index 0000000..5d41af4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
@@ -0,0 +1,54 @@
+From 6ab23e88aef22bbabee7b9600c459ff39547bb66 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 24 Mar 2016 11:23:14 -0400
+Subject: [PATCH 44/46] gcc/final.c: -fdebug-prefix-map support to remap
+ sources with relative path
+
+PR other/70428
+* final.c (remap_debug_filename): Use lrealpath to translate
+relative path before remapping
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70428
+Upstream-Status: Submitted [gcc-patches@gcc.gnu.org]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/final.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/final.c b/gcc/final.c
+index 55cf509..23293e5 100644
+--- a/gcc/final.c
++++ b/gcc/final.c
+@@ -1554,16 +1554,25 @@ remap_debug_filename (const char *filename)
+   const char *name;
+   size_t name_len;
+ 
++  /* Support to remap filename with relative path  */
++  char *realpath = lrealpath (filename);
++  if (realpath == NULL)
++    return filename;
++
+   for (map = debug_prefix_maps; map; map = map->next)
+-    if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
++    if (filename_ncmp (realpath, map->old_prefix, map->old_len) == 0)
+       break;
+   if (!map)
+-    return filename;
+-  name = filename + map->old_len;
++    {
++      free (realpath);
++      return filename;
++    }
++  name = realpath + map->old_len;
+   name_len = strlen (name) + 1;
+   s = (char *) alloca (name_len + map->new_len);
+   memcpy (s, map->new_prefix, map->new_len);
+   memcpy (s + map->new_len, name, name_len);
++  free (realpath);
+   return ggc_strdup (s);
+ }
+ \f
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
new file mode 100644
index 0000000..c62b727
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
@@ -0,0 +1,125 @@
+From 5a47d404ea29e2547269e3ddf38754462d93f903 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Apr 2016 20:03:28 +0000
+Subject: [PATCH 45/46] libgcc: Add knob to use ldbl-128 on ppc
+
+musl does not support ldbl 128 so we can not assume
+that linux as a whole supports ldbl-128 bits, instead
+act upon configure option passed to gcc and assume no
+on musl and yes otherwise if no option is passed since
+default behaviour is to assume ldbl128 it does not
+change the defaults
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ libgcc/Makefile.in           |  1 +
+ libgcc/config/rs6000/t-linux |  5 ++++-
+ libgcc/configure             | 18 ++++++++++++++++++
+ libgcc/configure.ac          | 12 ++++++++++++
+ 4 files changed, 35 insertions(+), 1 deletion(-)
+ mode change 100644 => 100755 libgcc/configure
+
+diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
+index f09b39b..296cf0f 100644
+--- a/libgcc/Makefile.in
++++ b/libgcc/Makefile.in
+@@ -43,6 +43,7 @@ enable_vtable_verify = @enable_vtable_verify@
+ enable_decimal_float = @enable_decimal_float@
+ fixed_point = @fixed_point@
+ with_aix_soname = @with_aix_soname@
++with_ldbl128 = @with_ldbl128@
+ 
+ host_noncanonical = @host_noncanonical@
+ real_host_noncanonical = @real_host_noncanonical@
+diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
+index 4f6d4c4..c50dd94 100644
+--- a/libgcc/config/rs6000/t-linux
++++ b/libgcc/config/rs6000/t-linux
+@@ -1,3 +1,6 @@
+ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
+ 
+-HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
++ifeq ($(with_ldbl128),yes)
++HOST_LIBGCC2_CFLAGS += -mlong-double-128
++endif
++HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
+diff --git a/libgcc/configure b/libgcc/configure
+old mode 100644
+new mode 100755
+index e7d6c75..e9a9019
+--- a/libgcc/configure
++++ b/libgcc/configure
+@@ -614,6 +614,7 @@ build_vendor
+ build_cpu
+ build
+ with_aix_soname
++with_ldbl128
+ enable_vtable_verify
+ enable_shared
+ libgcc_topdir
+@@ -663,6 +664,7 @@ with_cross_host
+ with_ld
+ enable_shared
+ enable_vtable_verify
++with_long_double_128
+ with_aix_soname
+ enable_version_specific_runtime_libs
+ with_slibdir
+@@ -1319,6 +1321,7 @@ Optional Packages:
+   --with-target-subdir=SUBDIR      Configuring in a subdirectory for target
+   --with-cross-host=HOST           Configuring with a cross compiler
+   --with-ld               arrange to use the specified ld (full pathname)
++  --with-long-double-128  use 128-bit long double by default
+   --with-aix-soname=aix|svr4|both
+                           shared library versioning (aka "SONAME") variant to
+                           provide on AIX
+@@ -2201,6 +2204,21 @@ fi
+ 
+ 
+ 
++# Check whether --with-long-double-128 was given.
++if test "${with_long_double_128+set}" = set; then :
++  withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
++else
++  case "${host}" in
++ power*-*-musl*)
++   with_ldbl128="no";;
++ *) with_ldbl128="yes";;
++ esac
++
++fi
++
++
++
++
+ # Check whether --with-aix-soname was given.
+ if test "${with_aix_soname+set}" = set; then :
+   withval=$with_aix_soname; case "${host}:${enable_shared}" in
+diff --git a/libgcc/configure.ac b/libgcc/configure.ac
+index 269997f..81dc3ba 100644
+--- a/libgcc/configure.ac
++++ b/libgcc/configure.ac
+@@ -77,6 +77,18 @@ AC_ARG_ENABLE(vtable-verify,
+ [enable_vtable_verify=no])
+ AC_SUBST(enable_vtable_verify)
+ 
++AC_ARG_WITH(long-double-128,
++[AS_HELP_STRING([--with-long-double-128],
++    [use 128-bit long double by default])],
++      with_ldbl128="$with_long_double_128",
++[case "${host}" in
++ power*-*-musl*)
++   with_ldbl128="no";;
++ *) with_ldbl128="yes";;
++ esac
++])
++AC_SUBST(with_ldbl128)
++
+ AC_ARG_WITH(aix-soname,
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+     [shared library versioning (aka "SONAME") variant to provide on AIX])],
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
new file mode 100644
index 0000000..390037f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
@@ -0,0 +1,29 @@
+From 513bf3c33e2f551f08bd57605091d5ddeba3536b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 4 May 2016 21:11:34 -0700
+Subject: [PATCH 46/46] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
+
+Upstream-Status: Pending
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgcc/config/t-slibgcc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
+index 8c5f890..29be909 100644
+--- a/libgcc/config/t-slibgcc
++++ b/libgcc/config/t-slibgcc
+@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
+ 	$(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+ 
+ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+-	$(SHLIB_LDFLAGS) \
++	$(LDFLAGS) $(SHLIB_LDFLAGS) \
+ 	-o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
+ 	$(SHLIB_OBJS) $(SHLIB_LC) && \
+ 	rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
new file mode 100644
index 0000000..bf53c5c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
@@ -0,0 +1,5 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-cross-canadian.inc
+
+
+
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
new file mode 100644
index 0000000..4c73e5c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-cross_${PV}.bb
+require gcc-cross-initial.inc
diff --git a/meta/recipes-devtools/gcc/gcc-cross_6.1.bb b/meta/recipes-devtools/gcc/gcc-cross_6.1.bb
new file mode 100644
index 0000000..b43cca0
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-cross_6.1.bb
@@ -0,0 +1,3 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-cross.inc
+
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
new file mode 100644
index 0000000..fd90e11
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
@@ -0,0 +1,3 @@
+require recipes-devtools/gcc/gcc-cross-initial_${PV}.bb
+require gcc-crosssdk-initial.inc
+
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
new file mode 100644
index 0000000..40a6c4f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-cross_${PV}.bb
+require gcc-crosssdk.inc
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_6.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
new file mode 100644
index 0000000..8f31e77
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
@@ -0,0 +1,7 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-runtime.inc
+
+FILES_libgomp-dev += "\
+    ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \
+"
+
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
new file mode 100644
index 0000000..601f666
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-sanitizers.inc
diff --git a/meta/recipes-devtools/gcc/gcc-source_6.1.bb b/meta/recipes-devtools/gcc/gcc-source_6.1.bb
new file mode 100644
index 0000000..b890fa3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-source_6.1.bb
@@ -0,0 +1,4 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/recipes-devtools/gcc/gcc_6.1.bb b/meta/recipes-devtools/gcc/gcc_6.1.bb
new file mode 100644
index 0000000..b0a523c
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc_6.1.bb
@@ -0,0 +1,15 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-target.inc
+
+# Building with thumb enabled on armv4t fails with
+# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
+# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
+ARM_INSTRUCTION_SET_armv4 = "arm"
+
+do_configure_prepend() {
+	# Easiest way to stop bad RPATHs getting into the library since we have a
+	# broken libtool here
+	sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${S}/libcc1/configure
+}
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_6.1.bb b/meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
new file mode 100644
index 0000000..19f253f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require libgcc-initial.inc
diff --git a/meta/recipes-devtools/gcc/libgcc_6.1.bb b/meta/recipes-devtools/gcc/libgcc_6.1.bb
new file mode 100644
index 0000000..a5152f2
--- /dev/null
+++ b/meta/recipes-devtools/gcc/libgcc_6.1.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require libgcc.inc
diff --git a/meta/recipes-devtools/gcc/libgfortran_6.1.bb b/meta/recipes-devtools/gcc/libgfortran_6.1.bb
new file mode 100644
index 0000000..71dd8b4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/libgfortran_6.1.bb
@@ -0,0 +1,3 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require libgfortran.inc
+
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 02/42] glibc: Add recipes for 2.24 release
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
  2016-05-11 17:35 ` [PATCH 01/42] gcc: Add gcc6 recipes Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-12  5:50   ` Khem Raj
  2016-05-11 17:35 ` [PATCH 03/42] glib-2.0: Ignore useless warning found with gcc-6 Khem Raj
                   ` (41 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../fix_for_centos_5.8.patch                       | 18 --------
 ...tive_2.23.bb => cross-localedef-native_2.24.bb} | 26 ++++++------
 ...glibc-initial_2.23.bb => glibc-initial_2.24.bb} |  0
 .../{glibc-locale_2.23.bb => glibc-locale_2.24.bb} |  0
 .../{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} |  0
 ...glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} |  0
 ...libc-Look-for-host-system-ld.so.cache-as-.patch |  8 ++--
 ...libc-Fix-buffer-overrun-with-a-relocated-.patch |  8 ++--
 ...libc-Raise-the-size-of-arrays-containing-.patch | 34 ++++++---------
 ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 10 +++--
 ...500-e5500-e6500-603e-fsqrt-implementation.patch |  6 +--
 ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch |  8 ++--
 ...-Fix-undefined-reference-to-__sqrt_finite.patch |  6 +--
 ...qrt-f-are-now-inline-functions-and-call-o.patch |  6 +--
 ...bug-1443-which-explains-what-the-patch-do.patch |  8 ++--
 ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 10 ++---
 ...qrt-f-are-now-inline-functions-and-call-o.patch |  6 +--
 ...ersion-output-matching-grok-gold-s-output.patch | 14 +++----
 ...-configure.ac-handle-correctly-libc_cv_ro.patch |  6 +--
 .../glibc/glibc/0014-Add-unused-attribute.patch    |  8 ++--
 ...thin-the-path-sets-wrong-config-variables.patch | 10 ++---
 ...-timezone-re-written-tzselect-as-posix-sh.patch | 16 ++++----
 ...move-bash-dependency-for-nscd-init-script.patch |  8 ++--
 ...c-Cross-building-and-testing-instructions.patch |  6 +--
 ...019-eglibc-Help-bootstrap-cross-toolchain.patch |  8 ++--
 .../glibc/0020-eglibc-cherry-picked-from.patch     | 18 ++++----
 .../0021-eglibc-Clear-cache-lines-on-ppc8xx.patch  | 10 ++---
 ...0022-eglibc-Resolve-__fpscr_values-on-SH4.patch |  8 ++--
 .../glibc/0023-eglibc-Install-PIC-archives.patch   |  8 ++--
 ...ard-port-cross-locale-generation-support.patch} | 30 +++++++-------
 ...0025-Define-DUMMY_LOCALE_T-if-not-defined.patch | 32 +++++++++++++++
 ...ing-SSE-make-sure-fpmath-is-not-set-to-us.patch | 48 ----------------------
 .../glibc/{glibc_2.23.bb => glibc_2.24.bb}         | 12 +++---
 33 files changed, 176 insertions(+), 220 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
 rename meta/recipes-core/glibc/{cross-localedef-native_2.23.bb => cross-localedef-native_2.24.bb} (79%)
 rename meta/recipes-core/glibc/{glibc-initial_2.23.bb => glibc-initial_2.24.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-locale_2.23.bb => glibc-locale_2.24.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} (100%)
 rename meta/recipes-core/glibc/glibc/{0025-eglibc-Forward-port-cross-locale-generation-support.patch => 0024-eglibc-Forward-port-cross-locale-generation-support.patch} (97%)
 create mode 100644 meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
 delete mode 100644 meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
 rename meta/recipes-core/glibc/{glibc_2.23.bb => glibc_2.24.bb} (93%)

diff --git a/meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch b/meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
deleted file mode 100644
index 186a480..0000000
--- a/meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Inappropriate [other]
-
-This is a hack to fix building the locale bits on an older
-CentOs 5.X machine
-
-Index: git/locale/programs/config.h
-===================================================================
---- git/locale/programs/config.h
-+++ git.orig/locale/programs/config.h
-@@ -19,6 +19,8 @@
- #ifndef _LD_CONFIG_H
- #define _LD_CONFIG_H	1
- 
-+#define DUMMY_LOCALE_T
-+
- /* Use the internal textdomain used for libc messages.  */
- #define PACKAGE _libc_intl_domainname
- #ifndef VERSION
diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.23.bb b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb
similarity index 79%
rename from meta/recipes-core/glibc/cross-localedef-native_2.23.bb
rename to meta/recipes-core/glibc/cross-localedef-native_2.24.bb
index a6795ed..9b86a32 100644
--- a/meta/recipes-core/glibc/cross-localedef-native_2.23.bb
+++ b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb
@@ -9,25 +9,21 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \
       file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
 
 
-# Tell autotools that we're working in the localedef directory
-#
-AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
-
 inherit native
 inherit autotools
 
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
 
-SRCBRANCH ?= "release/${PV}/master"
+#SRCBRANCH ?= "release/${PV}/master"
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
+SRCBRANCH ?= "master"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
 
+SRCREV_glibc ?= "1ac3eaa6bcc473a56340c24511786ff48a91293e"
+SRCREV_localedef ?= "29869b6dc11427c5bab839bdb155c85a7c644c71"
+
 SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
-           file://fix_for_centos_5.8.patch \
-           ${EGLIBCPATCHES} \
-"
-EGLIBCPATCHES = "\
            file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
            file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
            file://0018-eglibc-Cross-building-and-testing-instructions.patch \
@@ -36,12 +32,9 @@ EGLIBCPATCHES = "\
            file://0021-eglibc-Clear-cache-lines-on-ppc8xx.patch \
            file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \
            file://0023-eglibc-Install-PIC-archives.patch \
-           file://0025-eglibc-Forward-port-cross-locale-generation-support.patch \
+           file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \
+           file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \
 "
-
-SRCREV_glibc ?= "e742928c1592b43db6809db4f39e67be151cdd27"
-SRCREV_localedef ?= "5a81ff9f06a7a808d4c3d37bbf34077a4c5902ed"
-
 # Makes for a rather long rev (22 characters), but...
 #
 SRCREV_FORMAT = "glibc_localedef"
@@ -51,6 +44,11 @@ S = "${WORKDIR}/git"
 EXTRA_OECONF = "--with-glibc=${S}"
 CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'"
 
+do_configure () {
+	${S}/localedef/configure ${EXTRA_OECONF}
+}
+
+
 do_install() {
 	install -d ${D}${bindir}
 	install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef
diff --git a/meta/recipes-core/glibc/glibc-initial_2.23.bb b/meta/recipes-core/glibc/glibc-initial_2.24.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-initial_2.23.bb
rename to meta/recipes-core/glibc/glibc-initial_2.24.bb
diff --git a/meta/recipes-core/glibc/glibc-locale_2.23.bb b/meta/recipes-core/glibc/glibc-locale_2.24.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-locale_2.23.bb
rename to meta/recipes-core/glibc/glibc-locale_2.24.bb
diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.23.bb b/meta/recipes-core/glibc/glibc-mtrace_2.24.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-mtrace_2.23.bb
rename to meta/recipes-core/glibc/glibc-mtrace_2.24.bb
diff --git a/meta/recipes-core/glibc/glibc-scripts_2.23.bb b/meta/recipes-core/glibc/glibc-scripts_2.24.bb
similarity index 100%
rename from meta/recipes-core/glibc/glibc-scripts_2.23.bb
rename to meta/recipes-core/glibc/glibc-scripts_2.24.bb
diff --git a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index 97c2800..ca33758 100644
--- a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,7 +1,7 @@
-From 66d04e2cd8badb0984050e4e9f2732f47151fbbf Mon Sep 17 00:00:00 2001
+From 7e11aafc3a7cb873b3f648740c8acd379597e4d1 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:48:24 +0000
-Subject: [PATCH 01/24] nativesdk-glibc: Look for host system ld.so.cache as
+Subject: [PATCH 01/25] nativesdk-glibc: Look for host system ld.so.cache as
  well
 
 Upstream-Status: Inappropriate [embedded specific]
@@ -31,7 +31,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 6fb615e..ee3d1e6 100644
+index c0d6249..2c73105 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
 @@ -2094,6 +2094,14 @@ _dl_map_object (struct link_map *loader, const char *name,
@@ -65,5 +65,5 @@ index 6fb615e..ee3d1e6 100644
        if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
  	_dl_debug_printf ("\n");
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index 473b894..5428468 100644
--- a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,7 +1,7 @@
-From 179dc5f1e13c3ff96d5f21a2a78c089cf120ceb8 Mon Sep 17 00:00:00 2001
+From 5fd884dc28d5d84001fae8ffdd8be698bb84143e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:50:00 +0000
-Subject: [PATCH 02/24] nativesdk-glibc: Fix buffer overrun with a relocated
+Subject: [PATCH 02/25] nativesdk-glibc: Fix buffer overrun with a relocated
  SDK
 
 When ld-linux-*.so.2 is relocated to a path that is longer than the
@@ -22,7 +22,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 12 insertions(+)
 
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index ee3d1e6..c4a42e9 100644
+index 2c73105..c7b8797 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
 @@ -1793,7 +1793,19 @@ open_path (const char *name, size_t namelen, int mode,
@@ -46,5 +46,5 @@ index ee3d1e6..c4a42e9 100644
      {
        struct r_search_path_elem *this_dir = *dirs;
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index 60f9f17..23b9fcb 100644
--- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,7 +1,7 @@
-From e76048898ae9aa49dc70d6f9b1bbc22082e61fe3 Mon Sep 17 00:00:00 2001
+From c99892f2018cd7fa0f37b53e6cebec99fa036472 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:51:38 +0000
-Subject: [PATCH 03/24] nativesdk-glibc: Raise the size of arrays containing dl
+Subject: [PATCH 03/25] nativesdk-glibc: Raise the size of arrays containing dl
  paths
 
 This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
@@ -25,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  6 files changed, 13 insertions(+), 9 deletions(-)
 
 diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index dec49bc..862f1d8 100644
+index cfa335e..daa12ec 100644
 --- a/elf/dl-cache.c
 +++ b/elf/dl-cache.c
 @@ -132,6 +132,10 @@ do									      \
@@ -40,7 +40,7 @@ index dec49bc..862f1d8 100644
  internal_function
  _dl_cache_libcmp (const char *p1, const char *p2)
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index c4a42e9..acf6c03 100644
+index c7b8797..37a1beb 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
 @@ -106,8 +106,8 @@ static size_t max_capstrlen attribute_relro;
@@ -55,7 +55,7 @@ index c4a42e9..acf6c03 100644
    SYSTEM_DIRS_LEN
  };
 diff --git a/elf/interp.c b/elf/interp.c
-index 422ea95e..6d61a36 100644
+index 9448802..e7e8c70 100644
 --- a/elf/interp.c
 +++ b/elf/interp.c
 @@ -18,5 +18,5 @@
@@ -66,10 +66,10 @@ index 422ea95e..6d61a36 100644
 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
    = RUNTIME_LINKER;
 diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index f54ec22..0e78a83 100644
+index 467ca82..631a2a9 100644
 --- a/elf/ldconfig.c
 +++ b/elf/ldconfig.c
-@@ -167,6 +167,9 @@ static struct argp argp =
+@@ -168,6 +168,9 @@ static struct argp argp =
    options, parse_opt, NULL, doc, NULL, more_help, NULL
  };
  
@@ -80,7 +80,7 @@ index f54ec22..0e78a83 100644
     a platform.  */
  static int
 diff --git a/elf/rtld.c b/elf/rtld.c
-index 52160df..80f0582 100644
+index 647661c..4e16a43 100644
 --- a/elf/rtld.c
 +++ b/elf/rtld.c
 @@ -99,6 +99,7 @@ uintptr_t __pointer_chk_guard_local
@@ -107,7 +107,7 @@ index 52160df..80f0582 100644
        ++_dl_skip_args;
        --_dl_argc;
 diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
-index 70d4aeb..5c726d0 100644
+index eb2f900..505804e 100644
 --- a/sysdeps/generic/dl-cache.h
 +++ b/sysdeps/generic/dl-cache.h
 @@ -27,10 +27,6 @@
@@ -121,16 +121,6 @@ index 70d4aeb..5c726d0 100644
  #ifndef add_system_dir
  # define add_system_dir(dir) add_dir (dir)
  #endif
-Index: git/iconv/gconv_conf.c
-===================================================================
---- git.orig/iconv/gconv_conf.c
-+++ git/iconv/gconv_conf.c
-@@ -36,7 +36,7 @@
- 
- 
- /* This is the default path where we look for module lists.  */
--static const char default_gconv_path[] = GCONV_PATH;
-+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
- 
- /* The path elements, as determined by the __gconv_get_path function.
-    All path elements end in a slash.  */
+-- 
+2.8.2
+
diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index 21f04a1..3127de6 100644
--- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,7 +1,7 @@
-From 2e1638115f0f924ee8235eee9265047054c15cfd Mon Sep 17 00:00:00 2001
+From a56e7aa2fd10b178b9498f88a7a2ca8aad671a53 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:35:35 -0800
-Subject: [PATCH 04/24] nativesdk-glibc: Allow 64 bit atomics for x86
+Subject: [PATCH 04/25] nativesdk-glibc: Allow 64 bit atomics for x86
 
 The fix consist of allowing 64bit atomic ops for x86.
 This should be safe for i586 and newer CPUs.
@@ -11,11 +11,13 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
+Upstream-Status: Pending
+
  sysdeps/i386/atomic-machine.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/sysdeps/i386/atomic-machine.h b/sysdeps/i386/atomic-machine.h
-index 59f3d34..6f6b7ff 100644
+index ce62b33..4fe44ea 100644
 --- a/sysdeps/i386/atomic-machine.h
 +++ b/sysdeps/i386/atomic-machine.h
 @@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t;
@@ -28,5 +30,5 @@ index 59f3d34..6f6b7ff 100644
  
  
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
index ba8c92e..dc0dfad 100644
--- a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
+++ b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
@@ -1,7 +1,7 @@
-From 7ff57edfe24b4243373fcb896ee0b613938c1ec9 Mon Sep 17 00:00:00 2001
+From 450473ce27b47cebec2c5c5b611a8c8bed41e6e8 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:01:50 +0000
-Subject: [PATCH 05/24] fsl e500/e5500/e6500/603e fsqrt implementation
+Subject: [PATCH 05/25] fsl e500/e5500/e6500/603e fsqrt implementation
 
 Upstream-Status: Pending
 Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
@@ -1580,5 +1580,5 @@ index 0000000..04ff8cc
 @@ -0,0 +1 @@
 +powerpc/powerpc64/e6500/fpu
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
index 086a73d..f267f66 100644
--- a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
+++ b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
@@ -1,7 +1,7 @@
-From 61129ef3ee735b300604f75d50e01cb29f4387f4 Mon Sep 17 00:00:00 2001
+From bb065b78e9e0d3301e64a26e37550a657c885ebc Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:11:22 +0000
-Subject: [PATCH 06/24] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
+Subject: [PATCH 06/25] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
  names
 
 This bolts in a hook for OE to pass its own version of interpreter
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 1 insertion(+)
 
 diff --git a/elf/readlib.c b/elf/readlib.c
-index 7fd5b8a..2f5da9f 100644
+index 8a66ffe..08d56fc 100644
 --- a/elf/readlib.c
 +++ b/elf/readlib.c
 @@ -51,6 +51,7 @@ static struct known_names interpreters[] =
@@ -29,5 +29,5 @@ index 7fd5b8a..2f5da9f 100644
  
  static struct known_names known_libs[] =
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
index 952784b..612e892 100644
--- a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
+++ b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
@@ -1,7 +1,7 @@
-From f936548decac99501f9a4c522a3211d16542fa49 Mon Sep 17 00:00:00 2001
+From 4a91bbdb11a15f93094695bba4e0849c421fad48 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:15:07 +0000
-Subject: [PATCH 07/24] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
+Subject: [PATCH 07/25] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
 
 on ppc fixes the errors like below
 | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
@@ -204,5 +204,5 @@ index 26fa067..9d17512 100644
  }
 +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 8d513ab..9e222b7 100644
--- a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,7 +1,7 @@
-From d02704895fdce917e337619a4414042f63edd88b Mon Sep 17 00:00:00 2001
+From ce2746a1560b4430d89d114e1b65c7be225b4c2a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:16:38 +0000
-Subject: [PATCH 08/24] __ieee754_sqrt{,f} are now inline functions and call
+Subject: [PATCH 08/25] __ieee754_sqrt{,f} are now inline functions and call
  out __slow versions
 
 Upstream-Status: Pending
@@ -383,5 +383,5 @@ index 9d17512..10de1f0 100644
 +
  strong_alias (__ieee754_sqrtf, __sqrtf_finite)
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
index 12f24fb..7aa74df 100644
--- a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
+++ b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
@@ -1,7 +1,7 @@
-From 502f061d846e58aac7aca67e4e0d6ba9e0763b17 Mon Sep 17 00:00:00 2001
+From 1b61649e545de76dd79a5e2c39bb16d0c4623160 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:20:09 +0000
-Subject: [PATCH 09/24] Quote from bug 1443 which explains what the patch does
+Subject: [PATCH 09/25] Quote from bug 1443 which explains what the patch does
  :
 
   We build some random program and link it with -lust.  When we run it,
@@ -45,7 +45,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
-index 6fb20bd..8805537 100644
+index 60eee00..7d54d5e 100644
 --- a/sysdeps/arm/dl-machine.h
 +++ b/sysdeps/arm/dl-machine.h
 @@ -499,7 +499,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
@@ -58,5 +58,5 @@ index 6fb20bd..8805537 100644
  
  	case R_ARM_TLS_TPOFF32:
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
index 77bd7d1..14963a3 100644
--- a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
+++ b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
@@ -1,7 +1,7 @@
-From 69a3e30b49d28a7386d18725528652931510cbfc Mon Sep 17 00:00:00 2001
+From 91af416408b8718b004c83d93a6daa1f34cba48d Mon Sep 17 00:00:00 2001
 From: Ting Liu <b28495@freescale.com>
 Date: Wed, 19 Dec 2012 04:39:57 -0600
-Subject: [PATCH 10/24] eglibc: run libm-err-tab.pl with specific dirs in ${S}
+Subject: [PATCH 10/25] eglibc: run libm-err-tab.pl with specific dirs in ${S}
 
 libm-err-tab.pl will parse all the files named "libm-test-ulps"
 in the given dir recursively. To avoid parsing the one in
@@ -10,7 +10,7 @@ ${S}/.pc/aarch64-0001-glibc-fsf-v1-eaf6f205.patch/ports/sysdeps/
 aarch64/libm-test-ulps), run libm-err-tab.pl with specific dirs
 in ${S}.
 
-Upstream-Status: Inappropriate [OE specific]
+Upstream-Status: inappropriate [OE specific]
 
 Signed-off-by: Ting Liu <b28495@freescale.com>
 ---
@@ -18,7 +18,7 @@ Signed-off-by: Ting Liu <b28495@freescale.com>
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/manual/Makefile b/manual/Makefile
-index cdb6763..0b32a0a 100644
+index f2f694f..e062833 100644
 --- a/manual/Makefile
 +++ b/manual/Makefile
 @@ -105,7 +105,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
@@ -32,5 +32,5 @@ index cdb6763..0b32a0a 100644
  	touch $@
  
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 251e5f5..e92d04c 100644
--- a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,7 +1,7 @@
-From 4cf52971a841304aec30b2e975f81d7ad9d42ef0 Mon Sep 17 00:00:00 2001
+From 6a71f688471fe0c85f8ad9afc4ee0723a20aae1d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:24:46 +0000
-Subject: [PATCH 11/24] __ieee754_sqrt{,f} are now inline functions and call
+Subject: [PATCH 11/25] __ieee754_sqrt{,f} are now inline functions and call
  out __slow versions
 
 Upstream-Status: Pending
@@ -57,5 +57,5 @@ index 8126535..10de1f0 100644
  #endif
  {
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch b/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch
index 3208a0c..4cba03f 100644
--- a/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch
+++ b/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch
@@ -1,7 +1,7 @@
-From b356816d6e005ecda7adbed9627a4315ad39de39 Mon Sep 17 00:00:00 2001
+From f9d024edb158659e403b51cc9d93da9bca6e5d7b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:25:45 +0000
-Subject: [PATCH 12/24] Make ld --version output matching grok gold's output
+Subject: [PATCH 12/25] Make ld --version output matching grok gold's output
 
 adapted from from upstream branch roland/gold-vs-libc
 
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/configure b/configure
-index aa05d49..6dabd11 100755
+index 8fe5937..7888a3f 100755
 --- a/configure
 +++ b/configure
-@@ -4486,7 +4486,7 @@ else
+@@ -4482,7 +4482,7 @@ else
    # Found it, now check the version.
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5
  $as_echo_n "checking version of $LD... " >&6; }
@@ -27,10 +27,10 @@ index aa05d49..6dabd11 100755
      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
      2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
 diff --git a/configure.ac b/configure.ac
-index ee7a3f1..b4b95b9 100644
+index 3c766b7..6908a99 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -948,7 +948,7 @@ AC_CHECK_PROG_VER(AS, $AS, --version,
+@@ -944,7 +944,7 @@ AC_CHECK_PROG_VER(AS, $AS, --version,
  		  [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
  		  AS=: critic_missing="$critic_missing as")
  AC_CHECK_PROG_VER(LD, $LD, --version,
@@ -40,5 +40,5 @@ index ee7a3f1..b4b95b9 100644
  		  LD=: critic_missing="$critic_missing ld")
  
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
index 82fa100..6a82f8d 100644
--- a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
+++ b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
@@ -1,7 +1,7 @@
-From 10003d48f83f7a4f7fa562ed89af904a544b6323 Mon Sep 17 00:00:00 2001
+From 2ece12093c8ba4cf688d235f35d36f1feb02324c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:27:10 +0000
-Subject: [PATCH 13/24] sysdeps/gnu/configure.ac: handle correctly
+Subject: [PATCH 13/25] sysdeps/gnu/configure.ac: handle correctly
  $libc_cv_rootsbindir
 
 Upstream-Status:Pending
@@ -38,5 +38,5 @@ index 634fe4d..3db1697 100644
    ;;
  esac
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
index ea3e167..d14a6d4 100644
--- a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
+++ b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
@@ -1,7 +1,7 @@
-From cafa8a7ef830e02cdbf928471e06d11054946940 Mon Sep 17 00:00:00 2001
+From 9fec083dc99d2b524090e1d098e03709eed64a72 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:28:41 +0000
-Subject: [PATCH 14/24] Add unused attribute
+Subject: [PATCH 14/25] Add unused attribute
 
 Helps in avoiding gcc warning when header is is included in
 a source file which does not use both functions
@@ -17,7 +17,7 @@ Upstream-Status: Pending
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
-index 80290bc..7890a8e 100644
+index 95cbce7..191a0dd 100644
 --- a/iconv/gconv_charset.h
 +++ b/iconv/gconv_charset.h
 @@ -21,7 +21,7 @@
@@ -30,5 +30,5 @@ index 80290bc..7890a8e 100644
  {
    int slash_count = 0;
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
index 90e12b8..8ceccec 100644
--- a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,7 +1,7 @@
-From 4d6bead19874e519752ceeb2a15897ff2ffbe5e8 Mon Sep 17 00:00:00 2001
+From 1794a97cba0b09b726eebc565c783c7b7c22dfba Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:31:06 +0000
-Subject: [PATCH 15/24] 'yes' within the path sets wrong config variables
+Subject: [PATCH 15/25] 'yes' within the path sets wrong config variables
 
 It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
 but being such a short word to grep it is likely to produce
@@ -165,7 +165,7 @@ index f05f438..dc86399 100644
    ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)])
  if test $libc_cv_nios2_be = yes; then
 diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
-index dee56aa..f2049ed 100644
+index a5513fa..283b293 100644
 --- a/sysdeps/unix/sysv/linux/mips/configure
 +++ b/sysdeps/unix/sysv/linux/mips/configure
 @@ -414,11 +414,11 @@ else
@@ -183,7 +183,7 @@ index dee56aa..f2049ed 100644
  else
    libc_cv_mips_nan2008=no
 diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac
-index 45147c5..4224af1 100644
+index 9147aa4..7898e24 100644
 --- a/sysdeps/unix/sysv/linux/mips/configure.ac
 +++ b/sysdeps/unix/sysv/linux/mips/configure.ac
 @@ -105,9 +105,9 @@ AC_COMPILE_IFELSE(
@@ -259,5 +259,5 @@ index 0822915..9a32fdd 100644
      ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
    if test $libc_cv_ppc64_def_call_elf = no; then
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
index e51b611..e5b5083 100644
--- a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
+++ b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
@@ -1,7 +1,7 @@
-From 3e8586eb3509e2f0d6dfb74be8f89a30b06b56e9 Mon Sep 17 00:00:00 2001
+From fdb5c9c88e3d1bc5ae6ef9ebcfcf560d3c42f0a6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:33:03 +0000
-Subject: [PATCH 16/24] timezone: re-written tzselect as posix sh
+Subject: [PATCH 16/25] timezone: re-written tzselect as posix sh
 
 To avoid the bash dependency.
 
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/timezone/Makefile b/timezone/Makefile
-index 99566cb..b6e757e 100644
+index dee7568..66a50be 100644
 --- a/timezone/Makefile
 +++ b/timezone/Makefile
-@@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT%
+@@ -120,7 +120,7 @@ $(testdata)/XT%: testdata/XT%
  	cp $< $@
  
  $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
@@ -28,7 +28,7 @@ index 99566cb..b6e757e 100644
  	    -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
  	    -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
 diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh
-index 9d70691..25f45a8 100755
+index 2c3b2f4..0c04a61 100755
 --- a/timezone/tzselect.ksh
 +++ b/timezone/tzselect.ksh
 @@ -35,7 +35,7 @@ REPORT_BUGS_TO=tz@iana.org
@@ -38,8 +38,8 @@ index 9d70691..25f45a8 100755
 -: ${TZDIR=`pwd`}
 +: ${TZDIR=$(pwd)}
  
- # Check for awk Posix compliance.
- ($AWK -v x=y 'BEGIN { exit 123 }') </dev/null >/dev/null 2>&1
+ # Output one argument as-is to standard output.
+ # Safer than 'echo', which can mishandle '\' or leading '-'.
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
index 0c9ae6c..c8da05d 100644
--- a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
+++ b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
@@ -1,7 +1,7 @@
-From cd9d9fe7316f4ce4ca9d8e67e22f5718879535e4 Mon Sep 17 00:00:00 2001
+From 88ad88d014a5ee68b0e044d2def5ab13743c8ae0 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:33:02 -0800
-Subject: [PATCH 17/24] Remove bash dependency for nscd init script
+Subject: [PATCH 17/25] Remove bash dependency for nscd init script
 
 The nscd init script uses #! /bin/bash but only really uses one bashism
 (translated strings), so remove them and switch the shell to #!/bin/sh.
@@ -9,6 +9,8 @@ The nscd init script uses #! /bin/bash but only really uses one bashism
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
+Upstream-Status: Pending
+
  nscd/nscd.init | 14 +++++++-------
  1 file changed, 7 insertions(+), 7 deletions(-)
 
@@ -69,5 +71,5 @@ index a882da7..b02986e 100644
  	;;
  esac
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
index e282e60..1750765 100644
--- a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
+++ b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,7 +1,7 @@
-From 8f554f4a1beb39182aad9cd9b5e1da69464dff7e Mon Sep 17 00:00:00 2001
+From 49c0ad7dc2e02e808ed150296a109b586c34115a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:42:58 +0000
-Subject: [PATCH 18/24] eglibc: Cross building and testing instructions
+Subject: [PATCH 18/25] eglibc: Cross building and testing instructions
 
 Ported from eglibc
 Upstream-Status: Pending
@@ -615,5 +615,5 @@ index 0000000..b67b468
 +  simply place copies of these libraries in the top GLIBC build
 +  directory.
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
index c04e0a1..f983d86 100644
--- a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,7 +1,7 @@
-From c2d49eab20db4ab02b6de62092fedc623d757146 Mon Sep 17 00:00:00 2001
+From e881face7a10354612bf634b44e09e3bc6462c67 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:49:28 +0000
-Subject: [PATCH 19/24] eglibc: Help bootstrap cross toolchain
+Subject: [PATCH 19/25] eglibc: Help bootstrap cross toolchain
 
 Taken from EGLIBC, r1484 + r1525
 
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  create mode 100644 include/stubs-bootstrap.h
 
 diff --git a/Makefile b/Makefile
-index 9a01c93..a6ae003 100644
+index 32748b3..6d055ba 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -69,9 +69,18 @@ subdir-dirs = include
@@ -96,5 +96,5 @@ index 0000000..1d2b669
 +   EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
 +   an empty stubs.h like this will do fine for GCC.  */
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch
index 4362efa..30c4c69 100644
--- a/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch
+++ b/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch
@@ -1,7 +1,7 @@
-From 588d936b9aa65e7cc8b1eb2cad1d209087db43a9 Mon Sep 17 00:00:00 2001
+From 723a31d3e2627211b39fbcc08f75b3c23c4096c5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 15:10:33 -0800
-Subject: [PATCH 20/24] eglibc: cherry-picked from
+Subject: [PATCH 20/25] eglibc: cherry-picked from
 
 http://www.eglibc.org/archives/patches/msg00772.html
 
@@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 13 insertions(+), 1 deletion(-)
 
 diff --git a/resolv/res_libc.c b/resolv/res_libc.c
-index a8394e0..981ac7c 100644
+index a4b376f..3256e12 100644
 --- a/resolv/res_libc.c
 +++ b/resolv/res_libc.c
-@@ -18,6 +18,7 @@
+@@ -21,11 +21,13 @@
  #include <atomic.h>
  #include <limits.h>
  #include <sys/types.h>
@@ -26,15 +26,13 @@ index a8394e0..981ac7c 100644
  #include <netinet/in.h>
  #include <arpa/nameser.h>
  #include <resolv.h>
-@@ -28,6 +29,7 @@
-    out) since res_init() should go into libc.so but the rest of that
-    file should not.  */
+ #include <libc-lock.h>
  
 +__libc_lock_define_initialized (static, lock);
  extern unsigned long long int __res_initstamp attribute_hidden;
  /* We have atomic increment operations on 64-bit platforms.  */
  #if __WORDSIZE == 64
-@@ -35,7 +37,6 @@ extern unsigned long long int __res_initstamp attribute_hidden;
+@@ -33,7 +35,6 @@ extern unsigned long long int __res_initstamp attribute_hidden;
  # define atomicincunlock(lock) (void) 0
  # define atomicinc(var) catomic_increment (&(var))
  #else
@@ -42,7 +40,7 @@ index a8394e0..981ac7c 100644
  # define atomicinclock(lock) __libc_lock_lock (lock)
  # define atomicincunlock(lock) __libc_lock_unlock (lock)
  # define atomicinc(var) ++var
-@@ -94,7 +95,18 @@ res_init(void) {
+@@ -92,7 +93,18 @@ res_init(void) {
  int
  __res_maybe_init (res_state resp, int preinit)
  {
@@ -62,5 +60,5 @@ index a8394e0..981ac7c 100644
  			if (resp->nscount > 0)
  				__res_iclose (resp, true);
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch
index 225f22f..8931c9e 100644
--- a/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch
+++ b/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch
@@ -1,7 +1,7 @@
-From b74e34e6f53816ad57b13ba6fd70a97db1bc1eae Mon Sep 17 00:00:00 2001
+From 9699873820d0347c2f377f0d86bce615d87a5e47 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 15:15:09 -0800
-Subject: [PATCH 21/24] eglibc: Clear cache lines on ppc8xx
+Subject: [PATCH 21/25] eglibc: Clear cache lines on ppc8xx
 
 2007-06-13  Nathan Sidwell  <nathan@codesourcery.com>
             Mark Shinwell  <shinwell@codesourcery.com>
@@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  2 files changed, 28 insertions(+), 2 deletions(-)
 
 diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
-index c2504ff..d50f1cb 100644
+index 98ec2b3..b384ae0 100644
 --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
 +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
 @@ -24,9 +24,21 @@ int __cache_line_size attribute_hidden;
@@ -48,7 +48,7 @@ index c2504ff..d50f1cb 100644
  	break;
  
 diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
-index 209a16d..5d8572d 100644
+index 0efd297..8cc0ef8 100644
 --- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
 +++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
 @@ -73,11 +73,25 @@ __libc_start_main (int argc, char **argv,
@@ -79,5 +79,5 @@ index 209a16d..5d8572d 100644
  	break;
  #ifndef SHARED
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch
index 88b20f6..f53f5ff 100644
--- a/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,7 +1,7 @@
-From 8f483cb1f21ab6431ff99e8d30d56b91607ae918 Mon Sep 17 00:00:00 2001
+From 8904f4249c930d187e19c7e9d3e73c835d11e18f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:55:53 +0000
-Subject: [PATCH 22/24] eglibc: Resolve __fpscr_values on SH4
+Subject: [PATCH 22/25] eglibc: Resolve __fpscr_values on SH4
 
 2010-09-29  Nobuhiro Iwamatsu  <iwamatsu@nigauri.org>
             Andrew Stubbs  <ams@codesourcery.com>
@@ -33,7 +33,7 @@ index e0938c4..ca1d7da 100644
      # a*
      alphasort64;
 diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
-index a02b7e2..b9be326 100644
+index 0024d79..d1db7e4 100644
 --- a/sysdeps/unix/sysv/linux/sh/sysdep.S
 +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
 @@ -30,3 +30,14 @@ ENTRY (__syscall_error)
@@ -52,5 +52,5 @@ index a02b7e2..b9be326 100644
 +weak_alias (___fpscr_values, __fpscr_values)
 +
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch b/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch
index d95ea3b..f985f3c 100644
--- a/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch
+++ b/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch
@@ -1,7 +1,7 @@
-From 58d424884eed7efde6c90af0cd7c6c37cf9b444a Mon Sep 17 00:00:00 2001
+From 1947f211fab4001e84bb52868cddbd401e597889 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:57:01 +0000
-Subject: [PATCH 23/24] eglibc: Install PIC archives
+Subject: [PATCH 23/25] eglibc: Install PIC archives
 
 Forward port from eglibc
 
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 40 insertions(+), 2 deletions(-)
 
 diff --git a/Makerules b/Makerules
-index fa24030..1ff4634 100644
+index 53eabfa..1cd2a53 100644
 --- a/Makerules
 +++ b/Makerules
 @@ -694,6 +694,9 @@ ifeq ($(build-shared),yes)
@@ -119,5 +119,5 @@ index fa24030..1ff4634 100644
  install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \
  			    install-rootsbin-nosubdir install-sbin-nosubdir \
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0025-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch
similarity index 97%
rename from meta/recipes-core/glibc/glibc/0025-eglibc-Forward-port-cross-locale-generation-support.patch
rename to meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch
index 68d1119..c45b557 100644
--- a/meta/recipes-core/glibc/glibc/0025-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,7 +1,7 @@
-From a5695930aec68b3f501e475d8705cddbb63f695e Mon Sep 17 00:00:00 2001
+From 11d7633178301add26a24657e2f1596a2f7dddce Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:33:49 +0000
-Subject: [PATCH 25/25] eglibc: Forward port cross locale generation support
+Subject: [PATCH 24/25] eglibc: Forward port cross locale generation support
 
 Upstream-Status: Pending
 
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  create mode 100644 locale/catnames.c
 
 diff --git a/locale/Makefile b/locale/Makefile
-index 75afbe1..d32523b 100644
+index c5379e6..c98c675 100644
 --- a/locale/Makefile
 +++ b/locale/Makefile
 @@ -25,7 +25,8 @@ include ../Makeconfig
@@ -91,7 +91,7 @@ index 0000000..9fad357
 +    [LC_ALL] = sizeof ("LC_ALL") - 1
 +  };
 diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 789da44..4ac9249 100644
+index 94627f3..d0db77b 100644
 --- a/locale/localeinfo.h
 +++ b/locale/localeinfo.h
 @@ -224,7 +224,7 @@ __libc_tsd_define (extern, __locale_t, LOCALE)
@@ -104,7 +104,7 @@ index 789da44..4ac9249 100644
  # define NL_CURRENT_INDIRECT	1
  #endif
 diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
-index cf7adea..ef3b811 100644
+index 99fcd35..5e528dc 100644
 --- a/locale/programs/charmap-dir.c
 +++ b/locale/programs/charmap-dir.c
 @@ -19,7 +19,9 @@
@@ -150,7 +150,7 @@ index cf7adea..ef3b811 100644
    return NULL;
  }
 diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index dc0fe30..3c88c6d 100644
+index 1e125f6..3b2867f 100644
 --- a/locale/programs/ld-collate.c
 +++ b/locale/programs/ld-collate.c
 @@ -350,7 +350,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
@@ -199,7 +199,7 @@ index dc0fe30..3c88c6d 100644
  			 == runp->wcnext->wcs[runp->nwcs - 1] + 1));
  
 diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
-index 3f464ef..b7b6b51 100644
+index 0fd141c..68136e6 100644
 --- a/locale/programs/ld-ctype.c
 +++ b/locale/programs/ld-ctype.c
 @@ -926,7 +926,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
@@ -281,7 +281,7 @@ index 3f464ef..b7b6b51 100644
  	      srunp = srunp->next;
  	    }
 diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
-index db490c6..75dc505 100644
+index 87531bc..5f2c266 100644
 --- a/locale/programs/ld-time.c
 +++ b/locale/programs/ld-time.c
 @@ -215,8 +215,10 @@ No definition for %s category found"), "LC_TIME"));
@@ -331,7 +331,7 @@ index db490c6..75dc505 100644
  		}
  	      else
  		time->era_entries[idx].wname =
-@@ -530,7 +532,16 @@ No definition for %s category found"), "LC_TIME"));
+@@ -534,7 +536,16 @@ No definition for %s category found"), "LC_TIME"));
    if (time->date_fmt == NULL)
      time->date_fmt = "%a %b %e %H:%M:%S %Z %Y";
    if (time->wdate_fmt == NULL)
@@ -350,7 +350,7 @@ index db490c6..75dc505 100644
  
  
 diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
-index 2e05130..653b68c 100644
+index b885f65..0afb631 100644
 --- a/locale/programs/linereader.c
 +++ b/locale/programs/linereader.c
 @@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
@@ -363,7 +363,7 @@ index 2e05130..653b68c 100644
    size_t bufmax = 56;
  
 diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
-index fd6ca51..328d36c 100644
+index 6becd9a..8ddd080 100644
 --- a/locale/programs/localedef.c
 +++ b/locale/programs/localedef.c
 @@ -114,6 +114,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
@@ -409,7 +409,7 @@ index fd6ca51..328d36c 100644
        force_output = 1;
        break;
 diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
-index 33da52e..f790c4c 100644
+index 32f5cd2..02967b0 100644
 --- a/locale/programs/locfile.c
 +++ b/locale/programs/locfile.c
 @@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
@@ -432,7 +432,7 @@ index 33da52e..f790c4c 100644
  
  /* Record that FILE's next element is the 32-bit integer VALUE.  */
 diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
-index 6fc441b..118b171 100644
+index a3dd904..2c7763a 100644
 --- a/locale/programs/locfile.h
 +++ b/locale/programs/locfile.h
 @@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions,
@@ -521,7 +521,7 @@ index 6fc441b..118b171 100644
 +
  #endif /* locfile.h */
 diff --git a/locale/setlocale.c b/locale/setlocale.c
-index ead030d..b551332 100644
+index 69b3141..1cef0be 100644
 --- a/locale/setlocale.c
 +++ b/locale/setlocale.c
 @@ -64,36 +64,6 @@ static char *const _nl_current_used[] =
@@ -562,5 +562,5 @@ index ead030d..b551332 100644
  # define WEAK_POSTLOAD(postload) weak_extern (postload)
  #else
 -- 
-2.6.4
+2.8.2
 
diff --git a/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch b/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
new file mode 100644
index 0000000..9d60d02
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
@@ -0,0 +1,32 @@
+From 89ec25290d34413ce5c8ba6c378e31dbae3a37c0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 20 Apr 2016 21:11:00 -0700
+Subject: [PATCH 25/25] Define DUMMY_LOCALE_T if not defined
+
+This is a hack to fix building the locale bits on an older
+CentOs 5.X machine
+
+Upstream-Status: Inappropriate [other]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ locale/programs/config.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/locale/programs/config.h b/locale/programs/config.h
+index f606365..0e5f8c3 100644
+--- a/locale/programs/config.h
++++ b/locale/programs/config.h
+@@ -19,6 +19,9 @@
+ #ifndef _LD_CONFIG_H
+ #define _LD_CONFIG_H	1
+ 
++#ifndef DUMMY_LOCALE_T
++#define DUMMY_LOCALE_T
++#endif
+ /* Use the internal textdomain used for libc messages.  */
+ #define PACKAGE _libc_intl_domainname
+ #ifndef VERSION
+-- 
+2.8.2
+
diff --git a/meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch b/meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
deleted file mode 100644
index 2b889a9..0000000
--- a/meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 97fe7f1b23ea1f17533884b8fa7f7eb40087d558 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 5 Jan 2016 17:50:00 -0800
-Subject: [PATCH] When disabling SSE,  make sure -fpmath is not set to use SSE
- either
-
-This fixes errors when we inject sse options through CFLAGS and now
-that we have -Werror turned on by default this warning turns to become
-error on x86
-
-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -x c /dev/null -S
--mno-sse -mno-mmx
-
-generates warning
-/dev/null:1:0: warning: SSE instruction set disabled, using 387
-arithmetics
-
-where as
-
-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -x c /dev/null -S
--mno-sse -mno-mmx -mfpmath=387
-
-Generates no warnings
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- ChangeLog             | 5 +++++
- sysdeps/i386/Makefile | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
-index 168512f..70153b3 100644
---- a/sysdeps/i386/Makefile
-+++ b/sysdeps/i386/Makefile
-@@ -89,7 +89,7 @@ ifeq ($(subdir),elf)
- # the first 3 mm/xmm/ymm/zmm registers are used to pass vector parameters
- # which must be preserved.
- CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
--		   -mno-sse -mno-mmx)
-+		   -mno-sse -mno-mmx -mfpmath=387)
- 
- tests-special += $(objpfx)tst-ld-sse-use.out
- $(objpfx)tst-ld-sse-use.out: ../sysdeps/i386/tst-ld-sse-use.sh $(objpfx)ld.so
--- 
-2.6.4
-
diff --git a/meta/recipes-core/glibc/glibc_2.23.bb b/meta/recipes-core/glibc/glibc_2.24.bb
similarity index 93%
rename from meta/recipes-core/glibc/glibc_2.23.bb
rename to meta/recipes-core/glibc/glibc_2.24.bb
index 18f4066..77630e3 100644
--- a/meta/recipes-core/glibc/glibc_2.23.bb
+++ b/meta/recipes-core/glibc/glibc_2.24.bb
@@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \
 
 DEPENDS += "gperf-native"
 
-SRCREV ?= "e742928c1592b43db6809db4f39e67be151cdd27"
+SRCREV ?= "1ac3eaa6bcc473a56340c24511786ff48a91293e"
 
-SRCBRANCH ?= "release/${PV}/master"
+#SRCBRANCH ?= "release/${PV}/master"
+SRCBRANCH ?= "master"
 
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
@@ -34,8 +35,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0021-eglibc-Clear-cache-lines-on-ppc8xx.patch \
            file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \
            file://0023-eglibc-Install-PIC-archives.patch \
-           file://0025-eglibc-Forward-port-cross-locale-generation-support.patch \
-           file://0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch \
+           file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \
+           file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \
 "
 
 SRC_URI += "\
@@ -59,8 +60,7 @@ PACKAGES_DYNAMIC = ""
 BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
 TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
 
-GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1"
-
+GLIBC_BROKEN_LOCALES = ""
 #
 # We will skip parsing glibc when target system C library selection is not glibc
 # this helps in easing out parsing for non-glibc system libraries
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 03/42] glib-2.0: Ignore useless warning found with gcc-6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
  2016-05-11 17:35 ` [PATCH 01/42] gcc: Add gcc6 recipes Khem Raj
  2016-05-11 17:35 ` [PATCH 02/42] glibc: Add recipes for 2.24 release Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 04/42] elfutils: Upgrade to 0.166 Khem Raj
                   ` (40 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

../../glib-2.46.2/glib/gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
       tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
       ^~~~~~

| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c: In function 'test_strftime':
| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c:1338:3: error: '%c' yields only last 2 digits of year in some locales [-Werror=format-y2k]
|    "a%a A%A b%b B%B c%c C%C d%d e%e F%F g%g G%G h%h H%H I%I j%j m%m M%M " \

Additionally fix the problem seen where write() return code is ignored

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-Do-not-ignore-return-value-of-write.patch | 42 ++++++++++++++++++++++
 .../glib-2.0/0002-tests-Ignore-y2k-warnings.patch  | 42 ++++++++++++++++++++++
 .../ignore-format-nonliteral-warning.patch         | 39 ++++++++++++++++++++
 meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb      |  7 ++--
 4 files changed, 128 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch

diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
new file mode 100644
index 0000000..aee96aa
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
@@ -0,0 +1,42 @@
+From d6501b107940e9f548c89236d773c6d33c15a5c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Apr 2016 13:28:59 -0700
+Subject: [PATCH 1/2] Do not ignore return value of write()
+
+gcc warns about ignoring return value when compiling
+with fortify turned on.
+
+assert when write() fails
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ glib/tests/unix.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/glib/tests/unix.c b/glib/tests/unix.c
+index 3543458..4e7ed85 100644
+--- a/glib/tests/unix.c
++++ b/glib/tests/unix.c
+@@ -32,14 +32,15 @@ test_pipe (void)
+   GError *error = NULL;
+   int pipefd[2];
+   char buf[1024];
+-  ssize_t bytes_read;
++  ssize_t bytes_read, bytes_written;
+   gboolean res;
+ 
+   res = g_unix_open_pipe (pipefd, FD_CLOEXEC, &error);
+   g_assert (res);
+   g_assert_no_error (error);
+ 
+-  write (pipefd[1], "hello", sizeof ("hello"));
++  bytes_written = write (pipefd[1], "hello", sizeof ("hello"));
++  g_assert (bytes_written != -1 && "write() failed");
+   memset (buf, 0, sizeof (buf));
+   bytes_read = read (pipefd[0], buf, sizeof(buf) - 1);
+   g_assert_cmpint (bytes_read, >, 0);
+-- 
+2.8.0
+
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch b/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
new file mode 100644
index 0000000..f61fa0a
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
@@ -0,0 +1,42 @@
+From b06b22fecc7deda8c65e28670562ca2371e4e725 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Apr 2016 13:43:54 -0700
+Subject: [PATCH 2/2] tests: Ignore y2k warnings
+
+silences
+| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c: In function 'test_strftime':
+| ../../../../../../../../workspace/sources/glib-2.0/glib/tests/gdatetime.c:1338:3: error: '%c' yields only last 2 digits of year in some locales [-Werror=format-y2k]
+|    "a%a A%A b%b B%B c%c C%C d%d e%e F%F g%g G%G h%h H%H I%I j%j m%m M%M "
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ glib/tests/gdatetime.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
+index 16a163c..e6062fc 100644
+--- a/glib/tests/gdatetime.c
++++ b/glib/tests/gdatetime.c
+@@ -1326,6 +1326,9 @@ test_z (void)
+   g_time_zone_unref (tz);
+ }
+ 
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-y2k"
++
+ static void
+ test_strftime (void)
+ {
+@@ -1351,6 +1354,7 @@ test_strftime (void)
+     }
+ #endif
+ }
++#pragma GCC diagnostic pop
+ 
+ static void
+ test_find_interval (void)
+-- 
+2.8.0
+
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch b/meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
new file mode 100644
index 0000000..d533975
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
@@ -0,0 +1,39 @@
+From 8cdbc7fb2c8c876902e457abe46ee18a0b134486 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Wed, 2 Mar 2016 19:38:48 +0200
+Subject: gdate: Move warning pragma outside of function
+
+Commit 0817af40e8c74c721c30f6ef482b1f53d12044c7 breaks the build on
+older versions of GCC, which don't allow pragma inside functions.
+
+https://bugzilla.gnome.org/761550
+---
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ glib/gdate.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/glib/gdate.c b/glib/gdate.c
+index cdc735c..92c34d2 100644
+--- a/glib/gdate.c
++++ b/glib/gdate.c
+@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate     *d,
+  *
+  * Returns: number of characters written to the buffer, or 0 the buffer was too small
+  */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
++
+ gsize     
+ g_date_strftime (gchar       *s, 
+                  gsize        slen, 
+@@ -2552,3 +2552,5 @@ g_date_strftime (gchar       *s,
+   return retval;
+ #endif
+ }
++
++#pragma GCC diagnostic pop
+-- 
+cgit v0.12
+
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb
index 8e445b4..9e95149 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb
@@ -13,11 +13,14 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
            file://uclibc_musl_translation.patch \
            file://0001-configure.ac-Do-not-use-readlink-when-cross-compilin.patch \
            file://allow-run-media-sdX-drive-mount-if-username-root.patch \
-	   file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
+           file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
            file://Enable-more-tests-while-cross-compiling.patch \
            file://gi-exclude.patch \
            file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
-          "
+           file://ignore-format-nonliteral-warning.patch \
+           file://0001-Do-not-ignore-return-value-of-write.patch \
+           file://0002-tests-Ignore-y2k-warnings.patch \
+           "
 
 SRC_URI_append_class-native = " file://glib-gettextize-dir.patch \
                                 file://relocate-modules.patch"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 04/42] elfutils: Upgrade to 0.166
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (2 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 03/42] glib-2.0: Ignore useless warning found with gcc-6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 05/42] rpm: Fix build with gcc6 Khem Raj
                   ` (39 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Has many fixes for compiling it with gcc-6

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ferences-between-mips-machine-identifiers.patch |   0
 ...de-alternatives-for-glibc-assumptions-hel.patch | 488 ++++++++++-----------
 ...m-Silence-Werror-maybe-uninitialized-fals.patch |   0
 .../0001-fix-a-stack-usage-warning.patch           |   0
 .../0001-remove-the-unneed-checking.patch          |   0
 ...-support-for-mips64-abis-in-mips_retval.c.patch |   0
 .../0003-Add-mips-n64-relocation-format-hack.patch |   0
 .../aarch64_uio.patch                              |   0
 .../arm_backend.diff                               |   0
 .../elfcmp-fix-self-comparision.patch              |  41 ++
 .../fixheadercheck.patch                           |   0
 .../hppa_backend.diff                              |   0
 .../kfreebsd_path.patch                            |   0
 .../m68k_backend.diff                              |   0
 .../mips_backend.diff                              |   0
 .../mips_readelf_w.patch                           |   0
 .../shadow.patch                                   |   0
 .../testsuite-ignore-elflint.diff                  |   0
 .../uclibc-support.patch                           |  37 +-
 .../{elfutils_0.164.bb => elfutils_0.166.bb}       |   6 +-
 20 files changed, 306 insertions(+), 266 deletions(-)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-Ignore-differences-between-mips-machine-identifiers.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch (71%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-fix-a-stack-usage-warning.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-remove-the-unneed-checking.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0003-Add-mips-n64-relocation-format-hack.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/aarch64_uio.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/arm_backend.diff (100%)
 create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/fixheadercheck.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/hppa_backend.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/kfreebsd_path.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/m68k_backend.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_backend.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_readelf_w.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/shadow.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/testsuite-ignore-elflint.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/uclibc-support.patch (82%)
 rename meta/recipes-devtools/elfutils/{elfutils_0.164.bb => elfutils_0.166.bb} (94%)

diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0001-Ignore-differences-between-mips-machine-identifiers.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0001-Ignore-differences-between-mips-machine-identifiers.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0001-Ignore-differences-between-mips-machine-identifiers.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0001-Ignore-differences-between-mips-machine-identifiers.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch
similarity index 71%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch
index c8d1c89..38b31f6 100644
--- a/meta/recipes-devtools/elfutils/elfutils-0.164/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch
+++ b/meta/recipes-devtools/elfutils/elfutils-0.166/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch
@@ -87,11 +87,11 @@ Upstream-Status: Pending
  tests/vdsosyms.c                 |  2 +-
  77 files changed, 109 insertions(+), 73 deletions(-)
 
-Index: elfutils-0.164/Makefile.am
+Index: elfutils-0.166/Makefile.am
 ===================================================================
---- elfutils-0.164.orig/Makefile.am
-+++ elfutils-0.164/Makefile.am
-@@ -24,7 +24,7 @@ pkginclude_HEADERS = version.h
+--- elfutils-0.166.orig/Makefile.am
++++ elfutils-0.166/Makefile.am
+@@ -28,7 +28,7 @@ pkginclude_HEADERS = version.h
  
  # Add doc back when we have some real content.
  SUBDIRS = config m4 lib libelf libebl libdwelf libdwfl libdw libcpu libasm \
@@ -100,10 +100,10 @@ Index: elfutils-0.164/Makefile.am
  
  EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
  	     COPYING COPYING-GPLV2 COPYING-LGPLV3
-Index: elfutils-0.164/lib/color.c
+Index: elfutils-0.166/lib/color.c
 ===================================================================
---- elfutils-0.164.orig/lib/color.c
-+++ elfutils-0.164/lib/color.c
+--- elfutils-0.166.orig/lib/color.c
++++ elfutils-0.166/lib/color.c
 @@ -32,7 +32,7 @@
  #endif
  
@@ -113,10 +113,10 @@ Index: elfutils-0.164/lib/color.c
  #include <libintl.h>
  #include <stdlib.h>
  #include <string.h>
-Index: elfutils-0.164/lib/crc32_file.c
+Index: elfutils-0.166/lib/crc32_file.c
 ===================================================================
---- elfutils-0.164.orig/lib/crc32_file.c
-+++ elfutils-0.164/lib/crc32_file.c
+--- elfutils-0.166.orig/lib/crc32_file.c
++++ elfutils-0.166/lib/crc32_file.c
 @@ -30,12 +30,14 @@
  # include <config.h>
  #endif
@@ -133,10 +133,10 @@ Index: elfutils-0.164/lib/crc32_file.c
  int
  crc32_file (int fd, uint32_t *resp)
  {
-Index: elfutils-0.164/lib/fixedsizehash.h
+Index: elfutils-0.166/lib/fixedsizehash.h
 ===================================================================
---- elfutils-0.164.orig/lib/fixedsizehash.h
-+++ elfutils-0.164/lib/fixedsizehash.h
+--- elfutils-0.166.orig/lib/fixedsizehash.h
++++ elfutils-0.166/lib/fixedsizehash.h
 @@ -30,12 +30,12 @@
  #include <errno.h>
  #include <stdlib.h>
@@ -152,10 +152,10 @@ Index: elfutils-0.164/lib/fixedsizehash.h
  
  /* Before including this file the following macros must be defined:
  
-Index: elfutils-0.164/lib/system.h
+Index: elfutils-0.166/lib/system.h
 ===================================================================
---- elfutils-0.164.orig/lib/system.h
-+++ elfutils-0.164/lib/system.h
+--- elfutils-0.166.orig/lib/system.h
++++ elfutils-0.166/lib/system.h
 @@ -49,6 +49,16 @@
  #else
  # error "Unknown byte order"
@@ -173,10 +173,10 @@ Index: elfutils-0.164/lib/system.h
  
  extern void *xmalloc (size_t) __attribute__ ((__malloc__));
  extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__));
-Index: elfutils-0.164/lib/xmalloc.c
+Index: elfutils-0.166/lib/xmalloc.c
 ===================================================================
---- elfutils-0.164.orig/lib/xmalloc.c
-+++ elfutils-0.164/lib/xmalloc.c
+--- elfutils-0.166.orig/lib/xmalloc.c
++++ elfutils-0.166/lib/xmalloc.c
 @@ -30,7 +30,7 @@
  # include <config.h>
  #endif
@@ -186,10 +186,10 @@ Index: elfutils-0.164/lib/xmalloc.c
  #include <libintl.h>
  #include <stddef.h>
  #include <stdlib.h>
-Index: elfutils-0.164/libasm/asm_end.c
+Index: elfutils-0.166/libasm/asm_end.c
 ===================================================================
---- elfutils-0.164.orig/libasm/asm_end.c
-+++ elfutils-0.164/libasm/asm_end.c
+--- elfutils-0.166.orig/libasm/asm_end.c
++++ elfutils-0.166/libasm/asm_end.c
 @@ -32,7 +32,7 @@
  #endif
  
@@ -199,10 +199,10 @@ Index: elfutils-0.164/libasm/asm_end.c
  #include <libintl.h>
  #include <stdio.h>
  #include <stdlib.h>
-Index: elfutils-0.164/libasm/asm_newscn.c
+Index: elfutils-0.166/libasm/asm_newscn.c
 ===================================================================
---- elfutils-0.164.orig/libasm/asm_newscn.c
-+++ elfutils-0.164/libasm/asm_newscn.c
+--- elfutils-0.166.orig/libasm/asm_newscn.c
++++ elfutils-0.166/libasm/asm_newscn.c
 @@ -32,7 +32,7 @@
  #endif
  
@@ -212,10 +212,10 @@ Index: elfutils-0.164/libasm/asm_newscn.c
  #include <libintl.h>
  #include <stdlib.h>
  #include <string.h>
-Index: elfutils-0.164/libcpu/i386_gendis.c
+Index: elfutils-0.166/libcpu/i386_gendis.c
 ===================================================================
---- elfutils-0.164.orig/libcpu/i386_gendis.c
-+++ elfutils-0.164/libcpu/i386_gendis.c
+--- elfutils-0.166.orig/libcpu/i386_gendis.c
++++ elfutils-0.166/libcpu/i386_gendis.c
 @@ -31,7 +31,7 @@
  # include <config.h>
  #endif
@@ -225,11 +225,11 @@ Index: elfutils-0.164/libcpu/i386_gendis.c
  #include <errno.h>
  #include <stdio.h>
  #include <stdlib.h>
-Index: elfutils-0.164/libcpu/i386_lex.c
+Index: elfutils-0.166/libcpu/i386_lex.c
 ===================================================================
---- elfutils-0.164.orig/libcpu/i386_lex.c
-+++ elfutils-0.164/libcpu/i386_lex.c
-@@ -571,7 +571,7 @@ char *i386_text;
+--- elfutils-0.166.orig/libcpu/i386_lex.c
++++ elfutils-0.166/libcpu/i386_lex.c
+@@ -578,7 +578,7 @@ char *i386_text;
  #endif
  
  #include <ctype.h>
@@ -238,10 +238,10 @@ Index: elfutils-0.164/libcpu/i386_lex.c
  #include <libintl.h>
  
  #include <system.h>
-Index: elfutils-0.164/libcpu/i386_parse.c
+Index: elfutils-0.166/libcpu/i386_parse.c
 ===================================================================
---- elfutils-0.164.orig/libcpu/i386_parse.c
-+++ elfutils-0.164/libcpu/i386_parse.c
+--- elfutils-0.166.orig/libcpu/i386_parse.c
++++ elfutils-0.166/libcpu/i386_parse.c
 @@ -107,7 +107,7 @@
  #include <assert.h>
  #include <ctype.h>
@@ -251,23 +251,23 @@ Index: elfutils-0.164/libcpu/i386_parse.c
  #include <inttypes.h>
  #include <libintl.h>
  #include <math.h>
-Index: elfutils-0.164/libdw/Makefile.am
+Index: elfutils-0.166/libdw/Makefile.am
 ===================================================================
---- elfutils-0.164.orig/libdw/Makefile.am
-+++ elfutils-0.164/libdw/Makefile.am
+--- elfutils-0.166.orig/libdw/Makefile.am
++++ elfutils-0.166/libdw/Makefile.am
 @@ -117,7 +117,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map l
  		-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
  		-Wl,--version-script,$<,--no-undefined \
  		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
--		-ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS)
-+		-ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) -lfts -largp
+-		-ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS)
++		-ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS) -lfts -largp
  	@$(textrel_check)
  	$(AM_V_at)ln -fs $@ $@.$(VERSION)
  
-Index: elfutils-0.164/libdw/libdw_alloc.c
+Index: elfutils-0.166/libdw/libdw_alloc.c
 ===================================================================
---- elfutils-0.164.orig/libdw/libdw_alloc.c
-+++ elfutils-0.164/libdw/libdw_alloc.c
+--- elfutils-0.166.orig/libdw/libdw_alloc.c
++++ elfutils-0.166/libdw/libdw_alloc.c
 @@ -31,11 +31,12 @@
  # include <config.h>
  #endif
@@ -282,11 +282,11 @@ Index: elfutils-0.164/libdw/libdw_alloc.c
  
  
  void *
-Index: elfutils-0.164/libdwfl/Makefile.am
+Index: elfutils-0.166/libdwfl/Makefile.am
 ===================================================================
---- elfutils-0.164.orig/libdwfl/Makefile.am
-+++ elfutils-0.164/libdwfl/Makefile.am
-@@ -86,6 +86,8 @@ libelf = ../libelf/libelf.so
+--- elfutils-0.166.orig/libdwfl/Makefile.am
++++ elfutils-0.166/libdwfl/Makefile.am
+@@ -84,6 +84,8 @@ libelf = ../libelf/libelf.so
  libebl = ../libebl/libebl.a
  libeu = ../lib/libeu.a
  
@@ -295,10 +295,10 @@ Index: elfutils-0.164/libdwfl/Makefile.am
  libdwfl_pic_a_SOURCES =
  am_libdwfl_pic_a_OBJECTS = $(libdwfl_a_SOURCES:.c=.os)
  
-Index: elfutils-0.164/libdwfl/dwfl_build_id_find_elf.c
+Index: elfutils-0.166/libdwfl/dwfl_build_id_find_elf.c
 ===================================================================
---- elfutils-0.164.orig/libdwfl/dwfl_build_id_find_elf.c
-+++ elfutils-0.164/libdwfl/dwfl_build_id_find_elf.c
+--- elfutils-0.166.orig/libdwfl/dwfl_build_id_find_elf.c
++++ elfutils-0.166/libdwfl/dwfl_build_id_find_elf.c
 @@ -27,6 +27,7 @@
     not, see <http://www.gnu.org/licenses/>.  */
  
@@ -316,10 +316,10 @@ Index: elfutils-0.164/libdwfl/dwfl_build_id_find_elf.c
  	  if (*file_name == NULL)
  	    {
  	      *file_name = name;
-Index: elfutils-0.164/libdwfl/dwfl_error.c
+Index: elfutils-0.166/libdwfl/dwfl_error.c
 ===================================================================
---- elfutils-0.164.orig/libdwfl/dwfl_error.c
-+++ elfutils-0.164/libdwfl/dwfl_error.c
+--- elfutils-0.166.orig/libdwfl/dwfl_error.c
++++ elfutils-0.166/libdwfl/dwfl_error.c
 @@ -140,6 +140,7 @@ __libdwfl_seterrno (Dwfl_Error error)
  const char *
  dwfl_errmsg (int error)
@@ -338,10 +338,10 @@ Index: elfutils-0.164/libdwfl/dwfl_error.c
      case OTHER_ERROR (LIBELF):
        return elf_errmsg (error & 0xffff);
      case OTHER_ERROR (LIBDW):
-Index: elfutils-0.164/libdwfl/dwfl_module_getdwarf.c
+Index: elfutils-0.166/libdwfl/dwfl_module_getdwarf.c
 ===================================================================
---- elfutils-0.164.orig/libdwfl/dwfl_module_getdwarf.c
-+++ elfutils-0.164/libdwfl/dwfl_module_getdwarf.c
+--- elfutils-0.166.orig/libdwfl/dwfl_module_getdwarf.c
++++ elfutils-0.166/libdwfl/dwfl_module_getdwarf.c
 @@ -31,6 +31,7 @@
  #include <fcntl.h>
  #include <string.h>
@@ -350,11 +350,11 @@ Index: elfutils-0.164/libdwfl/dwfl_module_getdwarf.c
  #include "../libdw/libdwP.h"	/* DWARF_E_* values are here.  */
  #include "../libelf/libelfP.h"
  
-Index: elfutils-0.164/libdwfl/find-debuginfo.c
+Index: elfutils-0.166/libdwfl/find-debuginfo.c
 ===================================================================
---- elfutils-0.164.orig/libdwfl/find-debuginfo.c
-+++ elfutils-0.164/libdwfl/find-debuginfo.c
-@@ -372,7 +372,7 @@ dwfl_standard_find_debuginfo (Dwfl_Modul
+--- elfutils-0.166.orig/libdwfl/find-debuginfo.c
++++ elfutils-0.166/libdwfl/find-debuginfo.c
+@@ -385,7 +385,7 @@ dwfl_standard_find_debuginfo (Dwfl_Modul
        /* If FILE_NAME is a symlink, the debug file might be associated
  	 with the symlink target name instead.  */
  
@@ -363,10 +363,10 @@ Index: elfutils-0.164/libdwfl/find-debuginfo.c
        if (canon != NULL && strcmp (file_name, canon))
  	fd = find_debuginfo_in_path (mod, canon,
  				     debuglink_file, debuglink_crc,
-Index: elfutils-0.164/libdwfl/libdwfl_crc32_file.c
+Index: elfutils-0.166/libdwfl/libdwfl_crc32_file.c
 ===================================================================
---- elfutils-0.164.orig/libdwfl/libdwfl_crc32_file.c
-+++ elfutils-0.164/libdwfl/libdwfl_crc32_file.c
+--- elfutils-0.166.orig/libdwfl/libdwfl_crc32_file.c
++++ elfutils-0.166/libdwfl/libdwfl_crc32_file.c
 @@ -31,6 +31,16 @@
  
  #define crc32_file attribute_hidden __libdwfl_crc32_file
@@ -384,10 +384,10 @@ Index: elfutils-0.164/libdwfl/libdwfl_crc32_file.c
  #define LIB_SYSTEM_H	1
  #include <libdwflP.h>
  #include "../lib/crc32_file.c"
-Index: elfutils-0.164/libdwfl/linux-kernel-modules.c
+Index: elfutils-0.166/libdwfl/linux-kernel-modules.c
 ===================================================================
---- elfutils-0.164.orig/libdwfl/linux-kernel-modules.c
-+++ elfutils-0.164/libdwfl/linux-kernel-modules.c
+--- elfutils-0.166.orig/libdwfl/linux-kernel-modules.c
++++ elfutils-0.166/libdwfl/linux-kernel-modules.c
 @@ -34,6 +34,7 @@
  #include <config.h>
  
@@ -396,10 +396,10 @@ Index: elfutils-0.164/libdwfl/linux-kernel-modules.c
  #include <inttypes.h>
  #include <errno.h>
  #include <stdio.h>
-Index: elfutils-0.164/libebl/eblopenbackend.c
+Index: elfutils-0.166/libebl/eblopenbackend.c
 ===================================================================
---- elfutils-0.164.orig/libebl/eblopenbackend.c
-+++ elfutils-0.164/libebl/eblopenbackend.c
+--- elfutils-0.166.orig/libebl/eblopenbackend.c
++++ elfutils-0.166/libebl/eblopenbackend.c
 @@ -32,7 +32,7 @@
  
  #include <assert.h>
@@ -409,10 +409,10 @@ Index: elfutils-0.164/libebl/eblopenbackend.c
  #include <libelfP.h>
  #include <dwarf.h>
  #include <stdlib.h>
-Index: elfutils-0.164/libebl/eblwstrtab.c
+Index: elfutils-0.166/libebl/eblwstrtab.c
 ===================================================================
---- elfutils-0.164.orig/libebl/eblwstrtab.c
-+++ elfutils-0.164/libebl/eblwstrtab.c
+--- elfutils-0.166.orig/libebl/eblwstrtab.c
++++ elfutils-0.166/libebl/eblwstrtab.c
 @@ -305,7 +305,7 @@ copystrings (struct Ebl_WStrent *nodep,
  
    /* Process the current node.  */
@@ -422,10 +422,10 @@ Index: elfutils-0.164/libebl/eblwstrtab.c
    *offsetp += nodep->len * sizeof (wchar_t);
  
    for (subs = nodep->next; subs != NULL; subs = subs->next)
-Index: elfutils-0.164/libelf/elf.h
+Index: elfutils-0.166/libelf/elf.h
 ===================================================================
---- elfutils-0.164.orig/libelf/elf.h
-+++ elfutils-0.164/libelf/elf.h
+--- elfutils-0.166.orig/libelf/elf.h
++++ elfutils-0.166/libelf/elf.h
 @@ -21,7 +21,9 @@
  
  #include <features.h>
@@ -437,7 +437,7 @@ Index: elfutils-0.164/libelf/elf.h
  
  /* Standard ELF types.  */
  
-@@ -3552,7 +3554,8 @@ enum
+@@ -3591,7 +3593,8 @@ enum
  
  #define R_TILEGX_NUM		130
  
@@ -448,10 +448,10 @@ Index: elfutils-0.164/libelf/elf.h
 +#endif
  
  #endif	/* elf.h */
-Index: elfutils-0.164/libelf/libelf.h
+Index: elfutils-0.166/libelf/libelf.h
 ===================================================================
---- elfutils-0.164.orig/libelf/libelf.h
-+++ elfutils-0.164/libelf/libelf.h
+--- elfutils-0.166.orig/libelf/libelf.h
++++ elfutils-0.166/libelf/libelf.h
 @@ -29,6 +29,7 @@
  #ifndef _LIBELF_H
  #define _LIBELF_H 1
@@ -460,10 +460,10 @@ Index: elfutils-0.164/libelf/libelf.h
  #include <stdint.h>
  #include <sys/types.h>
  
-Index: elfutils-0.164/libelf/libelfP.h
+Index: elfutils-0.166/libelf/libelfP.h
 ===================================================================
---- elfutils-0.164.orig/libelf/libelfP.h
-+++ elfutils-0.164/libelf/libelfP.h
+--- elfutils-0.166.orig/libelf/libelfP.h
++++ elfutils-0.166/libelf/libelfP.h
 @@ -36,6 +36,7 @@
  
  #include <ar.h>
@@ -471,11 +471,11 @@ Index: elfutils-0.164/libelf/libelfP.h
 +#include <libelf.h>
  
  #include <errno.h>
- #include <stdint.h>
-Index: elfutils-0.164/src/addr2line.c
+ #include <stdbool.h>
+Index: elfutils-0.166/src/addr2line.c
 ===================================================================
---- elfutils-0.164.orig/src/addr2line.c
-+++ elfutils-0.164/src/addr2line.c
+--- elfutils-0.166.orig/src/addr2line.c
++++ elfutils-0.166/src/addr2line.c
 @@ -23,7 +23,7 @@
  #include <argp.h>
  #include <assert.h>
@@ -485,10 +485,10 @@ Index: elfutils-0.164/src/addr2line.c
  #include <fcntl.h>
  #include <inttypes.h>
  #include <libdwfl.h>
-Index: elfutils-0.164/src/ar.c
+Index: elfutils-0.166/src/ar.c
 ===================================================================
---- elfutils-0.164.orig/src/ar.c
-+++ elfutils-0.164/src/ar.c
+--- elfutils-0.166.orig/src/ar.c
++++ elfutils-0.166/src/ar.c
 @@ -22,7 +22,7 @@
  
  #include <argp.h>
@@ -498,10 +498,10 @@ Index: elfutils-0.164/src/ar.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <libintl.h>
-Index: elfutils-0.164/src/arlib.c
+Index: elfutils-0.166/src/arlib.c
 ===================================================================
---- elfutils-0.164.orig/src/arlib.c
-+++ elfutils-0.164/src/arlib.c
+--- elfutils-0.166.orig/src/arlib.c
++++ elfutils-0.166/src/arlib.c
 @@ -21,7 +21,7 @@
  #endif
  
@@ -511,10 +511,10 @@ Index: elfutils-0.164/src/arlib.c
  #include <gelf.h>
  #include <libintl.h>
  #include <stdio.h>
-Index: elfutils-0.164/src/arlib2.c
+Index: elfutils-0.166/src/arlib2.c
 ===================================================================
---- elfutils-0.164.orig/src/arlib2.c
-+++ elfutils-0.164/src/arlib2.c
+--- elfutils-0.166.orig/src/arlib2.c
++++ elfutils-0.166/src/arlib2.c
 @@ -20,7 +20,7 @@
  # include <config.h>
  #endif
@@ -524,10 +524,10 @@ Index: elfutils-0.164/src/arlib2.c
  #include <libintl.h>
  #include <limits.h>
  #include <string.h>
-Index: elfutils-0.164/src/elfcmp.c
+Index: elfutils-0.166/src/elfcmp.c
 ===================================================================
---- elfutils-0.164.orig/src/elfcmp.c
-+++ elfutils-0.164/src/elfcmp.c
+--- elfutils-0.166.orig/src/elfcmp.c
++++ elfutils-0.166/src/elfcmp.c
 @@ -23,7 +23,7 @@
  #include <argp.h>
  #include <assert.h>
@@ -537,10 +537,10 @@ Index: elfutils-0.164/src/elfcmp.c
  #include <fcntl.h>
  #include <locale.h>
  #include <libintl.h>
-Index: elfutils-0.164/src/elflint.c
+Index: elfutils-0.166/src/elflint.c
 ===================================================================
---- elfutils-0.164.orig/src/elflint.c
-+++ elfutils-0.164/src/elflint.c
+--- elfutils-0.166.orig/src/elflint.c
++++ elfutils-0.166/src/elflint.c
 @@ -24,7 +24,7 @@
  #include <assert.h>
  #include <byteswap.h>
@@ -550,10 +550,10 @@ Index: elfutils-0.164/src/elflint.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <inttypes.h>
-Index: elfutils-0.164/src/findtextrel.c
+Index: elfutils-0.166/src/findtextrel.c
 ===================================================================
---- elfutils-0.164.orig/src/findtextrel.c
-+++ elfutils-0.164/src/findtextrel.c
+--- elfutils-0.166.orig/src/findtextrel.c
++++ elfutils-0.166/src/findtextrel.c
 @@ -23,7 +23,7 @@
  #include <argp.h>
  #include <assert.h>
@@ -563,10 +563,10 @@ Index: elfutils-0.164/src/findtextrel.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <libdw.h>
-Index: elfutils-0.164/src/i386_ld.c
+Index: elfutils-0.166/src/i386_ld.c
 ===================================================================
---- elfutils-0.164.orig/src/i386_ld.c
-+++ elfutils-0.164/src/i386_ld.c
+--- elfutils-0.166.orig/src/i386_ld.c
++++ elfutils-0.166/src/i386_ld.c
 @@ -20,7 +20,7 @@
  #endif
  
@@ -576,10 +576,10 @@ Index: elfutils-0.164/src/i386_ld.c
  #include <libintl.h>
  #include <stdlib.h>
  #include <string.h>
-Index: elfutils-0.164/src/ld.c
+Index: elfutils-0.166/src/ld.c
 ===================================================================
---- elfutils-0.164.orig/src/ld.c
-+++ elfutils-0.164/src/ld.c
+--- elfutils-0.166.orig/src/ld.c
++++ elfutils-0.166/src/ld.c
 @@ -21,7 +21,7 @@
  
  #include <argp.h>
@@ -589,10 +589,10 @@ Index: elfutils-0.164/src/ld.c
  #include <fcntl.h>
  #include <libelf.h>
  #include <libintl.h>
-Index: elfutils-0.164/src/ldgeneric.c
+Index: elfutils-0.166/src/ldgeneric.c
 ===================================================================
---- elfutils-0.164.orig/src/ldgeneric.c
-+++ elfutils-0.164/src/ldgeneric.c
+--- elfutils-0.166.orig/src/ldgeneric.c
++++ elfutils-0.166/src/ldgeneric.c
 @@ -23,7 +23,7 @@
  #include <ctype.h>
  #include <dlfcn.h>
@@ -602,11 +602,11 @@ Index: elfutils-0.164/src/ldgeneric.c
  #include <fcntl.h>
  #include <fnmatch.h>
  #include <gelf.h>
-Index: elfutils-0.164/src/ldlex.c
+Index: elfutils-0.166/src/ldlex.c
 ===================================================================
---- elfutils-0.164.orig/src/ldlex.c
-+++ elfutils-0.164/src/ldlex.c
-@@ -1099,7 +1099,7 @@ char *ldtext;
+--- elfutils-0.166.orig/src/ldlex.c
++++ elfutils-0.166/src/ldlex.c
+@@ -1106,7 +1106,7 @@ char *ldtext;
  #include <assert.h>
  #include <ctype.h>
  #include <elf.h>
@@ -615,10 +615,10 @@ Index: elfutils-0.164/src/ldlex.c
  #include <inttypes.h>
  #include <libintl.h>
  #include <stdbool.h>
-Index: elfutils-0.164/src/ldscript.c
+Index: elfutils-0.166/src/ldscript.c
 ===================================================================
---- elfutils-0.164.orig/src/ldscript.c
-+++ elfutils-0.164/src/ldscript.c
+--- elfutils-0.166.orig/src/ldscript.c
++++ elfutils-0.166/src/ldscript.c
 @@ -95,7 +95,7 @@
  #endif
  
@@ -628,10 +628,10 @@ Index: elfutils-0.164/src/ldscript.c
  #include <libintl.h>
  #include <stdbool.h>
  #include <stdint.h>
-Index: elfutils-0.164/src/nm.c
+Index: elfutils-0.166/src/nm.c
 ===================================================================
---- elfutils-0.164.orig/src/nm.c
-+++ elfutils-0.164/src/nm.c
+--- elfutils-0.166.orig/src/nm.c
++++ elfutils-0.166/src/nm.c
 @@ -26,7 +26,7 @@
  #include <ctype.h>
  #include <dwarf.h>
@@ -641,10 +641,10 @@ Index: elfutils-0.164/src/nm.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <inttypes.h>
-Index: elfutils-0.164/src/objdump.c
+Index: elfutils-0.166/src/objdump.c
 ===================================================================
---- elfutils-0.164.orig/src/objdump.c
-+++ elfutils-0.164/src/objdump.c
+--- elfutils-0.166.orig/src/objdump.c
++++ elfutils-0.166/src/objdump.c
 @@ -21,7 +21,7 @@
  #endif
  
@@ -654,10 +654,10 @@ Index: elfutils-0.164/src/objdump.c
  #include <fcntl.h>
  #include <inttypes.h>
  #include <libintl.h>
-Index: elfutils-0.164/src/ranlib.c
+Index: elfutils-0.166/src/ranlib.c
 ===================================================================
---- elfutils-0.164.orig/src/ranlib.c
-+++ elfutils-0.164/src/ranlib.c
+--- elfutils-0.166.orig/src/ranlib.c
++++ elfutils-0.166/src/ranlib.c
 @@ -24,7 +24,7 @@
  #include <argp.h>
  #include <assert.h>
@@ -667,10 +667,10 @@ Index: elfutils-0.164/src/ranlib.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <libintl.h>
-Index: elfutils-0.164/src/readelf.c
+Index: elfutils-0.166/src/readelf.c
 ===================================================================
---- elfutils-0.164.orig/src/readelf.c
-+++ elfutils-0.164/src/readelf.c
+--- elfutils-0.166.orig/src/readelf.c
++++ elfutils-0.166/src/readelf.c
 @@ -25,7 +25,7 @@
  #include <ctype.h>
  #include <dwarf.h>
@@ -680,10 +680,10 @@ Index: elfutils-0.164/src/readelf.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <inttypes.h>
-Index: elfutils-0.164/src/size.c
+Index: elfutils-0.166/src/size.c
 ===================================================================
---- elfutils-0.164.orig/src/size.c
-+++ elfutils-0.164/src/size.c
+--- elfutils-0.166.orig/src/size.c
++++ elfutils-0.166/src/size.c
 @@ -21,7 +21,7 @@
  #endif
  
@@ -693,10 +693,10 @@ Index: elfutils-0.164/src/size.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <inttypes.h>
-Index: elfutils-0.164/src/stack.c
+Index: elfutils-0.166/src/stack.c
 ===================================================================
---- elfutils-0.164.orig/src/stack.c
-+++ elfutils-0.164/src/stack.c
+--- elfutils-0.166.orig/src/stack.c
++++ elfutils-0.166/src/stack.c
 @@ -18,7 +18,7 @@
  #include <config.h>
  #include <assert.h>
@@ -706,10 +706,10 @@ Index: elfutils-0.164/src/stack.c
  #include <stdlib.h>
  #include <inttypes.h>
  #include <stdio.h>
-Index: elfutils-0.164/src/strings.c
+Index: elfutils-0.166/src/strings.c
 ===================================================================
---- elfutils-0.164.orig/src/strings.c
-+++ elfutils-0.164/src/strings.c
+--- elfutils-0.166.orig/src/strings.c
++++ elfutils-0.166/src/strings.c
 @@ -25,7 +25,7 @@
  #include <ctype.h>
  #include <endian.h>
@@ -719,10 +719,10 @@ Index: elfutils-0.164/src/strings.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <inttypes.h>
-Index: elfutils-0.164/src/strip.c
+Index: elfutils-0.166/src/strip.c
 ===================================================================
---- elfutils-0.164.orig/src/strip.c
-+++ elfutils-0.164/src/strip.c
+--- elfutils-0.166.orig/src/strip.c
++++ elfutils-0.166/src/strip.c
 @@ -24,7 +24,7 @@
  #include <assert.h>
  #include <byteswap.h>
@@ -732,10 +732,10 @@ Index: elfutils-0.164/src/strip.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <libelf.h>
-Index: elfutils-0.164/src/unstrip.c
+Index: elfutils-0.166/src/unstrip.c
 ===================================================================
---- elfutils-0.164.orig/src/unstrip.c
-+++ elfutils-0.164/src/unstrip.c
+--- elfutils-0.166.orig/src/unstrip.c
++++ elfutils-0.166/src/unstrip.c
 @@ -31,7 +31,7 @@
  #include <argp.h>
  #include <assert.h>
@@ -745,10 +745,10 @@ Index: elfutils-0.164/src/unstrip.c
  #include <fcntl.h>
  #include <fnmatch.h>
  #include <libintl.h>
-Index: elfutils-0.164/tests/addrscopes.c
+Index: elfutils-0.166/tests/addrscopes.c
 ===================================================================
---- elfutils-0.164.orig/tests/addrscopes.c
-+++ elfutils-0.164/tests/addrscopes.c
+--- elfutils-0.166.orig/tests/addrscopes.c
++++ elfutils-0.166/tests/addrscopes.c
 @@ -25,7 +25,7 @@
  #include <stdio_ext.h>
  #include <locale.h>
@@ -758,10 +758,10 @@ Index: elfutils-0.164/tests/addrscopes.c
  #include <string.h>
  
  
-Index: elfutils-0.164/tests/allregs.c
+Index: elfutils-0.166/tests/allregs.c
 ===================================================================
---- elfutils-0.164.orig/tests/allregs.c
-+++ elfutils-0.164/tests/allregs.c
+--- elfutils-0.166.orig/tests/allregs.c
++++ elfutils-0.166/tests/allregs.c
 @@ -21,7 +21,7 @@
  #include <stdio.h>
  #include <stdlib.h>
@@ -771,10 +771,10 @@ Index: elfutils-0.164/tests/allregs.c
  #include <locale.h>
  #include <argp.h>
  #include <assert.h>
-Index: elfutils-0.164/tests/backtrace-data.c
+Index: elfutils-0.166/tests/backtrace-data.c
 ===================================================================
---- elfutils-0.164.orig/tests/backtrace-data.c
-+++ elfutils-0.164/tests/backtrace-data.c
+--- elfutils-0.166.orig/tests/backtrace-data.c
++++ elfutils-0.166/tests/backtrace-data.c
 @@ -27,7 +27,7 @@
  #include <dirent.h>
  #include <stdlib.h>
@@ -784,10 +784,10 @@ Index: elfutils-0.164/tests/backtrace-data.c
  #include <unistd.h>
  #include <dwarf.h>
  #if defined(__x86_64__) && defined(__linux__)
-Index: elfutils-0.164/tests/backtrace-dwarf.c
+Index: elfutils-0.166/tests/backtrace-dwarf.c
 ===================================================================
---- elfutils-0.164.orig/tests/backtrace-dwarf.c
-+++ elfutils-0.164/tests/backtrace-dwarf.c
+--- elfutils-0.166.orig/tests/backtrace-dwarf.c
++++ elfutils-0.166/tests/backtrace-dwarf.c
 @@ -22,7 +22,7 @@
  #include <stdio_ext.h>
  #include <locale.h>
@@ -797,10 +797,10 @@ Index: elfutils-0.164/tests/backtrace-dwarf.c
  #include <unistd.h>
  #include <sys/ptrace.h>
  #include <sys/types.h>
-Index: elfutils-0.164/tests/backtrace.c
+Index: elfutils-0.166/tests/backtrace.c
 ===================================================================
---- elfutils-0.164.orig/tests/backtrace.c
-+++ elfutils-0.164/tests/backtrace.c
+--- elfutils-0.166.orig/tests/backtrace.c
++++ elfutils-0.166/tests/backtrace.c
 @@ -24,7 +24,7 @@
  #include <dirent.h>
  #include <stdlib.h>
@@ -810,10 +810,10 @@ Index: elfutils-0.164/tests/backtrace.c
  #include <unistd.h>
  #include <dwarf.h>
  #ifdef __linux__
-Index: elfutils-0.164/tests/buildid.c
+Index: elfutils-0.166/tests/buildid.c
 ===================================================================
---- elfutils-0.164.orig/tests/buildid.c
-+++ elfutils-0.164/tests/buildid.c
+--- elfutils-0.166.orig/tests/buildid.c
++++ elfutils-0.166/tests/buildid.c
 @@ -23,7 +23,7 @@
  #include ELFUTILS_HEADER(elf)
  #include ELFUTILS_HEADER(dwelf)
@@ -823,10 +823,10 @@ Index: elfutils-0.164/tests/buildid.c
  #include <string.h>
  #include <stdlib.h>
  #include <sys/types.h>
-Index: elfutils-0.164/tests/debugaltlink.c
+Index: elfutils-0.166/tests/debugaltlink.c
 ===================================================================
---- elfutils-0.164.orig/tests/debugaltlink.c
-+++ elfutils-0.164/tests/debugaltlink.c
+--- elfutils-0.166.orig/tests/debugaltlink.c
++++ elfutils-0.166/tests/debugaltlink.c
 @@ -23,7 +23,7 @@
  #include ELFUTILS_HEADER(dw)
  #include ELFUTILS_HEADER(dwelf)
@@ -836,10 +836,10 @@ Index: elfutils-0.164/tests/debugaltlink.c
  #include <string.h>
  #include <stdlib.h>
  #include <sys/types.h>
-Index: elfutils-0.164/tests/debuglink.c
+Index: elfutils-0.166/tests/debuglink.c
 ===================================================================
---- elfutils-0.164.orig/tests/debuglink.c
-+++ elfutils-0.164/tests/debuglink.c
+--- elfutils-0.166.orig/tests/debuglink.c
++++ elfutils-0.166/tests/debuglink.c
 @@ -21,7 +21,7 @@
  #include <errno.h>
  #include ELFUTILS_HEADER(dwelf)
@@ -849,10 +849,10 @@ Index: elfutils-0.164/tests/debuglink.c
  #include <string.h>
  #include <stdlib.h>
  #include <sys/types.h>
-Index: elfutils-0.164/tests/deleted.c
+Index: elfutils-0.166/tests/deleted.c
 ===================================================================
---- elfutils-0.164.orig/tests/deleted.c
-+++ elfutils-0.164/tests/deleted.c
+--- elfutils-0.166.orig/tests/deleted.c
++++ elfutils-0.166/tests/deleted.c
 @@ -21,7 +21,7 @@
  #include <unistd.h>
  #include <assert.h>
@@ -862,10 +862,10 @@ Index: elfutils-0.164/tests/deleted.c
  #include <errno.h>
  #ifdef __linux__
  #include <sys/prctl.h>
-Index: elfutils-0.164/tests/dwfl-addr-sect.c
+Index: elfutils-0.166/tests/dwfl-addr-sect.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwfl-addr-sect.c
-+++ elfutils-0.164/tests/dwfl-addr-sect.c
+--- elfutils-0.166.orig/tests/dwfl-addr-sect.c
++++ elfutils-0.166/tests/dwfl-addr-sect.c
 @@ -23,7 +23,7 @@
  #include <stdio_ext.h>
  #include <stdlib.h>
@@ -875,10 +875,10 @@ Index: elfutils-0.164/tests/dwfl-addr-sect.c
  #include <locale.h>
  #include <argp.h>
  #include ELFUTILS_HEADER(dwfl)
-Index: elfutils-0.164/tests/dwfl-bug-addr-overflow.c
+Index: elfutils-0.166/tests/dwfl-bug-addr-overflow.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwfl-bug-addr-overflow.c
-+++ elfutils-0.164/tests/dwfl-bug-addr-overflow.c
+--- elfutils-0.166.orig/tests/dwfl-bug-addr-overflow.c
++++ elfutils-0.166/tests/dwfl-bug-addr-overflow.c
 @@ -20,7 +20,7 @@
  #include <inttypes.h>
  #include <stdio.h>
@@ -888,10 +888,10 @@ Index: elfutils-0.164/tests/dwfl-bug-addr-overflow.c
  #include <locale.h>
  #include ELFUTILS_HEADER(dwfl)
  
-Index: elfutils-0.164/tests/dwfl-bug-fd-leak.c
+Index: elfutils-0.166/tests/dwfl-bug-fd-leak.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwfl-bug-fd-leak.c
-+++ elfutils-0.164/tests/dwfl-bug-fd-leak.c
+--- elfutils-0.166.orig/tests/dwfl-bug-fd-leak.c
++++ elfutils-0.166/tests/dwfl-bug-fd-leak.c
 @@ -24,7 +24,7 @@
  #include <dirent.h>
  #include <stdlib.h>
@@ -900,11 +900,11 @@ Index: elfutils-0.164/tests/dwfl-bug-fd-leak.c
 +#include <err.h>
  #include <unistd.h>
  #include <dwarf.h>
- #include <sys/resource.h>
-Index: elfutils-0.164/tests/dwfl-bug-getmodules.c
+ 
+Index: elfutils-0.166/tests/dwfl-bug-getmodules.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwfl-bug-getmodules.c
-+++ elfutils-0.164/tests/dwfl-bug-getmodules.c
+--- elfutils-0.166.orig/tests/dwfl-bug-getmodules.c
++++ elfutils-0.166/tests/dwfl-bug-getmodules.c
 @@ -18,7 +18,7 @@
  #include <config.h>
  #include ELFUTILS_HEADER(dwfl)
@@ -914,10 +914,10 @@ Index: elfutils-0.164/tests/dwfl-bug-getmodules.c
  
  static const Dwfl_Callbacks callbacks =
    {
-Index: elfutils-0.164/tests/dwfl-report-elf-align.c
+Index: elfutils-0.166/tests/dwfl-report-elf-align.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwfl-report-elf-align.c
-+++ elfutils-0.164/tests/dwfl-report-elf-align.c
+--- elfutils-0.166.orig/tests/dwfl-report-elf-align.c
++++ elfutils-0.166/tests/dwfl-report-elf-align.c
 @@ -20,7 +20,7 @@
  #include <inttypes.h>
  #include <stdio.h>
@@ -927,10 +927,10 @@ Index: elfutils-0.164/tests/dwfl-report-elf-align.c
  #include <locale.h>
  #include <string.h>
  #include <stdlib.h>
-Index: elfutils-0.164/tests/dwfllines.c
+Index: elfutils-0.166/tests/dwfllines.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwfllines.c
-+++ elfutils-0.164/tests/dwfllines.c
+--- elfutils-0.166.orig/tests/dwfllines.c
++++ elfutils-0.166/tests/dwfllines.c
 @@ -27,7 +27,7 @@
  #include <stdio.h>
  #include <stdlib.h>
@@ -940,10 +940,10 @@ Index: elfutils-0.164/tests/dwfllines.c
  
  int
  main (int argc, char *argv[])
-Index: elfutils-0.164/tests/dwflmodtest.c
+Index: elfutils-0.166/tests/dwflmodtest.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwflmodtest.c
-+++ elfutils-0.164/tests/dwflmodtest.c
+--- elfutils-0.166.orig/tests/dwflmodtest.c
++++ elfutils-0.166/tests/dwflmodtest.c
 @@ -23,7 +23,7 @@
  #include <stdio_ext.h>
  #include <stdlib.h>
@@ -953,10 +953,10 @@ Index: elfutils-0.164/tests/dwflmodtest.c
  #include <locale.h>
  #include <argp.h>
  #include ELFUTILS_HEADER(dwfl)
-Index: elfutils-0.164/tests/dwflsyms.c
+Index: elfutils-0.166/tests/dwflsyms.c
 ===================================================================
---- elfutils-0.164.orig/tests/dwflsyms.c
-+++ elfutils-0.164/tests/dwflsyms.c
+--- elfutils-0.166.orig/tests/dwflsyms.c
++++ elfutils-0.166/tests/dwflsyms.c
 @@ -25,7 +25,7 @@
  #include <stdio.h>
  #include <stdio_ext.h>
@@ -966,10 +966,10 @@ Index: elfutils-0.164/tests/dwflsyms.c
  #include <string.h>
  
  static const char *
-Index: elfutils-0.164/tests/early-offscn.c
+Index: elfutils-0.166/tests/early-offscn.c
 ===================================================================
---- elfutils-0.164.orig/tests/early-offscn.c
-+++ elfutils-0.164/tests/early-offscn.c
+--- elfutils-0.166.orig/tests/early-offscn.c
++++ elfutils-0.166/tests/early-offscn.c
 @@ -19,7 +19,7 @@
  #endif
  
@@ -979,10 +979,10 @@ Index: elfutils-0.164/tests/early-offscn.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <stdio.h>
-Index: elfutils-0.164/tests/ecp.c
+Index: elfutils-0.166/tests/ecp.c
 ===================================================================
---- elfutils-0.164.orig/tests/ecp.c
-+++ elfutils-0.164/tests/ecp.c
+--- elfutils-0.166.orig/tests/ecp.c
++++ elfutils-0.166/tests/ecp.c
 @@ -20,7 +20,7 @@
  #endif
  
@@ -992,10 +992,10 @@ Index: elfutils-0.164/tests/ecp.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <stdlib.h>
-Index: elfutils-0.164/tests/find-prologues.c
+Index: elfutils-0.166/tests/find-prologues.c
 ===================================================================
---- elfutils-0.164.orig/tests/find-prologues.c
-+++ elfutils-0.164/tests/find-prologues.c
+--- elfutils-0.166.orig/tests/find-prologues.c
++++ elfutils-0.166/tests/find-prologues.c
 @@ -25,7 +25,7 @@
  #include <stdio_ext.h>
  #include <locale.h>
@@ -1005,10 +1005,10 @@ Index: elfutils-0.164/tests/find-prologues.c
  #include <string.h>
  #include <fnmatch.h>
  
-Index: elfutils-0.164/tests/funcretval.c
+Index: elfutils-0.166/tests/funcretval.c
 ===================================================================
---- elfutils-0.164.orig/tests/funcretval.c
-+++ elfutils-0.164/tests/funcretval.c
+--- elfutils-0.166.orig/tests/funcretval.c
++++ elfutils-0.166/tests/funcretval.c
 @@ -25,7 +25,7 @@
  #include <stdio_ext.h>
  #include <locale.h>
@@ -1018,10 +1018,10 @@ Index: elfutils-0.164/tests/funcretval.c
  #include <string.h>
  #include <fnmatch.h>
  
-Index: elfutils-0.164/tests/funcscopes.c
+Index: elfutils-0.166/tests/funcscopes.c
 ===================================================================
---- elfutils-0.164.orig/tests/funcscopes.c
-+++ elfutils-0.164/tests/funcscopes.c
+--- elfutils-0.166.orig/tests/funcscopes.c
++++ elfutils-0.166/tests/funcscopes.c
 @@ -25,7 +25,7 @@
  #include <stdio_ext.h>
  #include <locale.h>
@@ -1031,10 +1031,10 @@ Index: elfutils-0.164/tests/funcscopes.c
  #include <string.h>
  #include <fnmatch.h>
  
-Index: elfutils-0.164/tests/getsrc_die.c
+Index: elfutils-0.166/tests/getsrc_die.c
 ===================================================================
---- elfutils-0.164.orig/tests/getsrc_die.c
-+++ elfutils-0.164/tests/getsrc_die.c
+--- elfutils-0.166.orig/tests/getsrc_die.c
++++ elfutils-0.166/tests/getsrc_die.c
 @@ -19,7 +19,7 @@
  #endif
  
@@ -1044,10 +1044,10 @@ Index: elfutils-0.164/tests/getsrc_die.c
  #include <fcntl.h>
  #include <inttypes.h>
  #include <libelf.h>
-Index: elfutils-0.164/tests/line2addr.c
+Index: elfutils-0.166/tests/line2addr.c
 ===================================================================
---- elfutils-0.164.orig/tests/line2addr.c
-+++ elfutils-0.164/tests/line2addr.c
+--- elfutils-0.166.orig/tests/line2addr.c
++++ elfutils-0.166/tests/line2addr.c
 @@ -26,7 +26,7 @@
  #include <locale.h>
  #include <stdlib.h>
@@ -1057,10 +1057,10 @@ Index: elfutils-0.164/tests/line2addr.c
  
  
  static void
-Index: elfutils-0.164/tests/low_high_pc.c
+Index: elfutils-0.166/tests/low_high_pc.c
 ===================================================================
---- elfutils-0.164.orig/tests/low_high_pc.c
-+++ elfutils-0.164/tests/low_high_pc.c
+--- elfutils-0.166.orig/tests/low_high_pc.c
++++ elfutils-0.166/tests/low_high_pc.c
 @@ -25,7 +25,7 @@
  #include <stdio_ext.h>
  #include <locale.h>
@@ -1070,10 +1070,10 @@ Index: elfutils-0.164/tests/low_high_pc.c
  #include <string.h>
  #include <fnmatch.h>
  
-Index: elfutils-0.164/tests/md5-sha1-test.c
+Index: elfutils-0.166/tests/md5-sha1-test.c
 ===================================================================
---- elfutils-0.164.orig/tests/md5-sha1-test.c
-+++ elfutils-0.164/tests/md5-sha1-test.c
+--- elfutils-0.166.orig/tests/md5-sha1-test.c
++++ elfutils-0.166/tests/md5-sha1-test.c
 @@ -19,7 +19,7 @@
  #endif
  
@@ -1083,10 +1083,10 @@ Index: elfutils-0.164/tests/md5-sha1-test.c
  
  #include "md5.h"
  #include "sha1.h"
-Index: elfutils-0.164/tests/rdwrmmap.c
+Index: elfutils-0.166/tests/rdwrmmap.c
 ===================================================================
---- elfutils-0.164.orig/tests/rdwrmmap.c
-+++ elfutils-0.164/tests/rdwrmmap.c
+--- elfutils-0.166.orig/tests/rdwrmmap.c
++++ elfutils-0.166/tests/rdwrmmap.c
 @@ -19,7 +19,7 @@
  #endif
  
@@ -1096,10 +1096,10 @@ Index: elfutils-0.164/tests/rdwrmmap.c
  #include <stdio.h>
  #include <fcntl.h>
  #include <unistd.h>
-Index: elfutils-0.164/tests/saridx.c
+Index: elfutils-0.166/tests/saridx.c
 ===================================================================
---- elfutils-0.164.orig/tests/saridx.c
-+++ elfutils-0.164/tests/saridx.c
+--- elfutils-0.166.orig/tests/saridx.c
++++ elfutils-0.166/tests/saridx.c
 @@ -17,7 +17,7 @@
  
  #include <config.h>
@@ -1109,10 +1109,10 @@ Index: elfutils-0.164/tests/saridx.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <stdio.h>
-Index: elfutils-0.164/tests/sectiondump.c
+Index: elfutils-0.166/tests/sectiondump.c
 ===================================================================
---- elfutils-0.164.orig/tests/sectiondump.c
-+++ elfutils-0.164/tests/sectiondump.c
+--- elfutils-0.166.orig/tests/sectiondump.c
++++ elfutils-0.166/tests/sectiondump.c
 @@ -18,7 +18,7 @@
  #include <config.h>
  
@@ -1122,10 +1122,10 @@ Index: elfutils-0.164/tests/sectiondump.c
  #include <fcntl.h>
  #include <gelf.h>
  #include <inttypes.h>
-Index: elfutils-0.164/tests/varlocs.c
+Index: elfutils-0.166/tests/varlocs.c
 ===================================================================
---- elfutils-0.164.orig/tests/varlocs.c
-+++ elfutils-0.164/tests/varlocs.c
+--- elfutils-0.166.orig/tests/varlocs.c
++++ elfutils-0.166/tests/varlocs.c
 @@ -25,7 +25,7 @@
  #include <dwarf.h>
  #include <stdio.h>
@@ -1135,10 +1135,10 @@ Index: elfutils-0.164/tests/varlocs.c
  #include <string.h>
  #include <sys/types.h>
  #include <sys/stat.h>
-Index: elfutils-0.164/tests/vdsosyms.c
+Index: elfutils-0.166/tests/vdsosyms.c
 ===================================================================
---- elfutils-0.164.orig/tests/vdsosyms.c
-+++ elfutils-0.164/tests/vdsosyms.c
+--- elfutils-0.166.orig/tests/vdsosyms.c
++++ elfutils-0.166/tests/vdsosyms.c
 @@ -18,7 +18,7 @@
  #include <config.h>
  #include <assert.h>
@@ -1148,10 +1148,10 @@ Index: elfutils-0.164/tests/vdsosyms.c
  #include <inttypes.h>
  #include <stdio.h>
  #include <string.h>
-Index: elfutils-0.164/libelf/elf_getarsym.c
+Index: elfutils-0.166/libelf/elf_getarsym.c
 ===================================================================
---- elfutils-0.164.orig/libelf/elf_getarsym.c
-+++ elfutils-0.164/libelf/elf_getarsym.c
+--- elfutils-0.166.orig/libelf/elf_getarsym.c
++++ elfutils-0.166/libelf/elf_getarsym.c
 @@ -302,7 +302,7 @@ elf_getarsym (Elf *elf, size_t *ptr)
  		arsym[cnt].as_off = (*u32)[cnt];
  
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0001-fix-a-stack-usage-warning.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0001-fix-a-stack-usage-warning.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0001-fix-a-stack-usage-warning.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0001-fix-a-stack-usage-warning.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0001-remove-the-unneed-checking.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0001-remove-the-unneed-checking.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0001-remove-the-unneed-checking.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0001-remove-the-unneed-checking.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/0003-Add-mips-n64-relocation-format-hack.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/0003-Add-mips-n64-relocation-format-hack.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/0003-Add-mips-n64-relocation-format-hack.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/0003-Add-mips-n64-relocation-format-hack.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/aarch64_uio.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/aarch64_uio.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/aarch64_uio.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/aarch64_uio.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/arm_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.166/arm_backend.diff
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/arm_backend.diff
rename to meta/recipes-devtools/elfutils/elfutils-0.166/arm_backend.diff
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
new file mode 100644
index 0000000..6c150bb
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
@@ -0,0 +1,41 @@
+From 836a16fe5b5bab4a3afe2c991c104652775ce3a3 Mon Sep 17 00:00:00 2001
+From: David Abdurachmanov <davidlt@cern.ch>
+Date: Mon, 11 Apr 2016 16:00:57 +0200
+Subject: elfcmp: fix self-comparison error with GCC 6
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Noticed with Fedora 24 Alpha, gcc (GCC) 6.0.0 20160406
+(Red Hat 6.0.0-0.20).
+
+elfcmp.c: In function ‘main’:
+elfcmp.c:364:199: error: self-comparison always evaluates
+to false [-Werror=tautological-compare]
+        if (unlikely (name1 == NULL || name2 == NULL
+
+Signed-off-by: David Abdurachmanov <davidlt@cern.ch>
+---
+
+Upstream-Status: Backport
+
+ src/ChangeLog | 4 ++++
+ src/elfcmp.c  | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/elfcmp.c b/src/elfcmp.c
+index 852b92f..7b5d39c 100644
+--- a/src/elfcmp.c
++++ b/src/elfcmp.c
+@@ -368,7 +368,7 @@ main (int argc, char *argv[])
+ 				&& sym1->st_shndx != SHN_UNDEF)
+ 			    || sym1->st_info != sym2->st_info
+ 			    || sym1->st_other != sym2->st_other
+-			    || sym1->st_shndx != sym1->st_shndx))
++			    || sym1->st_shndx != sym2->st_shndx))
+ 		{
+ 		  // XXX Do we want to allow reordered symbol tables?
+ 		symtab_mismatch:
+-- 
+cgit v0.12
+
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/fixheadercheck.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/fixheadercheck.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/fixheadercheck.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/fixheadercheck.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/hppa_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.166/hppa_backend.diff
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/hppa_backend.diff
rename to meta/recipes-devtools/elfutils/elfutils-0.166/hppa_backend.diff
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/kfreebsd_path.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/kfreebsd_path.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/kfreebsd_path.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/kfreebsd_path.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/m68k_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.166/m68k_backend.diff
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/m68k_backend.diff
rename to meta/recipes-devtools/elfutils/elfutils-0.166/m68k_backend.diff
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/mips_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.166/mips_backend.diff
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/mips_backend.diff
rename to meta/recipes-devtools/elfutils/elfutils-0.166/mips_backend.diff
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/mips_readelf_w.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/mips_readelf_w.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/mips_readelf_w.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/mips_readelf_w.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/shadow.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/shadow.patch
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/shadow.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/shadow.patch
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/testsuite-ignore-elflint.diff b/meta/recipes-devtools/elfutils/elfutils-0.166/testsuite-ignore-elflint.diff
similarity index 100%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/testsuite-ignore-elflint.diff
rename to meta/recipes-devtools/elfutils/elfutils-0.166/testsuite-ignore-elflint.diff
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch b/meta/recipes-devtools/elfutils/elfutils-0.166/uclibc-support.patch
similarity index 82%
rename from meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch
rename to meta/recipes-devtools/elfutils/elfutils-0.166/uclibc-support.patch
index 966b70f..6299998 100644
--- a/meta/recipes-devtools/elfutils/elfutils-0.164/uclibc-support.patch
+++ b/meta/recipes-devtools/elfutils/elfutils-0.166/uclibc-support.patch
@@ -25,11 +25,11 @@ Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
  libelf/Makefile.am | 5 +++++
  4 files changed, 23 insertions(+), 1 deletion(-)
 
-Index: elfutils-0.164/configure.ac
+Index: elfutils-0.166/configure.ac
 ===================================================================
---- elfutils-0.164.orig/configure.ac
-+++ elfutils-0.164/configure.ac
-@@ -66,6 +66,14 @@ AS_IF([test "$use_locks" = yes],
+--- elfutils-0.166.orig/configure.ac
++++ elfutils-0.166/configure.ac
+@@ -79,6 +79,14 @@ AS_IF([test "$use_locks" = yes],
  
  AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.])
  
@@ -44,7 +44,7 @@ Index: elfutils-0.164/configure.ac
  AC_PROG_CC
  AC_PROG_RANLIB
  AC_PROG_YACC
-@@ -291,18 +299,13 @@ AC_LINK_IFELSE(
+@@ -347,18 +355,13 @@ AC_LINK_IFELSE(
  )
  
  dnl If our libc doesn't provide argp, then test for libargp
@@ -70,10 +70,10 @@ Index: elfutils-0.164/configure.ac
  AC_SUBST([argp_LDADD])
  
  dnl The directories with content.
-Index: elfutils-0.164/libcpu/Makefile.am
+Index: elfutils-0.166/libcpu/Makefile.am
 ===================================================================
---- elfutils-0.164.orig/libcpu/Makefile.am
-+++ elfutils-0.164/libcpu/Makefile.am
+--- elfutils-0.166.orig/libcpu/Makefile.am
++++ elfutils-0.166/libcpu/Makefile.am
 @@ -80,6 +80,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3
  i386_lex.o: i386_parse.h
  i386_gendis_LDADD = $(libeu) -lm
@@ -85,10 +85,10 @@ Index: elfutils-0.164/libcpu/Makefile.am
  i386_parse.h: i386_parse.c ;
  
  EXTRA_DIST = defs/i386
-Index: elfutils-0.164/libdw/Makefile.am
+Index: elfutils-0.166/libdw/Makefile.am
 ===================================================================
---- elfutils-0.164.orig/libdw/Makefile.am
-+++ elfutils-0.164/libdw/Makefile.am
+--- elfutils-0.166.orig/libdw/Makefile.am
++++ elfutils-0.166/libdw/Makefile.am
 @@ -102,6 +102,11 @@ endif
  libdw_pic_a_SOURCES =
  am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
@@ -105,21 +105,20 @@ Index: elfutils-0.164/libdw/Makefile.am
  		-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
  		-Wl,--version-script,$<,--no-undefined \
  		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
--		-ldl $(argp_LDADD) $(zip_LIBS)
-+		-ldl $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS)
+-		-ldl -lz $(argp_LDADD) $(zip_LIBS)
++		-ldl -lz $(argp_LDADD) $(zip_LIBS) $(libdw_so_LDLIBS)
  	@$(textrel_check)
  	$(AM_V_at)ln -fs $@ $@.$(VERSION)
  
-Index: elfutils-0.164/libelf/Makefile.am
+Index: elfutils-0.166/libelf/Makefile.am
 ===================================================================
---- elfutils-0.164.orig/libelf/Makefile.am
-+++ elfutils-0.164/libelf/Makefile.am
-@@ -93,7 +93,12 @@ libelf_a_SOURCES = elf_version.c elf_has
- libelf_pic_a_SOURCES =
+--- elfutils-0.166.orig/libelf/Makefile.am
++++ elfutils-0.166/libelf/Makefile.am
+@@ -96,6 +96,11 @@ libelf_pic_a_SOURCES =
  am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
  
+ libelf_so_LDLIBS = -lz
 +
- libelf_so_LDLIBS =
 +if USE_UCLIBC
 +libelf_so_LDLIBS += -lintl
 +endif
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.164.bb b/meta/recipes-devtools/elfutils/elfutils_0.166.bb
similarity index 94%
rename from meta/recipes-devtools/elfutils/elfutils_0.164.bb
rename to meta/recipes-devtools/elfutils/elfutils_0.166.bb
index 4964c05..5c436d3 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.164.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.166.bb
@@ -7,9 +7,8 @@ DEPENDS = "libtool bzip2 zlib virtual/libintl"
 DEPENDS_append_libc-musl = " argp-standalone fts "
 
 SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/${PV}/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "2e4536c1c48034f188a80789a59114d8"
-SRC_URI[sha256sum] = "9683c025928a12d06b7fe812928aa6235249e22d197d086f7084606a48165900"
+SRC_URI[md5sum] = "d4e462b7891915dc5326bccefa2024ff"
+SRC_URI[sha256sum] = "3c056914c8a438b210be0d790463b960fc79d234c3f05ce707cbff80e94cba30"
 
 SRC_URI += "\
         file://dso-link-change.patch \
@@ -36,6 +35,7 @@ SRC_URI += "\
         file://0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
         file://0003-Add-mips-n64-relocation-format-hack.patch \
         file://uclibc-support.patch \
+        file://elfcmp-fix-self-comparision.patch \
 "
 SRC_URI_append_libc-musl = " file://0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch "
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 05/42] rpm: Fix build with gcc6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (3 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 04/42] elfutils: Upgrade to 0.166 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 06/42] alsa-tools: " Khem Raj
                   ` (38 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch | 54 +++++++++++++++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.16.bb         |  3 +-
 2 files changed, 56 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch

diff --git a/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch b/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
new file mode 100644
index 0000000..0a372c6
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
@@ -0,0 +1,54 @@
+gcc6 has fixed a long standing c++ include issue where <cheader>
+was different from <header.h> inclusion via
+
+https://gcc.gnu.org/ml/libstdc++/2016-01/msg00025.html
+
+and its also descibed in https://gcc.gnu.org/gcc-6/porting_to.html
+rpmio component uses some .cpp and .cc fies which need to use
+C stdlib.h from C library and not the C++ libstdc++ header
+therefore we pass _GLIBCXX_INCLUDE_NEXT_C_HEADERS so that it
+keeps the old behavior
+
+/a/build/tmp/sysroots/raspberrypi2/usr/include/c++/6.0.1/cstdlib:143:11: error: '::getenv' has not been declared
+   using ::getenv;
+           ^~~~~~
+In file included from ../../rpm-5.4.15/system.h:201:0,
+                 from ../../rpm-5.4.15/rpmio/rpmjs.cpp:1:
+/a/build/tmp/sysroots/raspberrypi2/usr/include/c++/6.0.1/stdlib.h:62:12: error: 'std::getenv' has not been declared
+ using std::getenv;
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: rpm-5.4.15/rpmio/Makefile.am
+===================================================================
+--- rpm-5.4.15.orig/rpmio/Makefile.am
++++ rpm-5.4.15/rpmio/Makefile.am
+@@ -151,7 +151,7 @@ librpmio_la_SOURCES = \
+ 	groestl.c hamsi.c jh.c keccak.c lane.c luffa.c md2.c md6.c radiogatun.c\
+ 	salsa10.c salsa20.c shabal.c shavite3.c simd.c skein.c tib3.c tiger.c \
+ 	rpmgit.c rpmio-stub.c \
+-	rpmjs.cpp rpmjsio.c rpmkeyring.c \
++	rpmjni.cc rpmjs.cpp rpmjsio.c rpmkeyring.c \
+ 	rpmnix.c rpmodbc.c rpmsql.c set.c \
+ 	ar.c \
+ 	argv.c \
+@@ -195,7 +195,6 @@ librpmio_la_SOURCES = \
+ 	rpmhook.c \
+ 	rpmio.c \
+ 	rpmiob.c \
+-	rpmjni.cc \
+ 	rpmku.c \
+ 	rpmlog.c \
+ 	rpmltc.c \
+@@ -279,7 +278,9 @@ keccak.lo: $(top_srcdir)/rpmio/keccak.c
+ #rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.c
+ #	@$(LTCOMPILE) -O0 -c $<
+ rpmjs.lo: $(top_srcdir)/rpmio/rpmjs.cpp
+-	@$(LTCOMPILE) -O0 -c $<
++	@$(LTCOMPILE) -O0 -c -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS $<
++rpmjni.lo: $(top_srcdir)/rpmio/rpmjni.cc
++	@$(LTCOMPILE) -O0 -c -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS $<
+ 
+ YACC = byacc -d
+ getdate.c: getdate.y
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.16.bb b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
index f2c12d2..7ebd5e9 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.16.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.16.bb
@@ -116,6 +116,7 @@ SRC_URI += " \
 	   file://rpm-fix-lua-tests-compilation-failure.patch \
 	   file://rpmqv.c-check-_gpg_passphrase-before-ask-for-input.patch \
 	   file://0001-Disable-__sync_add_and_fetch_8-on-nios2.patch \
+	   file://gcc6-stdlib.patch \
 "
 
 # OE specific changes
@@ -344,7 +345,7 @@ EXTRA_OECONF += "--verbose \
 		--program-prefix= \
 		YACC=byacc"
 
-CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE"
+CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS"
 
 LDFLAGS_append_libc-uclibc = "-lrt -lpthread"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 06/42] alsa-tools: Fix build with gcc6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (4 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 05/42] rpm: Fix build with gcc6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 07/42] lzop: Fix build with gcc-6 Khem Raj
                   ` (37 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

bb.utils.contains was spread over multiple lines
collapse it into single line, make it more readable

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...idi-Explicitly-cast-constant-to-char-type.patch | 75 ++++++++++++++++++++++
 meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb   |  6 +-
 2 files changed, 78 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch

diff --git a/meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch b/meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch
new file mode 100644
index 0000000..bf95cac
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch
@@ -0,0 +1,75 @@
+From 1cc0aa4dbd3c7f1267809e0e1ca57d46f4803bfd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 17 Apr 2016 23:25:18 +0000
+Subject: [PATCH] Cus428Midi: Explicitly cast constant to char type
+
+This is flagged by gcc6
+Cus428Midi.cc:83:1: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ us428control/Cus428Midi.cc | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/us428control/Cus428Midi.cc b/us428control/Cus428Midi.cc
+index b9e6783..bef7bb1 100644
+--- a/us428control/Cus428Midi.cc
++++ b/us428control/Cus428Midi.cc
+@@ -32,22 +32,22 @@ char Cus428Midi::KnobParam[] = {
+ 	0x2A,
+ 	0x29,
+ 	0x28,
+-	-1,
++	static_cast<char>(-1),
+ 	0x10,
+ 	0x11,
+ 	0x18,
+ 	0x19,
+ 	0x1A,
+-	-1,
+-	-1,
+-	-1,
+-	-1,
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
+ 	0x2C,
+ 	0x2D,
+ 	0x2E,
+ 	0x2F,
+-	-1,
+-	-1,
++	static_cast<char>(-1),
++	static_cast<char>(-1),
+ 	0x20,
+ 	0x21,
+ 	0x22,
+@@ -64,14 +64,14 @@ char Cus428Midi::KnobParam[] = {
+ 	5,
+ 	6,
+ 	7,
+-	-1,
+-	-1,
+-	-1,
+-	-1,
+-	-1,
+-	-1,
+-	-1,
+-	-1,
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
++	static_cast<char>(-1),
+ 	0x30,
+ 	0x31,
+ 	0x32,
+-- 
+1.9.1
+
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb
index 9e633f1..916bf08 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb
@@ -10,11 +10,11 @@ LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=94d55d512a9ba36caa9b7df079bae1
 
 SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/${BP}.tar.bz2 \
            file://autotools.patch \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', \
-                                'file://makefile_no_gtk.patch', d)} \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://makefile_no_gtk.patch', d)} \
            file://gitcompile_hdajacksensetest \
            file://0001-as10k1-Make-output_tram_line-static-inline.patch \
-          "
+           file://0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch \
+           "
 
 SRC_URI[md5sum] = "b476a5afaa3ea3230855553ad59d259d"
 SRC_URI[sha256sum] = "7d34558c590a50294b36576d257316a1ac5cd951eb8cd7d330e09f8cc757ab51"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 07/42] lzop: Fix build with gcc-6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (5 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 06/42] alsa-tools: " Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 08/42] webkitgtk: Upgrade to 2.12.1 Khem Raj
                   ` (36 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../recipes-support/lzop/lzop/lzop-1.03-gcc6.patch | 37 ++++++++++++++++++++++
 meta/recipes-support/lzop/lzop_1.03.bb             |  6 ++--
 2 files changed, 40 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch

diff --git a/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch b/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
new file mode 100644
index 0000000..72b3397
--- /dev/null
+++ b/meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
@@ -0,0 +1,37 @@
+gcc-6 has additional errors e.g.
+
+./test.c:1:12: error: variably modified '__acc_cta' at file scope
+ extern int __acc_cta[1-2*!((1l << (8*8 -1)) < 0)];
+            ^~~~~~~~~
+
+This is rightly pointed out since that index is undefined
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+--- a/src/miniacc.h.orig	2016-02-10 16:09:23.247315866 +0100
++++ a/src/miniacc.h	2016-02-10 16:12:14.973297054 +0100
+@@ -4469,12 +4469,12 @@
+ #if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
+ #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
+ #else
+-    ACCCHK_ASSERT((1   << (8*SIZEOF_INT-1)) < 0)
++    ACCCHK_ASSERT((int)(1u   << (8*SIZEOF_INT-1)) < 0)
+ #endif
+     ACCCHK_ASSERT((1u  << (8*SIZEOF_INT-1)) > 0)
+ #if 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
+ #else
+-    ACCCHK_ASSERT((1l  << (8*SIZEOF_LONG-1)) < 0)
++    ACCCHK_ASSERT((long)(1ul  << (8*SIZEOF_LONG-1)) < 0)
+ #endif
+     ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)
+ #if defined(acc_int16e_t)
+@@ -4703,7 +4703,7 @@
+ #elif 1 && (ACC_CC_LCC || ACC_CC_LCCWIN32) && !defined(ACCCHK_CFG_PEDANTIC)
+ #elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
+ #elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
+-    ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
++    ACCCHK_ASSERT( (int)((unsigned int)((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
+ #endif
+ #if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
+ #  pragma option pop
diff --git a/meta/recipes-support/lzop/lzop_1.03.bb b/meta/recipes-support/lzop/lzop_1.03.bb
index 07d6289..649e724 100644
--- a/meta/recipes-support/lzop/lzop_1.03.bb
+++ b/meta/recipes-support/lzop/lzop_1.03.bb
@@ -15,15 +15,15 @@ SRC_URI = "http://www.lzop.org/download/${BP}.tar.gz \
            file://acinclude.m4 \
            file://x32_abi_miniacc_h.patch \
            file://0001-use-static-inlines-as-the-external-inline-definition.patch \
+           file://lzop-1.03-gcc6.patch \
           "
 SRC_URI[md5sum] = "006c5e27fb78cdd14a628fdfa5aa1905"
 SRC_URI[sha256sum] = "c1425b8c77d49f5a679d5a126c90ea6ad99585a55e335a613cae59e909dbb2c9"
 
 inherit autotools
 
-do_configure () {
-    ln -sf  ../acinclude.m4 ${S}/acinclude.m4
-    autotools_do_configure
+do_configure_prepend () {
+    install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4
 }
 
 BBCLASSEXTEND += "native nativesdk"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 08/42] webkitgtk: Upgrade to 2.12.1
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (6 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 07/42] lzop: Fix build with gcc-6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 09/42] oprofile: Fix with gcc6 Khem Raj
                   ` (35 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Fix build with gcc-6

Do not tinker with -isystem, this causes issues
where gcc does not find standard C++ headers since
the default search ordered for system headers is
changed and is not correct anymore. Errorr like

WebCore/editing/gtk/EditorGtk.cpp:27:
/mnt/oe/poky/build/tmp/sysroots/qemuarm/usr/include/c++/6.0.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>

It brings a patch to fix typename mismatch
for pow()

see
 https://bugs.webkit.org/show_bug.cgi?id=153071

Drop upstreamed patches
User -fPIC on aarch64 to fix
relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against symbol `__stack_chk_guard@@GLIBC_2.17' defined in .data.rel.ro section

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...cmake-drop-the-hardcoded-introspection-gt.patch |  19 +-
 ...bKitMacros-Append-to-I-and-not-to-isystem.patch | 223 +++++++++++++++++++++
 ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch |  19 +-
 meta/recipes-sato/webkit/files/musl-fixes.patch    |  48 +++++
 ...nable-backtrace-on-linux-when-using-glibc.patch |  39 ----
 ...x-build-with-non-glibc-libraries-on-linux.patch |  61 ------
 meta/recipes-sato/webkit/webkitgtk/clang.patch     |  25 ---
 .../{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb}   |  12 +-
 8 files changed, 294 insertions(+), 152 deletions(-)
 create mode 100644 meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
 create mode 100644 meta/recipes-sato/webkit/files/musl-fixes.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/clang.patch
 rename meta/recipes-sato/webkit/{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb} (92%)

diff --git a/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch b/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
index 3d004db..93a69c0 100644
--- a/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
+++ b/meta/recipes-sato/webkit/files/0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  Source/cmake/OptionsGTK.cmake | 6 ------
  1 file changed, 6 deletions(-)
 
-diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index e5f1f5b..4698036 100644
---- a/Source/cmake/OptionsGTK.cmake
-+++ b/Source/cmake/OptionsGTK.cmake
-@@ -443,12 +443,6 @@ if (USE_LIBHYPHEN)
+Index: webkitgtk-2.12.1/Source/cmake/OptionsGTK.cmake
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/cmake/OptionsGTK.cmake
++++ webkitgtk-2.12.1/Source/cmake/OptionsGTK.cmake
+@@ -424,12 +424,6 @@ if (USE_LIBHYPHEN)
      endif ()
  endif ()
  
@@ -27,9 +27,6 @@ index e5f1f5b..4698036 100644
 -    set(ENABLE_INTROSPECTION OFF)
 -endif ()
 -
- set(DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR ${DERIVED_SOURCES_DIR}/webkitdom)
- set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
- set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
--- 
-2.7.0
-
+ # Override the cached variable, gtk-doc does not really work when building on Mac.
+ if (APPLE)
+     set(ENABLE_GTKDOC OFF)
diff --git a/meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch b/meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
new file mode 100644
index 0000000..25b3c9f
--- /dev/null
+++ b/meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
@@ -0,0 +1,223 @@
+From 53a00058184cd710c6f4375f4daab49d7e885a30 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 17 Apr 2016 12:35:41 -0700
+Subject: [PATCH] WebKitMacros: Append to -I and not to -isystem
+
+gcc-6 has now introduced stdlib.h in libstdc++ for better
+compliance and its including the C library stdlib.h using
+include_next which is sensitive to order of system header
+include paths. Its infact better to not tinker with the
+system header include paths at all. Since adding /usr/include
+to -system is redundant and compiler knows about it moreover
+now with gcc6 it interferes with compiler's functioning
+and ends up with compile errors e.g.
+
+/usr/include/c++/6.0.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ Source/cmake/WebKitMacros.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: webkitgtk-2.12.1/Source/JavaScriptCore/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/JavaScriptCore/CMakeLists.txt
++++ webkitgtk-2.12.1/Source/JavaScriptCore/CMakeLists.txt
+@@ -1311,7 +1311,7 @@ add_subdirectory(shell)
+ 
+ WEBKIT_WRAP_SOURCELIST(${JavaScriptCore_SOURCES})
+ include_directories(${JavaScriptCore_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
+ add_library(JavaScriptCore ${JavaScriptCore_LIBRARY_TYPE} ${JavaScriptCore_HEADERS} ${JavaScriptCore_SOURCES})
+ target_link_libraries(JavaScriptCore ${JavaScriptCore_LIBRARIES})
+ set_target_properties(JavaScriptCore PROPERTIES COMPILE_DEFINITIONS "BUILDING_JavaScriptCore")
+Index: webkitgtk-2.12.1/Source/WTF/wtf/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WTF/wtf/CMakeLists.txt
++++ webkitgtk-2.12.1/Source/WTF/wtf/CMakeLists.txt
+@@ -286,7 +286,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ 
+ WEBKIT_WRAP_SOURCELIST(${WTF_SOURCES})
+ include_directories(${WTF_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WTF_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WTF_SYSTEM_INCLUDE_DIRECTORIES})
+ add_library(WTF ${WTF_LIBRARY_TYPE} ${WTF_HEADERS} ${WTF_SOURCES})
+ target_link_libraries(WTF ${WTF_LIBRARIES})
+ set_target_properties(WTF PROPERTIES COMPILE_DEFINITIONS "BUILDING_WTF")
+Index: webkitgtk-2.12.1/Source/WebCore/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WebCore/CMakeLists.txt
++++ webkitgtk-2.12.1/Source/WebCore/CMakeLists.txt
+@@ -3748,7 +3748,7 @@ WEBKIT_WRAP_SOURCELIST(${WebCore_IDL_FIL
+ WEBKIT_WRAP_SOURCELIST(${WebCoreTestSupport_IDL_FILES} ${WebCoreTestSupport_SOURCES})
+ 
+ include_directories(${WebCore_INCLUDE_DIRECTORIES} ${WebCoreTestSupport_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ if (MSVC)
+     ADD_PRECOMPILED_HEADER("WebCorePrefix.h" "WebCorePrefix.cpp" WebCore_SOURCES)
+Index: webkitgtk-2.12.1/Source/WebKit/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WebKit/CMakeLists.txt
++++ webkitgtk-2.12.1/Source/WebKit/CMakeLists.txt
+@@ -28,7 +28,7 @@ set(WebKit_LIBRARIES
+ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ 
+ include_directories(${WebKit_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebKit_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebKit_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ if (MSVC)
+     ADD_PRECOMPILED_HEADER("WebKitPrefix.h" "win/WebKitPrefix.cpp" WebKit_SOURCES)
+Index: webkitgtk-2.12.1/Source/WebKit2/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WebKit2/CMakeLists.txt
++++ webkitgtk-2.12.1/Source/WebKit2/CMakeLists.txt
+@@ -756,7 +756,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ GENERATE_WEBKIT2_MESSAGE_SOURCES(WebKit2_DERIVED_SOURCES "${WebKit2_MESSAGES_IN_FILES}")
+ 
+ include_directories(${WebKit2_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebKit2_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebKit2_SYSTEM_INCLUDE_DIRECTORIES})
+ add_library(WebKit2 ${WebKit2_LIBRARY_TYPE} ${WebKit2_SOURCES} ${WebKit2_DERIVED_SOURCES})
+ 
+ add_dependencies(WebKit2 WebCore ${WEBKIT2_EXTRA_DEPENDENCIES})
+Index: webkitgtk-2.12.1/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
++++ webkitgtk-2.12.1/Tools/DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt
+@@ -42,7 +42,7 @@ set(WebKitTestNetscapePlugin_SYSTEM_INCL
+ )
+ 
+ include_directories(${WebKitTestNetscapePlugin_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebKitTestNetscapePlugin_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ set(WebKitTestNetscapePlugin_LIBRARIES
+     ${X11_LIBRARIES}
+Index: webkitgtk-2.12.1/Tools/ImageDiff/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Tools/ImageDiff/CMakeLists.txt
++++ webkitgtk-2.12.1/Tools/ImageDiff/CMakeLists.txt
+@@ -14,7 +14,7 @@ set(IMAGE_DIFF_LIBRARIES
+ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ 
+ include_directories(${IMAGE_DIFF_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${IMAGE_DIFF_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${IMAGE_DIFF_SYSTEM_INCLUDE_DIRECTORIES})
+ add_executable(ImageDiff ${IMAGE_DIFF_SOURCES})
+ target_link_libraries(ImageDiff ${IMAGE_DIFF_LIBRARIES})
+ set_target_properties(ImageDiff PROPERTIES FOLDER "Tools")
+Index: webkitgtk-2.12.1/Tools/MiniBrowser/gtk/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Tools/MiniBrowser/gtk/CMakeLists.txt
++++ webkitgtk-2.12.1/Tools/MiniBrowser/gtk/CMakeLists.txt
+@@ -55,7 +55,7 @@ endif ()
+ add_definitions(-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_6)
+ 
+ include_directories(${MiniBrowser_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${MiniBrowser_SYSTEM_INCLUDE_DIRECTORIES})
+ add_executable(MiniBrowser ${MiniBrowser_SOURCES})
+ target_link_libraries(MiniBrowser ${MiniBrowser_LIBRARIES})
+ set_target_properties(MiniBrowser PROPERTIES FOLDER "Tools")
+Index: webkitgtk-2.12.1/Tools/WebKitTestRunner/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Tools/WebKitTestRunner/CMakeLists.txt
++++ webkitgtk-2.12.1/Tools/WebKitTestRunner/CMakeLists.txt
+@@ -115,7 +115,7 @@ GENERATE_BINDINGS(WebKitTestRunner_SOURC
+ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ 
+ include_directories(${WebKitTestRunner_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${WebKitTestRunner_SYSTEM_INCLUDE_DIRECTORIES})
+ 
+ add_library(TestRunnerInjectedBundle SHARED ${WebKitTestRunnerInjectedBundle_SOURCES})
+ target_link_libraries(TestRunnerInjectedBundle ${WebKitTestRunner_LIBRARIES})
+Index: webkitgtk-2.12.1/Source/WebCore/PlatformGTK.cmake
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WebCore/PlatformGTK.cmake
++++ webkitgtk-2.12.1/Source/WebCore/PlatformGTK.cmake
+@@ -324,7 +324,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
+         ${GTK2_INCLUDE_DIRS}
+         ${GDK2_INCLUDE_DIRS}
+     )
+-    target_include_directories(WebCorePlatformGTK2 SYSTEM PRIVATE
++    target_include_directories(WebCorePlatformGTK2 PRIVATE
+         ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
+     )
+     target_link_libraries(WebCorePlatformGTK2
+@@ -366,7 +366,7 @@ WEBKIT_SET_EXTRA_COMPILER_FLAGS(WebCoreP
+ target_include_directories(WebCorePlatformGTK PRIVATE
+     ${WebCore_INCLUDE_DIRECTORIES}
+ )
+-target_include_directories(WebCorePlatformGTK SYSTEM PRIVATE
++target_include_directories(WebCorePlatformGTK PRIVATE
+     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
+     ${GTK_INCLUDE_DIRS}
+     ${GDK_INCLUDE_DIRS}
+@@ -384,7 +384,7 @@ include_directories(
+     "${DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR}"
+ )
+ 
+-include_directories(SYSTEM
++include_directories(
+     ${WebCore_SYSTEM_INCLUDE_DIRECTORIES}
+ )
+ 
+Index: webkitgtk-2.12.1/Tools/TestWebKitAPI/PlatformGTK.cmake
+===================================================================
+--- webkitgtk-2.12.1.orig/Tools/TestWebKitAPI/PlatformGTK.cmake
++++ webkitgtk-2.12.1/Tools/TestWebKitAPI/PlatformGTK.cmake
+@@ -20,7 +20,7 @@ include_directories(
+     ${WEBKIT2_DIR}/UIProcess/API/gtk
+ )
+ 
+-include_directories(SYSTEM
++include_directories(
+     ${GDK3_INCLUDE_DIRS}
+     ${GLIB_INCLUDE_DIRS}
+     ${GTK3_INCLUDE_DIRS}
+Index: webkitgtk-2.12.1/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
++++ webkitgtk-2.12.1/Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
+@@ -23,7 +23,7 @@ include_directories(
+     ${TOOLS_DIR}/TestWebKitAPI/gtk/WebKit2Gtk
+ )
+ 
+-include_directories(SYSTEM
++include_directories(
+     ${ATSPI_INCLUDE_DIRS}
+     ${GLIB_INCLUDE_DIRS}
+     ${GSTREAMER_INCLUDE_DIRS}
+Index: webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WebKit2/PlatformGTK.cmake
++++ webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake
+@@ -816,7 +816,7 @@ if (ENABLE_PLUGIN_PROCESS_GTK2)
+     target_include_directories(WebKitPluginProcess2 PRIVATE
+         ${WebKit2CommonIncludeDirectories}
+     )
+-    target_include_directories(WebKitPluginProcess2 SYSTEM PRIVATE
++    target_include_directories(WebKitPluginProcess2 PRIVATE
+          ${WebKit2CommonSystemIncludeDirectories}
+          ${GTK2_INCLUDE_DIRS}
+          ${GDK2_INCLUDE_DIRS}
+Index: webkitgtk-2.12.1/Source/JavaScriptCore/shell/CMakeLists.txt
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/JavaScriptCore/shell/CMakeLists.txt
++++ webkitgtk-2.12.1/Source/JavaScriptCore/shell/CMakeLists.txt
+@@ -20,7 +20,7 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ 
+ WEBKIT_WRAP_SOURCELIST(${JSC_SOURCES})
+ include_directories(./ ${JavaScriptCore_INCLUDE_DIRECTORIES})
+-include_directories(SYSTEM ${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
++include_directories(${JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES})
+ add_executable(jsc ${JSC_SOURCES})
+ target_link_libraries(jsc ${JSC_LIBRARIES})
+ set_target_properties(jsc PROPERTIES FOLDER "JavaScriptCore")
diff --git a/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
index 44b43cd..3f71297 100644
--- a/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
+++ b/meta/recipes-sato/webkit/files/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
@@ -13,28 +13,25 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
  Source/WebKit2/PlatformGTK.cmake | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake
-index 706f1e8..14a1c3b 100644
---- a/Source/WebKit2/PlatformGTK.cmake
-+++ b/Source/WebKit2/PlatformGTK.cmake
-@@ -884,7 +884,7 @@ add_custom_command(
+Index: webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/WebKit2/PlatformGTK.cmake
++++ webkitgtk-2.12.1/Source/WebKit2/PlatformGTK.cmake
+@@ -910,7 +910,7 @@ add_custom_command(
      OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
      DEPENDS WebKit2
      DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
 -    COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
 +    COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
-         LD_LIBRARY_PATH="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+         ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
          ${INTROSPECTION_SCANNER}
          --quiet
-@@ -930,7 +930,7 @@ add_custom_command(
+@@ -951,7 +951,7 @@ add_custom_command(
      OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
      DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
      DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
 -    COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
 +    COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
          LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
-         LD_LIBRARY_PATH="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+         ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
          ${INTROSPECTION_SCANNER}
--- 
-2.6.4
-
diff --git a/meta/recipes-sato/webkit/files/musl-fixes.patch b/meta/recipes-sato/webkit/files/musl-fixes.patch
new file mode 100644
index 0000000..4fdd56f
--- /dev/null
+++ b/meta/recipes-sato/webkit/files/musl-fixes.patch
@@ -0,0 +1,48 @@
+Replace __GLIBC__ with __linux__ since musl also supports it
+so checking __linux__ is more accomodating
+
+See http://git.alpinelinux.org/cgit/aports/tree/community/webkit2gtk/musl-fixes.patch?id=219435d86d7e8fac9474344a7431c62bd2525184
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: webkitgtk-2.12.1/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+===================================================================
+--- webkitgtk-2.12.1.orig/Source/JavaScriptCore/heap/MachineStackMarker.cpp
++++ webkitgtk-2.12.1/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers:
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__) && ENABLE(JIT)
++#elif defined(__linux__) && ENABLE(JIT)
+ 
+ #if CPU(X86)
+     return reinterpret_cast<void*>((uintptr_t) regs.machineContext.gregs[REG_ESP]);
+@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers:
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__)
++#elif defined(__linux__) // glibc and musl
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers:
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__)
++#elif defined(__linux__) // glibc and musl
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
+@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers:
+ #error Unknown Architecture
+ #endif
+ 
+-#elif defined(__GLIBC__)
++#elif defined(__linux__) // glibc and musl
+ 
+ // The following sequence depends on glibc's sys/ucontext.h.
+ #if CPU(X86)
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
deleted file mode 100644
index d7e4ef6..0000000
--- a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0b68ad206d2d90df78d91cad4da19152084014cf Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 16 Sep 2015 05:15:04 +0000
-Subject: [PATCH] Enable backtrace on linux when using glibc
-
-We dont have backtrace() implemented on non-glibc libc's on linux
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Accepted
-
- Source/WTF/wtf/Assertions.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Source/WTF/wtf/Assertions.cpp b/Source/WTF/wtf/Assertions.cpp
-index 191d53f..a4d86b5 100644
---- a/Source/WTF/wtf/Assertions.cpp
-+++ b/Source/WTF/wtf/Assertions.cpp
-@@ -68,7 +68,7 @@
- #include <unistd.h>
- #endif
- 
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
-@@ -225,7 +225,7 @@ void WTFReportArgumentAssertionFailure(const char* file, int line, const char* f
- 
- void WTFGetBacktrace(void** stack, int* size)
- {
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
-     *size = backtrace(stack, *size);
- #elif OS(WINDOWS)
-     // The CaptureStackBackTrace function is available in XP, but it is not defined
--- 
-2.5.2
-
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
deleted file mode 100644
index 77ebf37..0000000
--- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 30e2ef302a329850ba55c7c458c98cbf396186ec Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 31 Dec 2015 21:47:34 +0000
-Subject: [PATCH] Fix build with non-glibc libraries on linux
-
-qualify isnan() calls with std namespace
-malloc_trim is glibc specific API so guard it with __GLIBC__
-let ctype be used on non-glibc ( musl ) C library
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Accepted
-
- Source/JavaScriptCore/runtime/Options.cpp                    | 2 +-
- Source/WTF/wtf/DisallowCType.h                               | 2 +-
- Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp | 2 ++
- 3 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/Source/JavaScriptCore/runtime/Options.cpp b/Source/JavaScriptCore/runtime/Options.cpp
-index fe830b4..c49aade 100644
---- a/Source/JavaScriptCore/runtime/Options.cpp
-+++ b/Source/JavaScriptCore/runtime/Options.cpp
-@@ -610,7 +610,7 @@ bool Option::operator==(const Option& other) const
-     case Options::Type::unsignedType:
-         return m_entry.unsignedVal == other.m_entry.unsignedVal;
-     case Options::Type::doubleType:
--        return (m_entry.doubleVal == other.m_entry.doubleVal) || (isnan(m_entry.doubleVal) && isnan(other.m_entry.doubleVal));
-+        return (m_entry.doubleVal == other.m_entry.doubleVal) || (std::isnan(m_entry.doubleVal) && std::isnan(other.m_entry.doubleVal));
-     case Options::Type::int32Type:
-         return m_entry.int32Val == other.m_entry.int32Val;
-     case Options::Type::optionRangeType:
-diff --git a/Source/WTF/wtf/DisallowCType.h b/Source/WTF/wtf/DisallowCType.h
-index d85e767..dc6bcab 100644
---- a/Source/WTF/wtf/DisallowCType.h
-+++ b/Source/WTF/wtf/DisallowCType.h
-@@ -40,7 +40,7 @@
- // are used from wx headers. On GTK+ for Mac many GTK+ files include <libintl.h>
- // or <glib/gi18n-lib.h>, which in turn include <xlocale/_ctype.h> which uses
- // isacii(). 
--#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION)
-+#if !(OS(DARWIN) && PLATFORM(GTK)) && !PLATFORM(EFL) && !defined(_LIBCPP_VERSION) && defined(__GLIBC__)
- 
- #include <ctype.h>
- 
-diff --git a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
-index ea61909..1495642 100644
---- a/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
-+++ b/Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp
-@@ -202,7 +202,9 @@ void MemoryPressureHandler::respondToMemoryPressure(Critical critical, Synchrono
- void MemoryPressureHandler::platformReleaseMemory(Critical)
- {
-     ReliefLogger log("Run malloc_trim");
-+#ifdef __GLIBC__
-     malloc_trim(0);
-+#endif
- }
- 
- void MemoryPressureHandler::ReliefLogger::platformLog()
--- 
-2.6.4
-
diff --git a/meta/recipes-sato/webkit/webkitgtk/clang.patch b/meta/recipes-sato/webkit/webkitgtk/clang.patch
deleted file mode 100644
index e526713..0000000
--- a/meta/recipes-sato/webkit/webkitgtk/clang.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Clang's builtin for clear_cache accepts char* and errors out when using void*,
-using char* work on both gcc and clang since char* is auto-converted to void* in gcc case
-
-Source/JavaScriptCore/assembler/ARM64Assembler.h:2857:33: error: cannot initialize a parameter of type 'char *' with an rvalue of type 'void *'
-        __builtin___clear_cache(reinterpret_cast<void*>(begin), reinterpret_cast<void*>(end));
-                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-1 error generated.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Accepted
-
-Index: webkitgtk-2.8.5/Source/JavaScriptCore/assembler/ARM64Assembler.h
-===================================================================
---- webkitgtk-2.8.5.orig/Source/JavaScriptCore/assembler/ARM64Assembler.h
-+++ webkitgtk-2.8.5/Source/JavaScriptCore/assembler/ARM64Assembler.h
-@@ -2854,7 +2854,7 @@ public:
- #if OS(LINUX) && COMPILER(GCC)
-     static inline void linuxPageFlush(uintptr_t begin, uintptr_t end)
-     {
--        __builtin___clear_cache(reinterpret_cast<void*>(begin), reinterpret_cast<void*>(end));
-+        __builtin___clear_cache(reinterpret_cast<char*>(begin), reinterpret_cast<char*>(end));
-     }
- #endif
- 
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb b/meta/recipes-sato/webkit/webkitgtk_2.12.1.bb
similarity index 92%
rename from meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
rename to meta/recipes-sato/webkit/webkitgtk_2.12.1.bb
index 269ae4b..bdbcbea 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.10.7.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.12.1.bb
@@ -12,15 +12,14 @@ LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d842
 
 SRC_URI = "\
   http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
-  file://clang.patch \
-  file://0001-Enable-backtrace-on-linux-when-using-glibc.patch \
-  file://0001-Fix-build-with-non-glibc-libraries-on-linux.patch \
   file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
   file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
   file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
+  file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
+  file://musl-fixes.patch \
   "
-SRC_URI[md5sum] = "84832b9d8329413b4f1d87df5f7e8efe"
-SRC_URI[sha256sum] = "990d62c82ed6dede31a6ff0a82d847f16b812842ff3e1093d17113627652864e"
+SRC_URI[md5sum] = "adcbee440d81acfb1ead9ada91bd5e79"
+SRC_URI[sha256sum] = "5b1a2d5227553f3cecbdb258c68b384f9235747b2c07c15afb555fe4fa6ae896"
 
 inherit cmake lib_package pkgconfig perlnative pythonnative distro_features_check upstream-version-is-even gobject-introspection
 
@@ -75,6 +74,9 @@ EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF "
 EXTRA_OECMAKE_append_mips = " -DENABLE_JIT=OFF "
 EXTRA_OECMAKE_append_mips64 = " -DENABLE_JIT=OFF "
 
+SECURITY_CFLAGS_remove_aarch64 = "-fpie"
+SECURITY_CFLAGS_append_aarch64 = " -fPIE"
+
 FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
 
 # http://errors.yoctoproject.org/Errors/Details/20370/
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 09/42] oprofile: Fix with gcc6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (7 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 08/42] webkitgtk: Upgrade to 2.12.1 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 10/42] mdadm: Fix gcc 6 warnings Khem Raj
                   ` (34 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-kernel/oprofile/oprofile.inc          |  4 +-
 .../0001-Fix-FTBFS-problem-with-GCC-6.patch        | 51 ++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch

diff --git a/meta/recipes-kernel/oprofile/oprofile.inc b/meta/recipes-kernel/oprofile/oprofile.inc
index cf3ad43..96ef43d 100644
--- a/meta/recipes-kernel/oprofile/oprofile.inc
+++ b/meta/recipes-kernel/oprofile/oprofile.inc
@@ -24,7 +24,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
            file://oprofile-cross-compile-tests.patch \
            file://run-ptest \
            file://root-home-dir.patch \
-           file://0001-Add-rmb-definition-for-NIOS2-architecture.patch"
+           file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
+           file://0001-Fix-FTBFS-problem-with-GCC-6.patch \
+"
 
 SRC_URI_append_libc-musl = " file://musl.patch"
 
diff --git a/meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch b/meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
new file mode 100644
index 0000000..d372fd5
--- /dev/null
+++ b/meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
@@ -0,0 +1,51 @@
+From 39d4d46a0bd504ac708ffe72df87bf74cd12ad30 Mon Sep 17 00:00:00 2001
+From: William Cohen <wcohen@redhat.com>
+Date: Fri, 5 Feb 2016 17:30:19 -0500
+Subject: [PATCH] Fix FTBFS problem with GCC-6
+
+GCC-6 is pickier about some of the type conversions causing the Fedora
+24 mass rebuild the build of oprofile failed with:
+
+make[3]: Entering directory '/builddir/build/BUILD/oprofile-1.1.0/libutil++'
+g++ -DHAVE_CONFIG_H -I. -I..  -I ../libutil -I ../libop -I ../libpp   -W -Wall -fno-common -ftemplate-depth-50 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o op_bfd.o op_bfd.cpp
+op_bfd.cpp: In member function 'void op_bfd::get_symbol_range(symbol_index_t, long long unsigned int&, long long unsigned int&) const':
+op_bfd.cpp:538:47: error: cannot convert 'std::ostream {aka std::basic_ostream<char>}' to 'const bool' in initialization
+  bool const verbose = cverb << (vbfd & vlevel1);
+                                               ^
+op_bfd.cpp:546:7: error: in argument to unary !
+  if (!verbose)
+       ^~~~~~~
+
+Avoid the intermediate bool type to make GCC-6 happy.
+
+Signed-off-by: William Cohen <wcohen@redhat.com>
+---
+Upstream-Status: Backport
+
+ libutil++/op_bfd.cpp | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/libutil++/op_bfd.cpp b/libutil++/op_bfd.cpp
+index 389c920..f2eb42b 100644
+--- a/libutil++/op_bfd.cpp
++++ b/libutil++/op_bfd.cpp
+@@ -535,15 +535,13 @@ void op_bfd::get_symbol_range(symbol_index_t sym_idx,
+ {
+ 	op_bfd_symbol const & sym = syms[sym_idx];
+ 
+-	bool const verbose = cverb << (vbfd & vlevel1);
+-
+ 	if (anon_obj)
+ 		start = sym.vma();
+ 	else
+ 		start = sym.filepos();
+ 	end = start + sym.size();
+ 
+-	if (!verbose)
++	if (!(cverb << (vbfd & vlevel1)))
+ 		return;
+ 
+ 	io_state state(cverb << (vbfd & vlevel1));
+-- 
+1.9.1
+
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 10/42] mdadm: Fix gcc 6 warnings
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (8 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 09/42] oprofile: Fix with gcc6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 11/42] nss: Upgrade to 3.23 Khem Raj
                   ` (33 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-raid6check-Fix-if-else-indentation.patch  | 37 ++++++++++++++++++++++
 meta/recipes-extended/mdadm/mdadm_3.4.bb           |  3 +-
 2 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch

diff --git a/meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch b/meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch
new file mode 100644
index 0000000..0b34b84
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch
@@ -0,0 +1,37 @@
+From 1b0aa1debf6fbe9923c9aac671d2894f76c32f9d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 20 Apr 2016 16:38:13 +0000
+Subject: [PATCH] raid6check: Fix if-else indentation
+
+gcc 6 warns about ambiguity due to this indentation
+| raid6check.c: In function 'manual_repair':
+| raid6check.c:267:4: error: this 'else' clause does not guard... [-Werror=misleading-indentation]
+|     else
+|     ^~~~
+| raid6check.c:269:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'
+|      printf("Repairing D(%d) and P\n", failed_data);
+|      ^~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ raid6check.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/raid6check.c b/raid6check.c
+index ad7ffe7..409b1b6 100644
+--- a/raid6check.c
++++ b/raid6check.c
+@@ -266,7 +266,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ 				failed_data = failed_slot2;
+ 			else
+ 				failed_data = failed_slot1;
+-				printf("Repairing D(%d) and P\n", failed_data);
++			printf("Repairing D(%d) and P\n", failed_data);
+ 			raid6_datap_recov(syndrome_disks+2, chunk_size,
+ 					  failed_data, (uint8_t**)blocks, 1);
+ 		} else {
+-- 
+1.9.1
+
diff --git a/meta/recipes-extended/mdadm/mdadm_3.4.bb b/meta/recipes-extended/mdadm/mdadm_3.4.bb
index 142dfdd..0e55de4 100644
--- a/meta/recipes-extended/mdadm/mdadm_3.4.bb
+++ b/meta/recipes-extended/mdadm/mdadm_3.4.bb
@@ -19,7 +19,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
            file://0001-Fix-some-type-comparison-problems.patch \
            file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
            file://run-ptest \
-	  "
+           file://0001-raid6check-Fix-if-else-indentation.patch \
+           "
 SRC_URI[md5sum] = "04b8b21f637540350f8517c7e68d3c63"
 SRC_URI[sha256sum] = "27d0be4627d38a12ddcd1c1c3721d649d4e89e1093914497e22b57245cda8808"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 11/42] nss: Upgrade to 3.23
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (9 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 10/42] mdadm: Fix gcc 6 warnings Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 12/42] pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1 Khem Raj
                   ` (32 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Disable Werror on native builds. This helps
in building nss-native on build hosts which have
gcc < 4.9 eg. ubuntu 14.04

The real issue is that we use headers from native
staging sysroot and it has the updated glibc headers
which then ends up with errors e.g.

| In function 'memset',
|     inlined from 'sec_PKCS7Encrypt' at p7local.c:715:14:
| /usr/include/x86_64-linux-gnu/bits/string3.h:81:30: error: call to '__warn_memset_zero_len' declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters [-Werror]
|        __warn_memset_zero_len ();
|                               ^
| cc1: all warnings being treated as errors
| make[2]: *** [Linux3.4_x86_64_glibc_PTH_64_OPT.OBJ/p7local.o] Error 1

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-support/nss/{nss_3.21.bb => nss_3.23.bb} | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
 rename meta/recipes-support/nss/{nss_3.21.bb => nss_3.23.bb} (97%)

diff --git a/meta/recipes-support/nss/nss_3.21.bb b/meta/recipes-support/nss/nss_3.23.bb
similarity index 97%
rename from meta/recipes-support/nss/nss_3.21.bb
rename to meta/recipes-support/nss/nss_3.23.bb
index d2e2411..2663ff7 100644
--- a/meta/recipes-support/nss/nss_3.21.bb
+++ b/meta/recipes-support/nss/nss_3.23.bb
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
                     file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132"
 
 SRC_URI = "\
-    http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_21_RTM/src/${BP}.tar.gz \
+    http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_23_RTM/src/${BP}.tar.gz \
     file://nss-fix-support-cross-compiling.patch \
     file://nss-no-rpath-for-cross-compiling.patch \
     file://nss-fix-incorrect-shebang-of-perl.patch \
@@ -24,9 +24,8 @@ SRC_URI = "\
     file://nss.pc.in \
     file://signlibs.sh \
 "
-
-SRC_URI[md5sum] = "3c8b2ed880dd3a8d86c9e0151afe6eba"
-SRC_URI[sha256sum] = "3f7a5b027d7cdd5c0e4ff7544da33fdc6f56c2f8c27fff02938fd4a6fbe87239"
+SRC_URI[md5sum] = "21c3fed84441b2ab4c50ac626f6517e7"
+SRC_URI[sha256sum] = "94b383e31c9671e9dfcca81084a8a813817e8f05a57f54533509b318d26e11cf"
 
 UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
 UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
@@ -49,6 +48,7 @@ do_configure_prepend_libc-musl () {
 do_compile_prepend_class-native() {
     export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}
     export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
+    export NSS_ENABLE_WERROR=0
 }
 
 do_compile_prepend_class-nativesdk() {
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 12/42] pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (10 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 11/42] nss: Upgrade to 3.23 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 13/42] binutils: disable werror on native build Khem Raj
                   ` (31 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core; +Cc: Dan McGregor

From: Dan McGregor <dan.mcgregor@usask.ca>

glib patch is backported from glib-2.0 upstream
eventually we will throw it away once pkgconfig
moves to newer glib

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...e-Move-warning-pragma-outside-of-function.patch | 39 ++++++++++++++++++++++
 meta/recipes-devtools/pkgconfig/pkgconfig_git.bb   |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch

diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch
new file mode 100644
index 0000000..14c8293
--- /dev/null
+++ b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch
@@ -0,0 +1,39 @@
+From 946d36266d8a30f04fe34d3183bf4929141934d2 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Wed, 2 Mar 2016 19:38:48 +0200
+Subject: [PATCH] gdate: Move warning pragma outside of function
+
+Commit 0817af40e8c74c721c30f6ef482b1f53d12044c7 breaks the build on
+older versions of GCC, which don't allow pragma inside functions.
+
+https://bugzilla.gnome.org/761550
+---
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ glib/glib/gdate.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/glib/glib/gdate.c b/glib/glib/gdate.c
+index 1978cf7..20e6c4a 100644
+--- a/glib/glib/gdate.c
++++ b/glib/glib/gdate.c
+@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate     *d,
+  *
+  * Returns: number of characters written to the buffer, or 0 the buffer was too small
+  */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
++
+ gsize     
+ g_date_strftime (gchar       *s, 
+                  gsize        slen, 
+@@ -2549,3 +2552,5 @@ g_date_strftime (gchar       *s,
+   return retval;
+ #endif
+ }
++
++#pragma GCC diagnostic pop
+-- 
+1.9.1
+
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
index d7634e3..86503b5 100644
--- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
+++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
@@ -18,6 +18,7 @@ PV = "0.29.1+git${SRCPV}"
 SRC_URI = "git://anongit.freedesktop.org/pkg-config \
            file://pkg-config-native.in \
            file://fix-glib-configure-libtool-usage.patch \
+           file://0001-gdate-Move-warning-pragma-outside-of-function.patch \
            "
 
 S = "${WORKDIR}/git"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 13/42] binutils: disable werror on native build
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (11 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 12/42] pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 14/42] grub: Fix build with gcc-6 Khem Raj
                   ` (30 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core; +Cc: Dan McGregor

From: Dan McGregor <dan.mcgregor@usask.ca>

It's disabled on cross builds, and it's needed for gcc 6

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
---
 meta/recipes-devtools/binutils/binutils_2.26.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/binutils/binutils_2.26.bb b/meta/recipes-devtools/binutils/binutils_2.26.bb
index b70ffbf..e976bad 100644
--- a/meta/recipes-devtools/binutils/binutils_2.26.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.26.bb
@@ -13,7 +13,8 @@ EXTRA_OECONF += "--with-sysroot=/ \
 EXTRA_OECONF_class-native = "--enable-targets=all \
                              --enable-64-bit-bfd \
                              --enable-install-libiberty \
-                             --enable-install-libbfd"
+                             --enable-install-libbfd \
+                             --disable-werror"
 
 do_install_class-native () {
 	autotools_do_install
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 14/42] grub: Fix build with gcc-6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (12 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 13/42] binutils: disable werror on native build Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 15/42] valgrind: Fix build with gcc6 Khem Raj
                   ` (29 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Backport patch which silences following

'../../grub-2.00/grub-core/'`gfxmenu/model.c
../../grub-2.00/grub-core/gettext/gettext.c:37:36: error: storage size of 'main_context' isn't known
 static struct grub_gettext_context main_context, secondary_context;
                                    ^~~~~~~~~~~~
make[3]: *** [gettext/gettext_module-gettext.o] Error 1

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ettext-gettext.c-main_context-secondary_c.patch | 39 ++++++++++++++++++++++
 meta/recipes-bsp/grub/grub2.inc                    |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch

diff --git a/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch b/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
new file mode 100644
index 0000000..6ec2363
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
@@ -0,0 +1,39 @@
+From f30c692c1f9ef0e93bee2b408a24baa017f1ca9d Mon Sep 17 00:00:00 2001
+From: Vladimir Serbinenko <phcoder@gmail.com>
+Date: Thu, 7 Nov 2013 01:01:47 +0100
+Subject: [PATCH] 	* grub-core/gettext/gettext.c (main_context),
+ (secondary_context): 	Define after defining type and not before.
+
+---
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport
+
+ ChangeLog                   | 5 +++++
+ grub-core/gettext/gettext.c | 4 ++--
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
+index df73570..4880cef 100644
+--- a/grub-core/gettext/gettext.c
++++ b/grub-core/gettext/gettext.c
+@@ -34,8 +34,6 @@ GRUB_MOD_LICENSE ("GPLv3+");
+    http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html .
+ */
+ 
+-static struct grub_gettext_context main_context, secondary_context;
+-
+ static const char *(*grub_gettext_original) (const char *s);
+ 
+ struct grub_gettext_msg
+@@ -69,6 +67,8 @@ struct grub_gettext_context
+   struct grub_gettext_msg *grub_gettext_msg_list;
+ };
+ 
++static struct grub_gettext_context main_context, secondary_context;
++
+ #define MO_MAGIC_NUMBER 		0x950412de
+ 
+ static grub_err_t
+-- 
+1.9.1
+
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index 146dde6..aca6e9b 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -30,6 +30,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
            file://0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch \
            file://0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch \
            file://fix-texinfo.patch \
+           file://0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch \
             "
 
 DEPENDS = "flex-native bison-native"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 15/42] valgrind: Fix build with gcc6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (13 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 14/42] grub: Fix build with gcc-6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it Khem Raj
                   ` (28 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../valgrind/valgrind/gcc5-port.patch              | 64 ++++++++++++++++++++++
 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  |  1 +
 2 files changed, 65 insertions(+)
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch

diff --git a/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch b/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch
new file mode 100644
index 0000000..76bc821
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch
@@ -0,0 +1,64 @@
+backport fix from upstream to fix build errors with gcc 6
+
+http://valgrind.10908.n7.nabble.com/Valgrind-r15773-in-trunk-configure-ac-drd-tests-std-thread-cpp-drd-tests-std-thread2-cpp-td56109.html
+
+../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:3: error: '_Impl_base' is not a member of 'std::thread'
+   std::thread::_Impl_base* __t = static_cast<std::thread::_Impl_base*>(__p);
+   ^~~
+../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:28: error: '__t' was not declared in this scope
+   std::thread::_Impl_base* __t = static_cast<std::thread::_Impl_base*>(__p);
+                            ^~~
+../../../valgrind-3.11.0/drd/tests/std_thread.cpp:30:59: error: '_Impl_base' in 'class std::thread' does not name a type
+   std::thread::_Impl_base* __t = static_cast<std::thread::_Impl_base*>(__p);
+                                                           ^~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport
+
+Index: configure.ac
+===================================================================
+--- a/configure.ac	(revision 15772)
++++ b/configure.ac	(revision 15773)
+@@ -160,7 +160,7 @@
+      icc-1[[3-9]].*)
+ 	AC_MSG_RESULT([ok (ICC version ${gcc_version})])
+ 	;;
+-     notclang-[[3-9]].*|notclang-[[1-9][0-9]]*)
++     notclang-[[3-9]]|notclang-[[3-9]].*|notclang-[[1-9][0-9]]*)
+ 	AC_MSG_RESULT([ok (${gcc_version})])
+ 	;;
+      clang-2.9|clang-[[3-9]].*|clang-[[1-9][0-9]]*)
+Index: drd/tests/std_thread2.cpp
+===================================================================
+--- a/drd/tests/std_thread2.cpp	(revision 15772)
++++ b/drd/tests/std_thread2.cpp	(revision 15773)
+@@ -26,6 +26,7 @@
+   return 0;
+ }
+ 
++#if defined(__GNUC__) && __GNUC__ -0 < 6
+ //
+ // From libstdc++-v3/src/c++11/thread.cc
+ //
+@@ -70,3 +71,4 @@
+     }
+   }
+ }
++#endif
+Index: drd/tests/std_thread.cpp
+===================================================================
+--- a/drd/tests/std_thread.cpp	(revision 15772)
++++ b/drd/tests/std_thread.cpp	(revision 15773)
+@@ -21,6 +21,7 @@
+   return 0;
+ }
+ 
++#if defined(__GNUC__) && __GNUC__ -0 < 6
+ //
+ // From libstdc++-v3/src/c++11/thread.cc
+ //
+@@ -65,3 +66,4 @@
+     }
+   }
+ }
++#endif
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
index 8240500..13354f4 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.11.0.bb
@@ -23,6 +23,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
            file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
            file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
            file://avoid-neon-for-targets-which-don-t-support-it.patch \
+           file://gcc5-port.patch \
 "
 SRC_URI_append_libc-musl = "\
            file://0001-fix-build-for-musl-targets.patch \
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (14 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 15/42] valgrind: Fix build with gcc6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-12 12:58   ` Andreas Oberritter
  2016-05-11 17:35 ` [PATCH 17/42] libc-common.bbclass: Use sed instead of grep Khem Raj
                   ` (27 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

echo would fail if /sys is not mounted and boot would abort

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/busybox/files/mdev | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/busybox/files/mdev b/meta/recipes-core/busybox/files/mdev
index 9625247..8c9c06e 100755
--- a/meta/recipes-core/busybox/files/mdev
+++ b/meta/recipes-core/busybox/files/mdev
@@ -1,10 +1,12 @@
 #!/bin/sh
-
+mount -t proc proc /proc
+mount -t sysfs sysfs /sys
 mount -t tmpfs tmpfs /dev  -o size=64k,mode=0755
 mkdir /dev/pts /dev/shm
 chmod 777 /dev/shm
 mount -t devpts devpts /dev/pts
 touch /dev/mdev.seq
+#sysctl -w kernel.hotplug=/sbin/mdev
 echo "/sbin/mdev" > /proc/sys/kernel/hotplug
 mdev -s
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 17/42] libc-common.bbclass: Use sed instead of grep
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (15 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 18/42] conf: bump minimum kernel to 3.2.0 Khem Raj
                   ` (26 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Squash two install cmds into one
Replace grep with sed substitution logic, optimizes
away mv cmd

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/libc-common.bbclass | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass
index bbc8016..11b0065 100644
--- a/meta/classes/libc-common.bbclass
+++ b/meta/classes/libc-common.bbclass
@@ -4,14 +4,12 @@ do_install() {
 		h=`echo $r|sed -e's,\.x$,.h,'`
 		install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
 	done
-	install -d ${D}/${sysconfdir}/ 
-	install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/
+	install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf
 	install -d ${D}${localedir}
 	make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
 	# get rid of some broken files...
 	for i in ${GLIBC_BROKEN_LOCALES}; do
-		grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp
-		mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
+		sed -i "/$i/d" ${WORKDIR}/SUPPORTED
 	done
 	rm -f ${D}${sysconfdir}/rpc
 	rm -rf ${D}${datadir}/zoneinfo
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 18/42] conf: bump minimum kernel to 3.2.0
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (16 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 17/42] libc-common.bbclass: Use sed instead of grep Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-12 17:18   ` Ruslan Bilovol
  2016-05-11 17:35 ` [PATCH 19/42] systemd: Create missing sysusers offline Khem Raj
                   ` (25 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

glibc 2.24 have raised the bar for minimum supported kernel
for more details see

http://repo.or.cz/glibc.git/commit/5b4ecd3f95695ef593e4474b4ab5a117291ba5fc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/populate_sdk_base.bbclass | 2 +-
 meta/conf/bitbake.conf                 | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 008bb57..645a7f4 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -90,7 +90,7 @@ SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK
 # Some archs override this, we need the nativesdk version
 # turns out this is hard to get from the datastore due to TRANSLATED_TARGET_ARCH
 # manipulation.
-SDK_OLDEST_KERNEL = "2.6.32"
+SDK_OLDEST_KERNEL = "3.2.0"
 
 fakeroot python do_populate_sdk() {
     from oe.sdk import populate_sdk
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 8e02e91..07d171d 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -403,7 +403,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 # Kernel info.
 ##################################################################
 
-OLDEST_KERNEL = "2.6.32"
+OLDEST_KERNEL = "3.2.0"
 OLDEST_KERNEL_aarch64 = "3.14"
 STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
 STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 19/42] systemd: Create missing sysusers offline
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (17 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 18/42] conf: bump minimum kernel to 3.2.0 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-13 12:44   ` Richard Purdie
  2016-05-11 17:35 ` [PATCH 20/42] grub_git: Upgrade to latest tip Khem Raj
                   ` (24 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Some system users which are needed by systemd components were missing
create these users knobbed with relevant packageconfig

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/systemd/systemd_229.bb | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/systemd/systemd_229.bb b/meta/recipes-core/systemd/systemd_229.bb
index c23c749..a2d35f8 100644
--- a/meta/recipes-core/systemd/systemd_229.bb
+++ b/meta/recipes-core/systemd/systemd_229.bb
@@ -319,10 +319,16 @@ PACKAGES =+ "\
 SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)}"
 SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
 
-USERADD_PACKAGES = "${PN}"
+USERADD_PACKAGES = "${PN} ${PN}-extra-utils"
 USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '--system -d / -M --shell /bin/nologin systemd-journal-gateway;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '--system -d / -M --shell /bin/nologin systemd-journal-remote;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '--system -d / -M --shell /bin/nologin systemd-journal-upload;', '', d)}"
 USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /bin/nologin systemd-timesync;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
 GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal"
+USERADD_PARAM_${PN}-extra-utils += "--system -d / -M --shell /bin/nologin systemd-bus-proxy;"
 
 FILES_${PN}-analyze = "${bindir}/systemd-analyze"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 20/42] grub_git: Upgrade to latest tip
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (18 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 19/42] systemd: Create missing sysusers offline Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 21/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
                   ` (23 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Gets past the gcc6 issues seen on aarch64
| make[3]: *** [cmp.mod] Error 1
| build-grub-module-verifier: error: unsupported relocation 0x113.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-bsp/grub/grub_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-bsp/grub/grub_git.bb b/meta/recipes-bsp/grub/grub_git.bb
index 8f8c5ed..7a900d0 100644
--- a/meta/recipes-bsp/grub/grub_git.bb
+++ b/meta/recipes-bsp/grub/grub_git.bb
@@ -8,7 +8,7 @@ DEFAULT_PREFERENCE_arm = "1"
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/grub-git:"
 
 PV = "2.00+${SRCPV}"
-SRCREV = "b95e92678882f56056c64ae29092bc9cf129905f"
+SRCREV = "7a5b301e3adb8e054288518a325135a1883c1c6c"
 SRC_URI = "git://git.savannah.gnu.org/grub.git \
            file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \
            file://autogen.sh-exclude-pc.patch \
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 21/42] libunwind: Upgrade to 1.2rc1+
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (19 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 20/42] grub_git: Upgrade to latest tip Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6 Khem Raj
                   ` (22 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

This helps in compiling with gcc6
drop patches backported to 1.1
remove musl conditional patches, they should work
on glibc too now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...rf-opcodes-can-cause-references-beyond-th.patch |   29 -
 .../libunwind-1.1/0001-disable-tests.patch         |   31 -
 .../libunwind/libunwind-1.1/AArch64-port.patch     | 2529 --------------------
 ...k-failure-on-PowerPC-systems-with-Altivec.patch |   28 -
 ...-libunwind-to-libgcc_s-rather-than-libgcc.patch |   42 -
 .../Support-building-with-older-compilers.patch    |   72 -
 .../0001-Fix-build-on-mips-musl.patch              |   33 +-
 ...-backtrace-Use-only-with-glibc-and-uclibc.patch |    0
 .../0001-x86-Stub-out-x86_local_resume.patch       |    0
 ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch |    0
 meta/recipes-support/libunwind/libunwind_1.1.bb    |   24 -
 meta/recipes-support/libunwind/libunwind_git.bb    |   25 +
 12 files changed, 37 insertions(+), 2776 deletions(-)
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-Fix-build-on-mips-musl.patch (68%)
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-backtrace-Use-only-with-glibc-and-uclibc.patch (100%)
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-x86-Stub-out-x86_local_resume.patch (100%)
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch (100%)
 delete mode 100644 meta/recipes-support/libunwind/libunwind_1.1.bb
 create mode 100644 meta/recipes-support/libunwind/libunwind_git.bb

diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
deleted file mode 100644
index af972f8..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 396b6c7ab737e2bff244d640601c436a26260ca1 Mon Sep 17 00:00:00 2001
-From: Arun Sharma <arun@sharma-home.net>
-Date: Fri, 19 Jun 2015 19:47:22 -0700
-Subject: [PATCH] Invalid dwarf opcodes can cause references beyond the end of
- the array.
-
-Upstream-Status: backport
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- include/dwarf_i.h |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/dwarf_i.h b/include/dwarf_i.h
-index 1e6231e..4a02a7d 100644
---- a/include/dwarf_i.h
-+++ b/include/dwarf_i.h
-@@ -20,7 +20,7 @@
- extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH];
- /* REG is evaluated multiple times; it better be side-effects free!  */
- # define dwarf_to_unw_regnum(reg)					  \
--  (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
-+  (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
- #endif
- 
- #ifdef UNW_LOCAL_ONLY
--- 
-1.7.9.5
-
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
deleted file mode 100644
index 7309ffd..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b07435a90bd636ee718e2238fb46c74a6dd5e069 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Mar 2016 16:41:13 +0000
-Subject: [PATCH] disable tests
-
-Tests use getcontext() API which is
-not there on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Inappropriate [MUSL-only]
-
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index e24fe1e..15380e4 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -39,7 +39,7 @@ endif
- 
- nodist_include_HEADERS = include/libunwind-common.h
- 
--SUBDIRS = src tests doc
-+SUBDIRS = src doc
- 
- noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h	\
- 	include/compiler.h include/libunwind_i.h include/mempool.h	\
--- 
-1.8.3.1
-
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch b/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
deleted file mode 100644
index 228ec32..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
+++ /dev/null
@@ -1,2529 +0,0 @@
-From ac6c0a6535975f1dc2da6e4e2766614baac2a14a Mon Sep 17 00:00:00 2001
-From: Yvan Roux <yvan.roux@linaro.org>
-Date: Sat, 11 May 2013 09:18:23 -0600
-Subject: [PATCH] AArch64 port.
-
-Upstream-Status: Backport
-
----
- Makefile.am                          |    6 
- README                               |    1 
- configure.ac                         |    6 
- include/libunwind-aarch64.h          |  187 ++++++++++++++++++++++
- include/libunwind.h.in               |    4 
- include/tdep-aarch64/dwarf-config.h  |   52 ++++++
- include/tdep-aarch64/jmpbuf.h        |   33 +++
- include/tdep-aarch64/libunwind_i.h   |  294 +++++++++++++++++++++++++++++++++++
- include/tdep/dwarf-config.h          |    4 
- include/tdep/jmpbuf.h                |    2 
- include/tdep/libunwind_i.h.in        |    4 
- src/Makefile.am                      |   39 ++++
- src/aarch64/Gcreate_addr_space.c     |   60 +++++++
- src/aarch64/Gget_proc_info.c         |   39 ++++
- src/aarch64/Gget_save_loc.c          |  100 +++++++++++
- src/aarch64/Gglobal.c                |   57 ++++++
- src/aarch64/Ginit.c                  |  187 ++++++++++++++++++++++
- src/aarch64/Ginit_local.c            |   55 ++++++
- src/aarch64/Ginit_remote.c           |   45 +++++
- src/aarch64/Gis_signal_frame.c       |   64 +++++++
- src/aarch64/Gregs.c                  |  113 +++++++++++++
- src/aarch64/Gresume.c                |  177 +++++++++++++++++++++
- src/aarch64/Gstep.c                  |  129 +++++++++++++++
- src/aarch64/Lcreate_addr_space.c     |    5 
- src/aarch64/Lget_proc_info.c         |    5 
- src/aarch64/Lget_save_loc.c          |    5 
- src/aarch64/Lglobal.c                |    5 
- src/aarch64/Linit.c                  |    5 
- src/aarch64/Linit_local.c            |    5 
- src/aarch64/Linit_remote.c           |    5 
- src/aarch64/Lis_signal_frame.c       |    5 
- src/aarch64/Lregs.c                  |    5 
- src/aarch64/Lresume.c                |    5 
- src/aarch64/Lstep.c                  |    5 
- src/aarch64/gen-offsets.c            |   68 ++++++++
- src/aarch64/init.h                   |  127 +++++++++++++++
- src/aarch64/is_fpreg.c               |   32 +++
- src/aarch64/offsets.h                |   49 +++++
- src/aarch64/regname.c                |  106 ++++++++++++
- src/aarch64/siglongjmp.S             |   12 +
- src/aarch64/unwind_i.h               |   43 +++++
- src/coredump/_UCD_access_reg_linux.c |    5 
- src/ptrace/_UPT_reg_offset.c         |   36 ++++
- 43 files changed, 2184 insertions(+), 7 deletions(-)
- create mode 100644 include/libunwind-aarch64.h
- create mode 100644 include/tdep-aarch64/dwarf-config.h
- create mode 100644 include/tdep-aarch64/jmpbuf.h
- create mode 100644 include/tdep-aarch64/libunwind_i.h
- create mode 100644 src/aarch64/Gcreate_addr_space.c
- create mode 100644 src/aarch64/Gget_proc_info.c
- create mode 100644 src/aarch64/Gget_save_loc.c
- create mode 100644 src/aarch64/Gglobal.c
- create mode 100644 src/aarch64/Ginit.c
- create mode 100644 src/aarch64/Ginit_local.c
- create mode 100644 src/aarch64/Ginit_remote.c
- create mode 100644 src/aarch64/Gis_signal_frame.c
- create mode 100644 src/aarch64/Gregs.c
- create mode 100644 src/aarch64/Gresume.c
- create mode 100644 src/aarch64/Gstep.c
- create mode 100644 src/aarch64/Lcreate_addr_space.c
- create mode 100644 src/aarch64/Lget_proc_info.c
- create mode 100644 src/aarch64/Lget_save_loc.c
- create mode 100644 src/aarch64/Lglobal.c
- create mode 100644 src/aarch64/Linit.c
- create mode 100644 src/aarch64/Linit_local.c
- create mode 100644 src/aarch64/Linit_remote.c
- create mode 100644 src/aarch64/Lis_signal_frame.c
- create mode 100644 src/aarch64/Lregs.c
- create mode 100644 src/aarch64/Lresume.c
- create mode 100644 src/aarch64/Lstep.c
- create mode 100644 src/aarch64/gen-offsets.c
- create mode 100644 src/aarch64/init.h
- create mode 100644 src/aarch64/is_fpreg.c
- create mode 100644 src/aarch64/offsets.h
- create mode 100644 src/aarch64/regname.c
- create mode 100644 src/aarch64/siglongjmp.S
- create mode 100644 src/aarch64/unwind_i.h
-
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,6 +2,9 @@ include_HEADERS = include/libunwind-dyna
-     include/libunwind-ptrace.h \
-     include/libunwind-coredump.h
- 
-+if ARCH_AARCH64
-+include_HEADERS += include/libunwind-aarch64.h
-+endif
- if ARCH_ARM
- include_HEADERS += include/libunwind-arm.h
- endif
-@@ -41,6 +44,9 @@ SUBDIRS = src tests doc
- noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h	\
- 	include/compiler.h include/libunwind_i.h include/mempool.h	\
- 	include/remote.h						\
-+	include/tdep-aarch64/dwarf-config.h				\
-+	include/tdep-aarch64/jmpbuf.h					\
-+	include/tdep-aarch64/libunwind_i.h				\
- 	include/tdep-arm/dwarf-config.h	include/tdep-arm/ex_tables.h	\
- 	include/tdep-arm/jmpbuf.h include/tdep-arm/libunwind_i.h	\
- 	include/tdep-ia64/jmpbuf.h include/tdep-ia64/rse.h 		\
---- a/README
-+++ b/README
-@@ -9,6 +9,7 @@ several architecture/operating-system co
-  Linux/IA-64:	Fully tested and supported.
-  Linux/PARISC:	Works well, but C library missing unwind-info.
-  HP-UX/IA-64:	Mostly works but known to have some serious limitations.
-+ Linux/AArch64:	Newly added.
-  Linux/PPC64:	Newly added.
-  Linux/SuperH:	Newly added.
-  FreeBSD/i386:	Newly added.
---- a/configure.ac
-+++ b/configure.ac
-@@ -104,7 +104,7 @@ SET_ARCH([$target_cpu],[target_arch])
- 
- AC_ARG_ENABLE(coredump,
- 	AS_HELP_STRING([--enable-coredump],[building libunwind-coredump library]),,
--        [AS_CASE([$host_arch], [arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])]
-+        [AS_CASE([$host_arch], [aarch64*|arm*|mips*|sh*|x86*], [enable_coredump=yes], [enable_coredump=no])]
- )
- 
- AC_MSG_CHECKING([if we should build libunwind-coredump])
-@@ -121,6 +121,7 @@ AC_MSG_RESULT([$target_os])
- 
- AM_CONDITIONAL(BUILD_COREDUMP, test x$enable_coredump = xyes)
- AM_CONDITIONAL(REMOTE_ONLY, test x$target_arch != x$host_arch)
-+AM_CONDITIONAL(ARCH_AARCH64, test x$target_arch = xaarch64)
- AM_CONDITIONAL(ARCH_ARM, test x$target_arch = xarm)
- AM_CONDITIONAL(ARCH_IA64, test x$target_arch = xia64)
- AM_CONDITIONAL(ARCH_HPPA, test x$target_arch = xhppa)
-@@ -137,7 +138,7 @@ AM_CONDITIONAL(OS_FREEBSD, expr x$target
- AC_MSG_CHECKING([for ELF helper width])
- case "${target_arch}" in
- (arm|hppa|ppc32|x86|sh) use_elf32=yes; AC_MSG_RESULT([32]);;
--(ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
-+(aarch64|ia64|ppc64|x86_64)    use_elf64=yes; AC_MSG_RESULT([64]);;
- (mips)                 use_elfxx=yes; AC_MSG_RESULT([xx]);;
- *)                     AC_MSG_ERROR([Unknown ELF target: ${target_arch}])
- esac
-@@ -186,6 +187,7 @@ AS_HELP_STRING([--enable-cxx-exceptions]
- # C++ exception handling doesn't work too well on x86
- case $target_arch in
-   x86*) enable_cxx_exceptions=no;;
-+  aarch64*) enable_cxx_exceptions=no;;
-   arm*) enable_cxx_exceptions=no;;
-   mips*) enable_cxx_exceptions=no;;
-   *) enable_cxx_exceptions=yes;;
---- /dev/null
-+++ b/include/libunwind-aarch64.h
-@@ -0,0 +1,187 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2001-2004 Hewlett-Packard Co
-+	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef LIBUNWIND_H
-+#define LIBUNWIND_H
-+
-+#if defined(__cplusplus) || defined(c_plusplus)
-+extern "C" {
-+#endif
-+
-+#include <inttypes.h>
-+#include <stddef.h>
-+#include <ucontext.h>
-+
-+#define UNW_TARGET	aarch64
-+#define UNW_TARGET_AARCH64	1
-+
-+#define _U_TDEP_QP_TRUE	0	/* see libunwind-dynamic.h  */
-+
-+/* This needs to be big enough to accommodate "struct cursor", while
-+   leaving some slack for future expansion.  Changing this value will
-+   require recompiling all users of this library.  Stack allocation is
-+   relatively cheap and unwind-state copying is relatively rare, so we
-+   want to err on making it rather too big than too small.  */
-+
-+#define UNW_TDEP_CURSOR_LEN	4096
-+
-+typedef uint64_t unw_word_t;
-+typedef int64_t unw_sword_t;
-+
-+typedef long double unw_tdep_fpreg_t;
-+
-+typedef struct
-+  {
-+    /* no aarch64-specific auxiliary proc-info */
-+  }
-+unw_tdep_proc_info_t;
-+
-+typedef enum
-+  {
-+    /* 64-bit general registers.  */
-+    UNW_AARCH64_X0,
-+    UNW_AARCH64_X1,
-+    UNW_AARCH64_X2,
-+    UNW_AARCH64_X3,
-+    UNW_AARCH64_X4,
-+    UNW_AARCH64_X5,
-+    UNW_AARCH64_X6,
-+    UNW_AARCH64_X7,
-+    UNW_AARCH64_X8,
-+
-+    /* Temporary registers.  */
-+    UNW_AARCH64_X9,
-+    UNW_AARCH64_X10,
-+    UNW_AARCH64_X11,
-+    UNW_AARCH64_X12,
-+    UNW_AARCH64_X13,
-+    UNW_AARCH64_X14,
-+    UNW_AARCH64_X15,
-+
-+    /* Intra-procedure-call temporary registers.  */
-+    UNW_AARCH64_X16,
-+    UNW_AARCH64_X17,
-+
-+    /* Callee-saved registers.  */
-+    UNW_AARCH64_X18,
-+    UNW_AARCH64_X19,
-+    UNW_AARCH64_X20,
-+    UNW_AARCH64_X21,
-+    UNW_AARCH64_X22,
-+    UNW_AARCH64_X23,
-+    UNW_AARCH64_X24,
-+    UNW_AARCH64_X25,
-+    UNW_AARCH64_X26,
-+    UNW_AARCH64_X27,
-+    UNW_AARCH64_X28,
-+
-+    /* 64-bit frame pointer.  */
-+    UNW_AARCH64_X29,
-+
-+    /* 64-bit link register.  */
-+    UNW_AARCH64_X30,
-+
-+    /* 64-bit stack pointer.  */
-+    UNW_AARCH64_SP =  31,
-+    UNW_AARCH64_PC,
-+    UNW_AARCH64_PSTATE,
-+
-+    /* 128-bit FP/Advanced SIMD registers.  */
-+    UNW_AARCH64_V0 = 64,
-+    UNW_AARCH64_V1,
-+    UNW_AARCH64_V2,
-+    UNW_AARCH64_V3,
-+    UNW_AARCH64_V4,
-+    UNW_AARCH64_V5,
-+    UNW_AARCH64_V6,
-+    UNW_AARCH64_V7,
-+    UNW_AARCH64_V8,
-+    UNW_AARCH64_V9,
-+    UNW_AARCH64_V10,
-+    UNW_AARCH64_V11,
-+    UNW_AARCH64_V12,
-+    UNW_AARCH64_V13,
-+    UNW_AARCH64_V14,
-+    UNW_AARCH64_V15,
-+    UNW_AARCH64_V16,
-+    UNW_AARCH64_V17,
-+    UNW_AARCH64_V18,
-+    UNW_AARCH64_V19,
-+    UNW_AARCH64_V20,
-+    UNW_AARCH64_V21,
-+    UNW_AARCH64_V22,
-+    UNW_AARCH64_V23,
-+    UNW_AARCH64_V24,
-+    UNW_AARCH64_V25,
-+    UNW_AARCH64_V26,
-+    UNW_AARCH64_V27,
-+    UNW_AARCH64_V28,
-+    UNW_AARCH64_V29,
-+    UNW_AARCH64_V30,
-+    UNW_AARCH64_V31,
-+
-+    UNW_AARCH64_FPSR,
-+    UNW_AARCH64_FPCR,
-+
-+    /* For AArch64, the CFA is the value of SP (x31) at the call site of the
-+       previous frame.  */
-+    UNW_AARCH64_CFA = UNW_AARCH64_SP,
-+
-+    UNW_TDEP_LAST_REG = UNW_AARCH64_FPCR,
-+
-+    UNW_TDEP_IP = UNW_AARCH64_X30,
-+    UNW_TDEP_SP = UNW_AARCH64_SP,
-+    UNW_TDEP_EH = UNW_AARCH64_X0,
-+
-+  }
-+aarch64_regnum_t;
-+
-+/* Use R0 through R3 to pass exception handling information.  */
-+#define UNW_TDEP_NUM_EH_REGS	4
-+
-+typedef struct unw_tdep_save_loc
-+  {
-+    /* Additional target-dependent info on a save location.  */
-+  }
-+unw_tdep_save_loc_t;
-+
-+
-+/* On AArch64, we can directly use ucontext_t as the unwind context.  */
-+typedef ucontext_t unw_tdep_context_t;
-+
-+#include "libunwind-common.h"
-+#include "libunwind-dynamic.h"
-+
-+#define unw_tdep_getcontext(uc)         (getcontext (uc), 0)
-+#define unw_tdep_is_fpreg		UNW_ARCH_OBJ(is_fpreg)
-+
-+extern int unw_tdep_is_fpreg (int);
-+
-+#if defined(__cplusplus) || defined(c_plusplus)
-+}
-+#endif
-+
-+#endif /* LIBUNWIND_H */
---- a/include/libunwind.h.in
-+++ b/include/libunwind.h.in
-@@ -3,7 +3,9 @@
- 
- #ifndef UNW_REMOTE_ONLY
- 
--#if defined __arm__
-+#if defined __aarch64__
-+#include "libunwind-aarch64.h"
-+#elif defined __arm__
- # include "libunwind-arm.h"
- #elif defined __hppa__
- # include "libunwind-hppa.h"
---- /dev/null
-+++ b/include/tdep-aarch64/dwarf-config.h
-@@ -0,0 +1,52 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef dwarf_config_h
-+#define dwarf_config_h
-+
-+/* This matches the value udes by GCC (see
-+   gcc/config/aarch64/aarch64.h:DWARF_FRAME_REGISTERS.  */
-+#define DWARF_NUM_PRESERVED_REGS	97
-+
-+/* Return TRUE if the ADDR_SPACE uses big-endian byte-order.  */
-+#define dwarf_is_big_endian(addr_space)	0
-+
-+#define dwarf_to_unw_regnum(reg) (((reg) <= UNW_AARCH64_V31) ? (reg) : 0)
-+
-+/* Convert a pointer to a dwarf_cursor structure to a pointer to
-+   unw_cursor_t.  */
-+#define dwarf_to_cursor(c)	((unw_cursor_t *) (c))
-+
-+typedef struct dwarf_loc
-+  {
-+    unw_word_t val;
-+#ifndef UNW_LOCAL_ONLY
-+    unw_word_t type;		/* see DWARF_LOC_TYPE_* macros.  */
-+#endif
-+  }
-+dwarf_loc_t;
-+
-+#endif /* dwarf_config_h */
---- /dev/null
-+++ b/include/tdep-aarch64/jmpbuf.h
-@@ -0,0 +1,33 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+/* Use glibc's jump-buffer indices; NPTL peeks at SP: */
-+
-+/* FIXME for AArch64  */
-+
-+#define JB_SP		13
-+#define JB_RP		14
-+#define JB_MASK_SAVED	15
-+#define JB_MASK		16
---- /dev/null
-+++ b/include/tdep-aarch64/libunwind_i.h
-@@ -0,0 +1,294 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2001-2005 Hewlett-Packard Co
-+	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef AARCH64_LIBUNWIND_I_H
-+#define AARCH64_LIBUNWIND_I_H
-+
-+/* Target-dependent definitions that are internal to libunwind but need
-+   to be shared with target-independent code.  */
-+
-+#include <stdlib.h>
-+#include <libunwind.h>
-+
-+#include "elf64.h"
-+#include "mempool.h"
-+#include "dwarf.h"
-+
-+typedef struct
-+  {
-+    /* no aarch64-specific fast trace */
-+  }
-+unw_tdep_frame_t;
-+
-+#ifdef UNW_LOCAL_ONLY
-+
-+typedef unw_word_t aarch64_loc_t;
-+
-+#else /* !UNW_LOCAL_ONLY */
-+
-+typedef struct aarch64_loc
-+  {
-+    unw_word_t w0, w1;
-+  }
-+aarch64_loc_t;
-+
-+#endif /* !UNW_LOCAL_ONLY */
-+
-+struct unw_addr_space
-+  {
-+    struct unw_accessors acc;
-+    int big_endian;
-+    unw_caching_policy_t caching_policy;
-+#ifdef HAVE_ATOMIC_OPS_H
-+    AO_t cache_generation;
-+#else
-+    uint32_t cache_generation;
-+#endif
-+    unw_word_t dyn_generation;          /* see dyn-common.h */
-+    unw_word_t dyn_info_list_addr;	/* (cached) dyn_info_list_addr */
-+    struct dwarf_rs_cache global_cache;
-+    struct unw_debug_frame_list *debug_frames;
-+   };
-+
-+struct cursor
-+  {
-+    struct dwarf_cursor dwarf;          /* must be first */
-+    enum
-+      {
-+        AARCH64_SCF_NONE,
-+        AARCH64_SCF_LINUX_RT_SIGFRAME,
-+      }
-+    sigcontext_format;
-+    unw_word_t sigcontext_addr;
-+    unw_word_t sigcontext_sp;
-+    unw_word_t sigcontext_pc;
-+  };
-+
-+#define DWARF_GET_LOC(l)        ((l).val)
-+
-+#ifdef UNW_LOCAL_ONLY
-+# define DWARF_NULL_LOC         DWARF_LOC (0, 0)
-+# define DWARF_IS_NULL_LOC(l)   (DWARF_GET_LOC (l) == 0)
-+# define DWARF_LOC(r, t)        ((dwarf_loc_t) { .val = (r) })
-+# define DWARF_IS_REG_LOC(l)    0
-+# define DWARF_REG_LOC(c,r)     (DWARF_LOC((unw_word_t)                      \
-+                                 tdep_uc_addr((c)->as_arg, (r)), 0))
-+# define DWARF_MEM_LOC(c,m)     DWARF_LOC ((m), 0)
-+# define DWARF_FPREG_LOC(c,r)   (DWARF_LOC((unw_word_t)                      \
-+                                 tdep_uc_addr((c)->as_arg, (r)), 0))
-+
-+static inline int
-+dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *val = *(unw_fpreg_t *) DWARF_GET_LOC (loc);
-+  return 0;
-+}
-+
-+static inline int
-+dwarf_putfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *(unw_fpreg_t *) DWARF_GET_LOC (loc) = val;
-+  return 0;
-+}
-+
-+static inline int
-+dwarf_get (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t *val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *val = *(unw_word_t *) DWARF_GET_LOC (loc);
-+  return 0;
-+}
-+
-+static inline int
-+dwarf_put (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t val)
-+{
-+  if (!DWARF_GET_LOC (loc))
-+    return -1;
-+  *(unw_word_t *) DWARF_GET_LOC (loc) = val;
-+  return 0;
-+}
-+
-+#else /* !UNW_LOCAL_ONLY */
-+# define DWARF_LOC_TYPE_FP      (1 << 0)
-+# define DWARF_LOC_TYPE_REG     (1 << 1)
-+# define DWARF_NULL_LOC         DWARF_LOC (0, 0)
-+# define DWARF_IS_NULL_LOC(l)                                           \
-+                ({ dwarf_loc_t _l = (l); _l.val == 0 && _l.type == 0; })
-+# define DWARF_LOC(r, t)        ((dwarf_loc_t) { .val = (r), .type = (t) })
-+# define DWARF_IS_REG_LOC(l)    (((l).type & DWARF_LOC_TYPE_REG) != 0)
-+# define DWARF_IS_FP_LOC(l)     (((l).type & DWARF_LOC_TYPE_FP) != 0)
-+# define DWARF_REG_LOC(c,r)     DWARF_LOC((r), DWARF_LOC_TYPE_REG)
-+# define DWARF_MEM_LOC(c,m)     DWARF_LOC ((m), 0)
-+# define DWARF_FPREG_LOC(c,r)   DWARF_LOC((r), (DWARF_LOC_TYPE_REG      \
-+                                                | DWARF_LOC_TYPE_FP))
-+
-+static inline int
-+dwarf_getfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t *val)
-+{
-+  char *valp = (char *) &val;
-+  unw_word_t addr;
-+  int ret;
-+
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_fpreg) (c->as, DWARF_GET_LOC (loc),
-+                                       val, 0, c->as_arg);
-+
-+  addr = DWARF_GET_LOC (loc);
-+  if ((ret = (*c->as->acc.access_mem) (c->as, addr + 0, (unw_word_t *) valp,
-+                                       0, c->as_arg)) < 0)
-+    return ret;
-+
-+  return (*c->as->acc.access_mem) (c->as, addr + 4, (unw_word_t *) valp + 1, 0,
-+                                   c->as_arg);
-+}
-+
-+static inline int
-+dwarf_putfp (struct dwarf_cursor *c, dwarf_loc_t loc, unw_fpreg_t val)
-+{
-+  char *valp = (char *) &val;
-+  unw_word_t addr;
-+  int ret;
-+
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_fpreg) (c->as, DWARF_GET_LOC (loc),
-+                                       &val, 1, c->as_arg);
-+
-+  addr = DWARF_GET_LOC (loc);
-+  if ((ret = (*c->as->acc.access_mem) (c->as, addr + 0, (unw_word_t *) valp,
-+                                       1, c->as_arg)) < 0)
-+    return ret;
-+
-+  return (*c->as->acc.access_mem) (c->as, addr + 4, (unw_word_t *) valp + 1,
-+                                   1, c->as_arg);
-+}
-+
-+static inline int
-+dwarf_get (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t *val)
-+{
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  /* If a code-generator were to save a value of type unw_word_t in a
-+     floating-point register, we would have to support this case.  I
-+     suppose it could happen with MMX registers, but does it really
-+     happen?  */
-+  assert (!DWARF_IS_FP_LOC (loc));
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_reg) (c->as, DWARF_GET_LOC (loc), val,
-+                                     0, c->as_arg);
-+  else
-+    return (*c->as->acc.access_mem) (c->as, DWARF_GET_LOC (loc), val,
-+                                     0, c->as_arg);
-+}
-+
-+static inline int
-+dwarf_put (struct dwarf_cursor *c, dwarf_loc_t loc, unw_word_t val)
-+{
-+  if (DWARF_IS_NULL_LOC (loc))
-+    return -UNW_EBADREG;
-+
-+  /* If a code-generator were to save a value of type unw_word_t in a
-+     floating-point register, we would have to support this case.  I
-+     suppose it could happen with MMX registers, but does it really
-+     happen?  */
-+  assert (!DWARF_IS_FP_LOC (loc));
-+
-+  if (DWARF_IS_REG_LOC (loc))
-+    return (*c->as->acc.access_reg) (c->as, DWARF_GET_LOC (loc), &val,
-+                                     1, c->as_arg);
-+  else
-+    return (*c->as->acc.access_mem) (c->as, DWARF_GET_LOC (loc), &val,
-+                                     1, c->as_arg);
-+}
-+
-+#endif /* !UNW_LOCAL_ONLY */
-+
-+
-+
-+#define tdep_getcontext_trace           unw_getcontext
-+#define tdep_init_done			UNW_OBJ(init_done)
-+#define tdep_init			UNW_OBJ(init)
-+/* Platforms that support UNW_INFO_FORMAT_TABLE need to define
-+   tdep_search_unwind_table.  */
-+#define tdep_search_unwind_table	dwarf_search_unwind_table
-+#define tdep_find_unwind_table	        dwarf_find_unwind_table
-+#define tdep_uc_addr			UNW_OBJ(uc_addr)
-+#define tdep_get_elf_image		UNW_ARCH_OBJ(get_elf_image)
-+#define tdep_access_reg			UNW_OBJ(access_reg)
-+#define tdep_access_fpreg		UNW_OBJ(access_fpreg)
-+#define tdep_fetch_frame(c,ip,n)	do {} while(0)
-+#define tdep_cache_frame(c,rs)		do {} while(0)
-+#define tdep_reuse_frame(c,rs)		do {} while(0)
-+#define tdep_stash_frame(c,rs)		do {} while(0)
-+#define tdep_trace(cur,addr,n)		(-UNW_ENOINFO)
-+
-+#ifdef UNW_LOCAL_ONLY
-+# define tdep_find_proc_info(c,ip,n)                            \
-+        dwarf_find_proc_info((c)->as, (ip), &(c)->pi, (n),      \
-+                                       (c)->as_arg)
-+# define tdep_put_unwind_info(as,pi,arg)                \
-+        dwarf_put_unwind_info((as), (pi), (arg))
-+#else
-+# define tdep_find_proc_info(c,ip,n)                                    \
-+        (*(c)->as->acc.find_proc_info)((c)->as, (ip), &(c)->pi, (n),    \
-+                                       (c)->as_arg)
-+# define tdep_put_unwind_info(as,pi,arg)                \
-+        (*(as)->acc.put_unwind_info)((as), (pi), (arg))
-+#endif
-+
-+#define tdep_get_as(c)                  ((c)->dwarf.as)
-+#define tdep_get_as_arg(c)              ((c)->dwarf.as_arg)
-+#define tdep_get_ip(c)                  ((c)->dwarf.ip)
-+#define tdep_big_endian(as)             ((as)->big_endian)
-+
-+extern int tdep_init_done;
-+
-+extern void tdep_init (void);
-+extern int tdep_search_unwind_table (unw_addr_space_t as, unw_word_t ip,
-+				     unw_dyn_info_t *di, unw_proc_info_t *pi,
-+				     int need_unwind_info, void *arg);
-+extern void *tdep_uc_addr (unw_tdep_context_t *uc, int reg);
-+extern int tdep_get_elf_image (struct elf_image *ei, pid_t pid, unw_word_t ip,
-+			       unsigned long *segbase, unsigned long *mapoff,
-+			       char *path, size_t pathlen);
-+extern int tdep_access_reg (struct cursor *c, unw_regnum_t reg,
-+			    unw_word_t *valp, int write);
-+extern int tdep_access_fpreg (struct cursor *c, unw_regnum_t reg,
-+			      unw_fpreg_t *valp, int write);
-+
-+#endif /* AARCH64_LIBUNWIND_I_H */
---- a/include/tdep/dwarf-config.h
-+++ b/include/tdep/dwarf-config.h
-@@ -1,7 +1,9 @@
- /* Provide a real file - not a symlink - as it would cause multiarch conflicts
-    when multiple different arch releases are installed simultaneously.  */
- 
--#if defined __arm__
-+#if defined __aarch64__
-+# include "tdep-aarch64/dwarf-config.h"
-+#elif defined __arm__
- # include "tdep-arm/dwarf-config.h"
- #elif defined __hppa__
- # include "tdep-hppa/dwarf-config.h"
---- a/include/tdep/jmpbuf.h
-+++ b/include/tdep/jmpbuf.h
-@@ -3,6 +3,8 @@
- 
- #ifndef UNW_REMOTE_ONLY
- 
-+#if defined __aarch64__
-+# include "tdep-aarch64/jmpbuf.h"
- #if defined __arm__
- # include "tdep-arm/jmpbuf.h"
- #elif defined __hppa__
---- a/include/tdep/libunwind_i.h.in
-+++ b/include/tdep/libunwind_i.h.in
-@@ -3,7 +3,9 @@
- 
- #ifndef UNW_REMOTE_ONLY
- 
--#if defined __arm__
-+#if defined __aarch64__
-+# include "tdep-aarch64/libunwind_i.h"
-+#elif defined __arm__
- # include "tdep-arm/libunwind_i.h"
- #elif defined __hppa__
- # include "tdep-hppa/libunwind_i.h"
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -170,6 +170,28 @@ libunwind_elfxx_la_SOURCES = elfxx.c
- noinst_LTLIBRARIES += $(LIBUNWIND_ELF)
- libunwind_la_LIBADD += $(LIBUNWIND_ELF)
- 
-+# The list of files that go into libunwind and libunwind-aarch64:
-+noinst_HEADERS += aarch64/init.h aarch64/offsets.h aarch64/unwind_i.h
-+libunwind_la_SOURCES_aarch64_common = $(libunwind_la_SOURCES_common)	    \
-+	aarch64/is_fpreg.c aarch64/regname.c
-+
-+# The list of files that go into libunwind:
-+libunwind_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common)	    \
-+	$(libunwind_la_SOURCES_local)					    \
-+	aarch64/Lcreate_addr_space.c aarch64/Lget_proc_info.c 		    \
-+	aarch64/Lget_save_loc.c aarch64/Lglobal.c aarch64/Linit.c	    \
-+	aarch64/Linit_local.c aarch64/Linit_remote.c 			    \
-+	aarch64/Lis_signal_frame.c aarch64/Lregs.c aarch64/Lresume.c 	    \
-+	aarch64/Lstep.c
-+
-+libunwind_aarch64_la_SOURCES_aarch64 = $(libunwind_la_SOURCES_aarch64_common) \
-+	$(libunwind_la_SOURCES_generic)					      \
-+	aarch64/Gcreate_addr_space.c aarch64/Gget_proc_info.c 		      \
-+	aarch64/Gget_save_loc.c aarch64/Gglobal.c aarch64/Ginit.c 	      \
-+	aarch64/Ginit_local.c aarch64/Ginit_remote.c			      \
-+	aarch64/Gis_signal_frame.c aarch64/Gregs.c aarch64/Gresume.c	      \
-+	aarch64/Gstep.c
-+
- # The list of files that go into libunwind and libunwind-arm:
- noinst_HEADERS += arm/init.h arm/offsets.h arm/unwind_i.h
- libunwind_la_SOURCES_arm_common = $(libunwind_la_SOURCES_common)	    \
-@@ -418,6 +440,18 @@ if OS_FREEBSD
-  libunwind_coredump_la_SOURCES += coredump/_UCD_access_reg_freebsd.c
- endif
- 
-+if ARCH_AARCH64
-+ lib_LTLIBRARIES += libunwind-aarch64.la
-+ libunwind_la_SOURCES = $(libunwind_la_SOURCES_aarch64)
-+ libunwind_aarch64_la_SOURCES = $(libunwind_aarch64_la_SOURCES_aarch64)
-+ libunwind_aarch64_la_LDFLAGS = $(COMMON_SO_LDFLAGS) -version-info $(SOVERSION)
-+ libunwind_aarch64_la_LIBADD = libunwind-dwarf-generic.la
-+ libunwind_aarch64_la_LIBADD += libunwind-elf64.la
-+if !REMOTE_ONLY
-+ libunwind_aarch64_la_LIBADD += libunwind.la -lc
-+endif
-+ libunwind_setjmp_la_SOURCES += aarch64/siglongjmp.S
-+else
- if ARCH_ARM
-  lib_LTLIBRARIES += libunwind-arm.la
-  libunwind_la_SOURCES = $(libunwind_la_SOURCES_arm)
-@@ -545,6 +579,7 @@ endif # ARCH_MIPS
- endif # ARCH_HPPA
- endif # ARCH_IA64
- endif # ARCH_ARM
-+endif # ARCH_AARCH64
- 
- # libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
- # at the end.
-@@ -567,7 +602,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I
- AM_CCASFLAGS = $(AM_CPPFLAGS)
- noinst_HEADERS += unwind/unwind-internal.h
- 
--EXTRA_DIST =	$(libunwind_la_SOURCES_arm)			\
-+EXTRA_DIST =	$(libunwind_la_SOURCES_aarch64)			\
-+		$(libunwind_la_SOURCES_arm)			\
- 		$(libunwind_la_SOURCES_hppa)			\
- 		$(libunwind_la_SOURCES_ia64)			\
- 		$(libunwind_la_SOURCES_mips)			\
-@@ -579,6 +615,7 @@ EXTRA_DIST =	$(libunwind_la_SOURCES_arm)
- 		$(libunwind_la_SOURCES_common)			\
- 		$(libunwind_la_SOURCES_local)			\
- 		$(libunwind_la_SOURCES_generic)			\
-+		$(libunwind_aarch64_la_SOURCES_aarch64)		\
- 		$(libunwind_arm_la_SOURCES_arm)			\
- 		$(libunwind_hppa_la_SOURCES_hppa)		\
- 		$(libunwind_ia64_la_SOURCES_ia64)		\
---- /dev/null
-+++ b/src/aarch64/Gcreate_addr_space.c
-@@ -0,0 +1,60 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include <string.h>
-+#include <stdlib.h>
-+
-+#include "unwind_i.h"
-+
-+PROTECTED unw_addr_space_t
-+unw_create_addr_space (unw_accessors_t *a, int byte_order)
-+{
-+#ifdef UNW_LOCAL_ONLY
-+  return NULL;
-+#else
-+  unw_addr_space_t as;
-+
-+  /* AArch64 supports little-endian and big-endian. */
-+  if (byte_order != 0 && byte_order != __LITTLE_ENDIAN
-+      && byte_order != __BIG_ENDIAN)
-+    return NULL;
-+
-+  as = malloc (sizeof (*as));
-+  if (!as)
-+    return NULL;
-+
-+  memset (as, 0, sizeof (*as));
-+
-+  as->acc = *a;
-+
-+  /* Default to little-endian for AArch64. */
-+  if (byte_order == 0 || byte_order == __LITTLE_ENDIAN)
-+    as->big_endian = 0;
-+  else
-+    as->big_endian = 1;
-+
-+  return as;
-+#endif
-+}
---- /dev/null
-+++ b/src/aarch64/Gget_proc_info.c
-@@ -0,0 +1,39 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+PROTECTED int
-+unw_get_proc_info (unw_cursor_t *cursor, unw_proc_info_t *pi)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  int ret;
-+
-+  ret = dwarf_make_proc_info (&c->dwarf);
-+  if (ret < 0)
-+    return ret;
-+
-+  *pi = c->dwarf.pi;
-+  return 0;
-+}
---- /dev/null
-+++ b/src/aarch64/Gget_save_loc.c
-@@ -0,0 +1,100 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+PROTECTED int
-+unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  dwarf_loc_t loc;
-+
-+  switch (reg)
-+    {
-+    case UNW_AARCH64_X0:
-+    case UNW_AARCH64_X1:
-+    case UNW_AARCH64_X2:
-+    case UNW_AARCH64_X3:
-+    case UNW_AARCH64_X4:
-+    case UNW_AARCH64_X5:
-+    case UNW_AARCH64_X6:
-+    case UNW_AARCH64_X7:
-+    case UNW_AARCH64_X8:
-+    case UNW_AARCH64_X9:
-+    case UNW_AARCH64_X10:
-+    case UNW_AARCH64_X11:
-+    case UNW_AARCH64_X12:
-+    case UNW_AARCH64_X13:
-+    case UNW_AARCH64_X14:
-+    case UNW_AARCH64_X15:
-+    case UNW_AARCH64_X16:
-+    case UNW_AARCH64_X17:
-+    case UNW_AARCH64_X18:
-+    case UNW_AARCH64_X19:
-+    case UNW_AARCH64_X20:
-+    case UNW_AARCH64_X21:
-+    case UNW_AARCH64_X22:
-+    case UNW_AARCH64_X23:
-+    case UNW_AARCH64_X24:
-+    case UNW_AARCH64_X25:
-+    case UNW_AARCH64_X26:
-+    case UNW_AARCH64_X27:
-+    case UNW_AARCH64_X28:
-+    case UNW_AARCH64_X29:
-+    case UNW_AARCH64_X30:
-+    case UNW_AARCH64_SP:
-+    case UNW_AARCH64_PC:
-+    case UNW_AARCH64_PSTATE:
-+      loc = c->dwarf.loc[reg];
-+      break;
-+
-+    default:
-+      loc = DWARF_NULL_LOC;	/* default to "not saved" */
-+      break;
-+    }
-+
-+  memset (sloc, 0, sizeof (*sloc));
-+
-+  if (DWARF_IS_NULL_LOC (loc))
-+    {
-+      sloc->type = UNW_SLT_NONE;
-+      return 0;
-+    }
-+
-+#if !defined(UNW_LOCAL_ONLY)
-+  if (DWARF_IS_REG_LOC (loc))
-+    {
-+      sloc->type = UNW_SLT_REG;
-+      sloc->u.regnum = DWARF_GET_LOC (loc);
-+    }
-+  else
-+#endif
-+    {
-+      sloc->type = UNW_SLT_MEMORY;
-+      sloc->u.addr = DWARF_GET_LOC (loc);
-+    }
-+  return 0;
-+}
---- /dev/null
-+++ b/src/aarch64/Gglobal.c
-@@ -0,0 +1,57 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "dwarf_i.h"
-+
-+HIDDEN define_lock (aarch64_lock);
-+HIDDEN int tdep_init_done;
-+
-+HIDDEN void
-+tdep_init (void)
-+{
-+  intrmask_t saved_mask;
-+
-+  sigfillset (&unwi_full_mask);
-+
-+  lock_acquire (&aarch64_lock, saved_mask);
-+  {
-+    if (tdep_init_done)
-+      /* another thread else beat us to it... */
-+      goto out;
-+
-+    mi_init ();
-+
-+    dwarf_init ();
-+
-+#ifndef UNW_REMOTE_ONLY
-+    aarch64_local_addr_space_init ();
-+#endif
-+    tdep_init_done = 1;	/* signal that we're initialized... */
-+  }
-+ out:
-+  lock_release (&aarch64_lock, saved_mask);
-+}
---- /dev/null
-+++ b/src/aarch64/Ginit.c
-@@ -0,0 +1,187 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#include "unwind_i.h"
-+
-+#ifdef UNW_REMOTE_ONLY
-+
-+/* unw_local_addr_space is a NULL pointer in this case.  */
-+PROTECTED unw_addr_space_t unw_local_addr_space;
-+
-+#else /* !UNW_REMOTE_ONLY */
-+
-+static struct unw_addr_space local_addr_space;
-+
-+PROTECTED unw_addr_space_t unw_local_addr_space = &local_addr_space;
-+
-+static inline void *
-+uc_addr (ucontext_t *uc, int reg)
-+{
-+  if (reg >= UNW_AARCH64_X0 && reg <= UNW_AARCH64_V31)
-+    return &uc->uc_mcontext.regs[reg];
-+  else
-+    return NULL;
-+}
-+
-+# ifdef UNW_LOCAL_ONLY
-+
-+HIDDEN void *
-+tdep_uc_addr (ucontext_t *uc, int reg)
-+{
-+  return uc_addr (uc, reg);
-+}
-+
-+# endif /* UNW_LOCAL_ONLY */
-+
-+HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
-+
-+/* XXX fix me: there is currently no way to locate the dyn-info list
-+       by a remote unwinder.  On ia64, this is done via a special
-+       unwind-table entry.  Perhaps something similar can be done with
-+       DWARF2 unwind info.  */
-+
-+static void
-+put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
-+{
-+  /* it's a no-op */
-+}
-+
-+static int
-+get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
-+			void *arg)
-+{
-+  *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+  return 0;
-+}
-+
-+static int
-+access_mem (unw_addr_space_t as, unw_word_t addr, unw_word_t *val, int write,
-+	    void *arg)
-+{
-+  if (write)
-+    {
-+      Debug (16, "mem[%lx] <- %lx\n", addr, *val);
-+      *(unw_word_t *) addr = *val;
-+    }
-+  else
-+    {
-+      *val = *(unw_word_t *) addr;
-+      Debug (16, "mem[%lx] -> %lx\n", addr, *val);
-+    }
-+  return 0;
-+}
-+
-+static int
-+access_reg (unw_addr_space_t as, unw_regnum_t reg, unw_word_t *val, int write,
-+	    void *arg)
-+{
-+  unw_word_t *addr;
-+  ucontext_t *uc = arg;
-+
-+  if (unw_is_fpreg (reg))
-+    goto badreg;
-+
-+  if (!(addr = uc_addr (uc, reg)))
-+    goto badreg;
-+
-+  if (write)
-+    {
-+      *(unw_word_t *) addr = *val;
-+      Debug (12, "%s <- %lx\n", unw_regname (reg), *val);
-+    }
-+  else
-+    {
-+      *val = *(unw_word_t *) addr;
-+      Debug (12, "%s -> %lx\n", unw_regname (reg), *val);
-+    }
-+  return 0;
-+
-+ badreg:
-+  Debug (1, "bad register number %u\n", reg);
-+  return -UNW_EBADREG;
-+}
-+
-+static int
-+access_fpreg (unw_addr_space_t as, unw_regnum_t reg, unw_fpreg_t *val,
-+	      int write, void *arg)
-+{
-+  ucontext_t *uc = arg;
-+  unw_fpreg_t *addr;
-+
-+  if (!unw_is_fpreg (reg))
-+    goto badreg;
-+
-+  if (!(addr = uc_addr (uc, reg)))
-+    goto badreg;
-+
-+  if (write)
-+    {
-+      Debug (12, "%s <- %08lx.%08lx.%08lx\n", unw_regname (reg),
-+	     ((long *)val)[0], ((long *)val)[1], ((long *)val)[2]);
-+      *(unw_fpreg_t *) addr = *val;
-+    }
-+  else
-+    {
-+      *val = *(unw_fpreg_t *) addr;
-+      Debug (12, "%s -> %08lx.%08lx.%08lx\n", unw_regname (reg),
-+	     ((long *)val)[0], ((long *)val)[1], ((long *)val)[2]);
-+    }
-+  return 0;
-+
-+ badreg:
-+  Debug (1, "bad register number %u\n", reg);
-+  /* attempt to access a non-preserved register */
-+  return -UNW_EBADREG;
-+}
-+
-+static int
-+get_static_proc_name (unw_addr_space_t as, unw_word_t ip,
-+		      char *buf, size_t buf_len, unw_word_t *offp,
-+		      void *arg)
-+{
-+  return _Uelf64_get_proc_name (as, getpid (), ip, buf, buf_len, offp);
-+}
-+
-+HIDDEN void
-+aarch64_local_addr_space_init (void)
-+{
-+  memset (&local_addr_space, 0, sizeof (local_addr_space));
-+  local_addr_space.caching_policy = UNW_CACHE_GLOBAL;
-+  local_addr_space.acc.find_proc_info = dwarf_find_proc_info;
-+  local_addr_space.acc.put_unwind_info = put_unwind_info;
-+  local_addr_space.acc.get_dyn_info_list_addr = get_dyn_info_list_addr;
-+  local_addr_space.acc.access_mem = access_mem;
-+  local_addr_space.acc.access_reg = access_reg;
-+  local_addr_space.acc.access_fpreg = access_fpreg;
-+  local_addr_space.acc.resume = aarch64_local_resume;
-+  local_addr_space.acc.get_proc_name = get_static_proc_name;
-+  unw_flush_cache (&local_addr_space, 0, 0);
-+}
-+
-+#endif /* !UNW_REMOTE_ONLY */
---- /dev/null
-+++ b/src/aarch64/Ginit_local.c
-@@ -0,0 +1,55 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2011-2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "init.h"
-+
-+#ifdef UNW_REMOTE_ONLY
-+
-+PROTECTED int
-+unw_init_local (unw_cursor_t *cursor, unw_context_t *uc)
-+{
-+  return -UNW_EINVAL;
-+}
-+
-+#else /* !UNW_REMOTE_ONLY */
-+
-+PROTECTED int
-+unw_init_local (unw_cursor_t *cursor, unw_context_t *uc)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+
-+  if (!tdep_init_done)
-+    tdep_init ();
-+
-+  Debug (1, "(cursor=%p)\n", c);
-+
-+  c->dwarf.as = unw_local_addr_space;
-+  c->dwarf.as_arg = uc;
-+
-+  return common_init (c, 1);
-+}
-+
-+#endif /* !UNW_REMOTE_ONLY */
---- /dev/null
-+++ b/src/aarch64/Ginit_remote.c
-@@ -0,0 +1,45 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "init.h"
-+#include "unwind_i.h"
-+
-+PROTECTED int
-+unw_init_remote (unw_cursor_t *cursor, unw_addr_space_t as, void *as_arg)
-+{
-+#ifdef UNW_LOCAL_ONLY
-+  return -UNW_EINVAL;
-+#else /* !UNW_LOCAL_ONLY */
-+  struct cursor *c = (struct cursor *) cursor;
-+
-+  if (!tdep_init_done)
-+    tdep_init ();
-+
-+  Debug (1, "(cursor=%p)\n", c);
-+
-+  c->dwarf.as = as;
-+  c->dwarf.as_arg = as_arg;
-+  return common_init (c, 0);
-+#endif /* !UNW_LOCAL_ONLY */
-+}
---- /dev/null
-+++ b/src/aarch64/Gis_signal_frame.c
-@@ -0,0 +1,64 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+/* The restorer stub will always have the form:
-+
-+   d2801168        movz    x8, #0x8b
-+   d4000001        svc     #0x0
-+*/
-+
-+PROTECTED int
-+unw_is_signal_frame (unw_cursor_t *cursor)
-+{
-+#ifdef __linux__
-+  struct cursor *c = (struct cursor *) cursor;
-+  unw_word_t w0, ip;
-+  unw_addr_space_t as;
-+  unw_accessors_t *a;
-+  void *arg;
-+  int ret;
-+
-+  as = c->dwarf.as;
-+  a = unw_get_accessors (as);
-+  arg = c->dwarf.as_arg;
-+
-+  ip = c->dwarf.ip;
-+
-+  ret = (*a->access_mem) (as, ip, &w0, 0, arg);
-+  if (ret < 0)
-+    return ret;
-+
-+  /* FIXME: distinguish 32bit insn vs 64bit registers.  */
-+  if (w0 != 0xd4000001d2801168)
-+    return 0;
-+
-+  return 1;
-+
-+#else
-+  return -UNW_ENOINFO;
-+#endif
-+}
---- /dev/null
-+++ b/src/aarch64/Gregs.c
-@@ -0,0 +1,113 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+HIDDEN int
-+tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp,
-+		 int write)
-+{
-+  dwarf_loc_t loc = DWARF_NULL_LOC;
-+  unsigned int mask;
-+
-+  switch (reg)
-+    {
-+    case UNW_AARCH64_X0:
-+    case UNW_AARCH64_X1:
-+    case UNW_AARCH64_X2:
-+    case UNW_AARCH64_X3:
-+      mask = 1 << reg;
-+      if (write)
-+        {
-+          c->dwarf.eh_args[reg] = *valp;
-+          c->dwarf.eh_valid_mask |= mask;
-+          return 0;
-+        }
-+      else if ((c->dwarf.eh_valid_mask & mask) != 0)
-+        {
-+          *valp = c->dwarf.eh_args[reg];
-+          return 0;
-+        }
-+      else
-+        loc = c->dwarf.loc[reg];
-+      break;
-+
-+    case UNW_AARCH64_X4:
-+    case UNW_AARCH64_X5:
-+    case UNW_AARCH64_X6:
-+    case UNW_AARCH64_X7:
-+    case UNW_AARCH64_X8:
-+    case UNW_AARCH64_X9:
-+    case UNW_AARCH64_X10:
-+    case UNW_AARCH64_X11:
-+    case UNW_AARCH64_X12:
-+    case UNW_AARCH64_X13:
-+    case UNW_AARCH64_X14:
-+    case UNW_AARCH64_X15:
-+    case UNW_AARCH64_X16:
-+    case UNW_AARCH64_X17:
-+    case UNW_AARCH64_X18:
-+    case UNW_AARCH64_X19:
-+    case UNW_AARCH64_X20:
-+    case UNW_AARCH64_X21:
-+    case UNW_AARCH64_X22:
-+    case UNW_AARCH64_X23:
-+    case UNW_AARCH64_X24:
-+    case UNW_AARCH64_X25:
-+    case UNW_AARCH64_X26:
-+    case UNW_AARCH64_X27:
-+    case UNW_AARCH64_X28:
-+    case UNW_AARCH64_X29:
-+    case UNW_AARCH64_X30:
-+    case UNW_AARCH64_PC:
-+    case UNW_AARCH64_PSTATE:
-+      loc = c->dwarf.loc[reg];
-+      break;
-+
-+    case UNW_AARCH64_SP:
-+      if (write)
-+        return -UNW_EREADONLYREG;
-+      *valp = c->dwarf.cfa;
-+      return 0;
-+
-+    default:
-+      Debug (1, "bad register number %u\n", reg);
-+      return -UNW_EBADREG;
-+    }
-+
-+  if (write)
-+    return dwarf_put (&c->dwarf, loc, *valp);
-+  else
-+    return dwarf_get (&c->dwarf, loc, valp);
-+}
-+
-+HIDDEN int
-+tdep_access_fpreg (struct cursor *c, unw_regnum_t reg, unw_fpreg_t *valp,
-+		   int write)
-+{
-+  Debug (1, "bad register number %u\n", reg);
-+  return -UNW_EBADREG;
-+}
---- /dev/null
-+++ b/src/aarch64/Gresume.c
-@@ -0,0 +1,177 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2011-2013 Linaro Limited
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "offsets.h"
-+
-+#ifndef UNW_REMOTE_ONLY
-+
-+HIDDEN inline int
-+aarch64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
-+{
-+#ifdef __linux__
-+  struct cursor *c = (struct cursor *) cursor;
-+  unw_tdep_context_t *uc = c->dwarf.as_arg;
-+
-+  if (c->sigcontext_format == AARCH64_SCF_NONE)
-+    {
-+      /* Since there are no signals involved here we restore the non scratch
-+	 registers only.  */
-+      unsigned long regs[11];
-+      regs[0] = uc->uc_mcontext.regs[19];
-+      regs[1] = uc->uc_mcontext.regs[20];
-+      regs[2] = uc->uc_mcontext.regs[21];
-+      regs[3] = uc->uc_mcontext.regs[22];
-+      regs[4] = uc->uc_mcontext.regs[23];
-+      regs[5] = uc->uc_mcontext.regs[24];
-+      regs[6] = uc->uc_mcontext.regs[25];
-+      regs[7] = uc->uc_mcontext.regs[26];
-+      regs[8] = uc->uc_mcontext.regs[27];
-+      regs[9] = uc->uc_mcontext.regs[28];
-+      regs[10] = uc->uc_mcontext.regs[30]; /* LR */
-+      unsigned long sp = uc->uc_mcontext.sp;
-+
-+      struct regs_overlay {
-+        char x[sizeof(regs)];
-+      };
-+
-+      asm volatile (
-+        "ldp x19, x20, [%0]\n"
-+        "ldp x21, x22, [%0,16]\n"
-+        "ldp x23, x24, [%0,32]\n"
-+        "ldp x25, x26, [%0,48]\n"
-+        "ldp x27, x28, [%0,64]\n"
-+        "ldr x30, [%0,80]\n"
-+        "mov sp, %1\n"
-+        "ret \n"
-+        :
-+        : "r" (regs),
-+          "r" (sp),
-+          "m" (*(struct regs_overlay *)regs)
-+      );
-+    }
-+  else
-+    {
-+      struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
-+
-+      if (c->dwarf.eh_valid_mask & 0x1) sc->regs[0] = c->dwarf.eh_args[0];
-+      if (c->dwarf.eh_valid_mask & 0x2) sc->regs[1] = c->dwarf.eh_args[1];
-+      if (c->dwarf.eh_valid_mask & 0x4) sc->regs[2] = c->dwarf.eh_args[2];
-+      if (c->dwarf.eh_valid_mask & 0x8) sc->regs[3] = c->dwarf.eh_args[3];
-+
-+      sc->regs[4] = uc->uc_mcontext.regs[4];
-+      sc->regs[5] = uc->uc_mcontext.regs[5];
-+      sc->regs[6] = uc->uc_mcontext.regs[6];
-+      sc->regs[7] = uc->uc_mcontext.regs[7];
-+      sc->regs[8] = uc->uc_mcontext.regs[8];
-+      sc->regs[9] = uc->uc_mcontext.regs[9];
-+      sc->regs[10] = uc->uc_mcontext.regs[10];
-+      sc->regs[11] = uc->uc_mcontext.regs[11];
-+      sc->regs[12] = uc->uc_mcontext.regs[12];
-+      sc->regs[13] = uc->uc_mcontext.regs[13];
-+      sc->regs[14] = uc->uc_mcontext.regs[14];
-+      sc->regs[15] = uc->uc_mcontext.regs[15];
-+      sc->regs[16] = uc->uc_mcontext.regs[16];
-+      sc->regs[17] = uc->uc_mcontext.regs[17];
-+      sc->regs[18] = uc->uc_mcontext.regs[18];
-+      sc->regs[19] = uc->uc_mcontext.regs[19];
-+      sc->regs[20] = uc->uc_mcontext.regs[20];
-+      sc->regs[21] = uc->uc_mcontext.regs[21];
-+      sc->regs[22] = uc->uc_mcontext.regs[22];
-+      sc->regs[23] = uc->uc_mcontext.regs[23];
-+      sc->regs[24] = uc->uc_mcontext.regs[24];
-+      sc->regs[25] = uc->uc_mcontext.regs[25];
-+      sc->regs[26] = uc->uc_mcontext.regs[26];
-+      sc->regs[27] = uc->uc_mcontext.regs[27];
-+      sc->regs[28] = uc->uc_mcontext.regs[28];
-+      sc->regs[29] = uc->uc_mcontext.regs[29];
-+      sc->regs[30] = uc->uc_mcontext.regs[30];
-+      sc->sp = uc->uc_mcontext.sp;
-+      sc->pc = uc->uc_mcontext.pc;
-+      sc->pstate = uc->uc_mcontext.pstate;
-+
-+      asm volatile (
-+        "mov sp, %0\n"
-+        "ret %1\n"
-+        : : "r" (c->sigcontext_sp), "r" (c->sigcontext_pc)
-+      );
-+   }
-+  unreachable();
-+#else
-+  printf ("%s: implement me\n", __FUNCTION__);
-+#endif
-+  return -UNW_EINVAL;
-+}
-+
-+#endif /* !UNW_REMOTE_ONLY */
-+
-+static inline void
-+establish_machine_state (struct cursor *c)
-+{
-+  unw_addr_space_t as = c->dwarf.as;
-+  void *arg = c->dwarf.as_arg;
-+  unw_fpreg_t fpval;
-+  unw_word_t val;
-+  int reg;
-+
-+  Debug (8, "copying out cursor state\n");
-+
-+  for (reg = 0; reg <= UNW_AARCH64_PSTATE; ++reg)
-+    {
-+      Debug (16, "copying %s %d\n", unw_regname (reg), reg);
-+      if (unw_is_fpreg (reg))
-+	{
-+	  if (tdep_access_fpreg (c, reg, &fpval, 0) >= 0)
-+	    as->acc.access_fpreg (as, reg, &fpval, 1, arg);
-+	}
-+      else
-+	{
-+	  if (tdep_access_reg (c, reg, &val, 0) >= 0)
-+	    as->acc.access_reg (as, reg, &val, 1, arg);
-+	}
-+    }
-+}
-+
-+PROTECTED int
-+unw_resume (unw_cursor_t *cursor)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+
-+  Debug (1, "(cursor=%p)\n", c);
-+
-+  if (!c->dwarf.ip)
-+    {
-+      /* This can happen easily when the frame-chain gets truncated
-+	 due to bad or missing unwind-info.  */
-+      Debug (1, "refusing to resume execution at address 0\n");
-+      return -UNW_EINVAL;
-+    }
-+
-+  establish_machine_state (c);
-+
-+  return (*c->dwarf.as->acc.resume) (c->dwarf.as, (unw_cursor_t *) c,
-+				     c->dwarf.as_arg);
-+}
---- /dev/null
-+++ b/src/aarch64/Gstep.c
-@@ -0,0 +1,129 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2011-2013 Linaro Limited
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+#include "offsets.h"
-+
-+PROTECTED int
-+unw_handle_signal_frame (unw_cursor_t *cursor)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  int ret;
-+  unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa;
-+  struct dwarf_loc sp_loc = DWARF_LOC (sp_addr, 0);
-+
-+  if ((ret = dwarf_get (&c->dwarf, sp_loc, &sp)) < 0)
-+    return -UNW_EUNSPEC;
-+
-+  ret = unw_is_signal_frame (cursor);
-+  Debug(1, "unw_is_signal_frame()=%d\n", ret);
-+
-+  /* Save the SP and PC to be able to return execution at this point
-+     later in time (unw_resume).  */
-+  c->sigcontext_sp = c->dwarf.cfa;
-+  c->sigcontext_pc = c->dwarf.ip;
-+
-+  if (ret)
-+    {
-+      c->sigcontext_format = AARCH64_SCF_LINUX_RT_SIGFRAME;
-+      sc_addr = sp_addr + sizeof (siginfo_t) + LINUX_UC_MCONTEXT_OFF;
-+    }
-+  else
-+    return -UNW_EUNSPEC;
-+
-+  c->sigcontext_addr = sc_addr;
-+
-+  /* Update the dwarf cursor.
-+     Set the location of the registers to the corresponding addresses of the
-+     uc_mcontext / sigcontext structure contents.  */
-+  c->dwarf.loc[UNW_AARCH64_X0]  = DWARF_LOC (sc_addr + LINUX_SC_X0_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X1]  = DWARF_LOC (sc_addr + LINUX_SC_X1_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X2]  = DWARF_LOC (sc_addr + LINUX_SC_X2_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X3]  = DWARF_LOC (sc_addr + LINUX_SC_X3_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X4]  = DWARF_LOC (sc_addr + LINUX_SC_X4_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X5]  = DWARF_LOC (sc_addr + LINUX_SC_X5_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X6]  = DWARF_LOC (sc_addr + LINUX_SC_X6_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X7]  = DWARF_LOC (sc_addr + LINUX_SC_X7_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X8]  = DWARF_LOC (sc_addr + LINUX_SC_X8_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X9]  = DWARF_LOC (sc_addr + LINUX_SC_X9_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X10] = DWARF_LOC (sc_addr + LINUX_SC_X10_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X11] = DWARF_LOC (sc_addr + LINUX_SC_X11_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X12] = DWARF_LOC (sc_addr + LINUX_SC_X12_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X13] = DWARF_LOC (sc_addr + LINUX_SC_X13_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X14] = DWARF_LOC (sc_addr + LINUX_SC_X14_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X15] = DWARF_LOC (sc_addr + LINUX_SC_X15_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X16] = DWARF_LOC (sc_addr + LINUX_SC_X16_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X17] = DWARF_LOC (sc_addr + LINUX_SC_X17_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X18] = DWARF_LOC (sc_addr + LINUX_SC_X18_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X19] = DWARF_LOC (sc_addr + LINUX_SC_X19_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X20] = DWARF_LOC (sc_addr + LINUX_SC_X20_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X21] = DWARF_LOC (sc_addr + LINUX_SC_X21_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X22] = DWARF_LOC (sc_addr + LINUX_SC_X22_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X23] = DWARF_LOC (sc_addr + LINUX_SC_X23_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X24] = DWARF_LOC (sc_addr + LINUX_SC_X24_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X25] = DWARF_LOC (sc_addr + LINUX_SC_X25_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X26] = DWARF_LOC (sc_addr + LINUX_SC_X26_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X27] = DWARF_LOC (sc_addr + LINUX_SC_X27_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X28] = DWARF_LOC (sc_addr + LINUX_SC_X28_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X29] = DWARF_LOC (sc_addr + LINUX_SC_X29_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_X30] = DWARF_LOC (sc_addr + LINUX_SC_X30_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_SP]  = DWARF_LOC (sc_addr + LINUX_SC_SP_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_PC]  = DWARF_LOC (sc_addr + LINUX_SC_PC_OFF, 0);
-+  c->dwarf.loc[UNW_AARCH64_PSTATE]  = DWARF_LOC (sc_addr + LINUX_SC_PSTATE_OFF, 0);
-+
-+  /* Set SP/CFA and PC/IP.  */
-+  dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_SP], &c->dwarf.cfa);
-+  dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_PC], &c->dwarf.ip);
-+
-+  c->dwarf.pi_valid = 0;
-+
-+  return 1;
-+}
-+
-+PROTECTED int
-+unw_step (unw_cursor_t *cursor)
-+{
-+  struct cursor *c = (struct cursor *) cursor;
-+  int ret;
-+
-+  Debug (1, "(cursor=%p, ip=0x%016lx, cfa=0x%016lx))\n",
-+	 c, c->dwarf.ip, c->dwarf.cfa);
-+
-+  /* Check if this is a signal frame. */
-+  if (unw_is_signal_frame (cursor))
-+    return unw_handle_signal_frame (cursor);
-+
-+  ret = dwarf_step (&c->dwarf);
-+  Debug(1, "dwarf_step()=%d\n", ret);
-+
-+  if (unlikely (ret == -UNW_ESTOPUNWIND))
-+    return ret;
-+
-+  if (unlikely (ret < 0))
-+    return 0;
-+
-+  return (c->dwarf.ip == 0) ? 0 : 1;
-+}
---- /dev/null
-+++ b/src/aarch64/Lcreate_addr_space.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gcreate_addr_space.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lget_proc_info.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gget_proc_info.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lget_save_loc.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gget_save_loc.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lglobal.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gglobal.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Linit.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Ginit.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Linit_local.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Ginit_local.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Linit_remote.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Ginit_remote.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lis_signal_frame.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gis_signal_frame.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lregs.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gregs.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lresume.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gresume.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/Lstep.c
-@@ -0,0 +1,5 @@
-+#define UNW_LOCAL_ONLY
-+#include <libunwind.h>
-+#if defined(UNW_LOCAL_ONLY) && !defined(UNW_REMOTE_ONLY)
-+#include "Gstep.c"
-+#endif
---- /dev/null
-+++ b/src/aarch64/gen-offsets.c
-@@ -0,0 +1,68 @@
-+#include <stdio.h>
-+#include <stddef.h>
-+#include <ucontext.h>
-+#include <asm/sigcontext.h>
-+
-+#define UC(N,X) \
-+  printf ("#define LINUX_UC_" N "_OFF\t0x%X\n", offsetof (ucontext_t, X))
-+
-+#define SC(N,X) \
-+  printf ("#define LINUX_SC_" N "_OFF\t0x%X\n", offsetof (struct sigcontext, X))
-+
-+int
-+main (void)
-+{
-+  printf (
-+"/* Linux-specific definitions: */\n\n"
-+
-+"/* Define various structure offsets to simplify cross-compilation.  */\n\n"
-+
-+"/* Offsets for AArch64 Linux \"ucontext_t\":  */\n\n");
-+
-+  UC ("FLAGS", uc_flags);
-+  UC ("LINK", uc_link);
-+  UC ("STACK", uc_stack);
-+  UC ("MCONTEXT", uc_mcontext);
-+  UC ("SIGMASK", uc_sigmask);
-+
-+  printf ("\n/* Offsets for AArch64 Linux \"struct sigcontext\":  */\n\n");
-+
-+  SC ("R0",  regs[0]);
-+  SC ("R1",  regs[1]);
-+  SC ("R2",  regs[2]);
-+  SC ("R3",  regs[3]);
-+  SC ("R4",  regs[4]);
-+  SC ("R5",  regs[5]);
-+  SC ("R6",  regs[6]);
-+  SC ("R7",  regs[7]);
-+  SC ("R8",  regs[8]);
-+  SC ("R9",  regs[9]);
-+  SC ("R10", regs[10]);
-+  SC ("R11", regs[11]);
-+  SC ("R12", regs[12]);
-+  SC ("R13", regs[13]);
-+  SC ("R14", regs[14]);
-+  SC ("R15", regs[15]);
-+  SC ("R16", regs[16]);
-+  SC ("R17", regs[17]);
-+  SC ("R18", regs[18]);
-+  SC ("R19", regs[19]);
-+  SC ("R20", regs[20]);
-+  SC ("R21", regs[21]);
-+  SC ("R22", regs[22]);
-+  SC ("R23", regs[23]);
-+  SC ("R24", regs[24]);
-+  SC ("R25", regs[25]);
-+  SC ("R26", regs[26]);
-+  SC ("R27", regs[27]);
-+  SC ("R28", regs[28]);
-+  SC ("R29", regs[29]);
-+  SC ("R30", regs[30]);
-+  SC ("R31", regs[31]);
-+
-+  SC ("PC", pc);
-+  SC ("SP", sp);
-+  SC ("Fault", fault_address);
-+  SC ("state", pstate);
-+  return 0;
-+}
---- /dev/null
-+++ b/src/aarch64/init.h
-@@ -0,0 +1,127 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+static inline int
-+common_init (struct cursor *c, unsigned use_prev_instr)
-+{
-+  int ret, i;
-+
-+  c->dwarf.loc[UNW_AARCH64_X0]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X0);
-+  c->dwarf.loc[UNW_AARCH64_X1]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X1);
-+  c->dwarf.loc[UNW_AARCH64_X2]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X2);
-+  c->dwarf.loc[UNW_AARCH64_X3]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X3);
-+  c->dwarf.loc[UNW_AARCH64_X4]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X4);
-+  c->dwarf.loc[UNW_AARCH64_X5]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X5);
-+  c->dwarf.loc[UNW_AARCH64_X6]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X6);
-+  c->dwarf.loc[UNW_AARCH64_X7]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X7);
-+  c->dwarf.loc[UNW_AARCH64_X8]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X8);
-+  c->dwarf.loc[UNW_AARCH64_X9]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X9);
-+  c->dwarf.loc[UNW_AARCH64_X10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X10);
-+  c->dwarf.loc[UNW_AARCH64_X11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X11);
-+  c->dwarf.loc[UNW_AARCH64_X12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X12);
-+  c->dwarf.loc[UNW_AARCH64_X13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X13);
-+  c->dwarf.loc[UNW_AARCH64_X14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X14);
-+  c->dwarf.loc[UNW_AARCH64_X15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X15);
-+  c->dwarf.loc[UNW_AARCH64_X16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X16);
-+  c->dwarf.loc[UNW_AARCH64_X17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X17);
-+  c->dwarf.loc[UNW_AARCH64_X18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X18);
-+  c->dwarf.loc[UNW_AARCH64_X19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X19);
-+  c->dwarf.loc[UNW_AARCH64_X20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X20);
-+  c->dwarf.loc[UNW_AARCH64_X21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X21);
-+  c->dwarf.loc[UNW_AARCH64_X22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X22);
-+  c->dwarf.loc[UNW_AARCH64_X23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X23);
-+  c->dwarf.loc[UNW_AARCH64_X24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X24);
-+  c->dwarf.loc[UNW_AARCH64_X25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X25);
-+  c->dwarf.loc[UNW_AARCH64_X26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X26);
-+  c->dwarf.loc[UNW_AARCH64_X27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X27);
-+  c->dwarf.loc[UNW_AARCH64_X28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X28);
-+  c->dwarf.loc[UNW_AARCH64_X29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X29);
-+  c->dwarf.loc[UNW_AARCH64_X30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_X30);
-+  c->dwarf.loc[UNW_AARCH64_SP]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_SP);
-+  c->dwarf.loc[UNW_AARCH64_PC]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_PC);
-+  c->dwarf.loc[UNW_AARCH64_PSTATE] = DWARF_REG_LOC (&c->dwarf,
-+                                                    UNW_AARCH64_PSTATE);
-+  c->dwarf.loc[UNW_AARCH64_V0]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V0);
-+  c->dwarf.loc[UNW_AARCH64_V1]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V1);
-+  c->dwarf.loc[UNW_AARCH64_V2]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V2);
-+  c->dwarf.loc[UNW_AARCH64_V3]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V3);
-+  c->dwarf.loc[UNW_AARCH64_V4]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V4);
-+  c->dwarf.loc[UNW_AARCH64_V5]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V5);
-+  c->dwarf.loc[UNW_AARCH64_V6]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V6);
-+  c->dwarf.loc[UNW_AARCH64_V7]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V7);
-+  c->dwarf.loc[UNW_AARCH64_V8]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V8);
-+  c->dwarf.loc[UNW_AARCH64_V9]  = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V9);
-+  c->dwarf.loc[UNW_AARCH64_V10] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V10);
-+  c->dwarf.loc[UNW_AARCH64_V11] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V11);
-+  c->dwarf.loc[UNW_AARCH64_V12] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V12);
-+  c->dwarf.loc[UNW_AARCH64_V13] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V13);
-+  c->dwarf.loc[UNW_AARCH64_V14] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V14);
-+  c->dwarf.loc[UNW_AARCH64_V15] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V15);
-+  c->dwarf.loc[UNW_AARCH64_V16] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V16);
-+  c->dwarf.loc[UNW_AARCH64_V17] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V17);
-+  c->dwarf.loc[UNW_AARCH64_V18] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V18);
-+  c->dwarf.loc[UNW_AARCH64_V19] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V19);
-+  c->dwarf.loc[UNW_AARCH64_V20] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V20);
-+  c->dwarf.loc[UNW_AARCH64_V21] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V21);
-+  c->dwarf.loc[UNW_AARCH64_V22] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V22);
-+  c->dwarf.loc[UNW_AARCH64_V23] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V23);
-+  c->dwarf.loc[UNW_AARCH64_V24] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V24);
-+  c->dwarf.loc[UNW_AARCH64_V25] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V25);
-+  c->dwarf.loc[UNW_AARCH64_V26] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V26);
-+  c->dwarf.loc[UNW_AARCH64_V27] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V27);
-+  c->dwarf.loc[UNW_AARCH64_V28] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V28);
-+  c->dwarf.loc[UNW_AARCH64_V29] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V29);
-+  c->dwarf.loc[UNW_AARCH64_V30] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V30);
-+  c->dwarf.loc[UNW_AARCH64_V31] = DWARF_REG_LOC (&c->dwarf, UNW_AARCH64_V31);
-+
-+  for (i = UNW_AARCH64_PSTATE + 1; i < UNW_AARCH64_V0; ++i)
-+    c->dwarf.loc[i] = DWARF_NULL_LOC;
-+
-+  ret = dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_PC], &c->dwarf.ip);
-+  if (ret < 0)
-+    return ret;
-+
-+  ret = dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_SP], &c->dwarf.cfa);
-+  if (ret < 0)
-+    return ret;
-+
-+  c->sigcontext_format = AARCH64_SCF_NONE;
-+  c->sigcontext_addr = 0;
-+  c->sigcontext_sp = 0;
-+  c->sigcontext_pc = 0;
-+
-+  c->dwarf.args_size = 0;
-+  c->dwarf.ret_addr_column = 0;
-+  c->dwarf.stash_frames = 0;
-+  c->dwarf.use_prev_instr = use_prev_instr;
-+  c->dwarf.pi_valid = 0;
-+  c->dwarf.pi_is_dynamic = 0;
-+  c->dwarf.hint = 0;
-+  c->dwarf.prev_rs = 0;
-+
-+  return 0;
-+}
---- /dev/null
-+++ b/src/aarch64/is_fpreg.c
-@@ -0,0 +1,32 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "libunwind_i.h"
-+
-+PROTECTED int
-+unw_is_fpreg (int regnum)
-+{
-+  return (regnum >= UNW_AARCH64_V0 && regnum <= UNW_AARCH64_V31);
-+}
---- /dev/null
-+++ b/src/aarch64/offsets.h
-@@ -0,0 +1,49 @@
-+/* Linux-specific definitions: */
-+
-+/* Define various structure offsets to simplify cross-compilation.  */
-+
-+/* Offsets for AArch64 Linux "ucontext_t":  */
-+
-+#define LINUX_UC_FLAGS_OFF	0x0
-+#define LINUX_UC_LINK_OFF	0x8
-+#define LINUX_UC_STACK_OFF	0x10
-+#define LINUX_UC_SIGMASK_OFF	0x28
-+#define LINUX_UC_MCONTEXT_OFF	0xb0
-+
-+/* Offsets for AArch64 Linux "struct sigcontext":  */
-+
-+#define LINUX_SC_FAULTADDRESS_OFF	0x00
-+#define LINUX_SC_X0_OFF		0x008
-+#define LINUX_SC_X1_OFF		0x010
-+#define LINUX_SC_X2_OFF		0x018
-+#define LINUX_SC_X3_OFF		0x020
-+#define LINUX_SC_X4_OFF		0x028
-+#define LINUX_SC_X5_OFF		0x030
-+#define LINUX_SC_X6_OFF		0x038
-+#define LINUX_SC_X7_OFF		0x040
-+#define LINUX_SC_X8_OFF		0x048
-+#define LINUX_SC_X9_OFF		0x050
-+#define LINUX_SC_X10_OFF	0x058
-+#define LINUX_SC_X11_OFF	0x060
-+#define LINUX_SC_X12_OFF	0x068
-+#define LINUX_SC_X13_OFF	0x070
-+#define LINUX_SC_X14_OFF	0x078
-+#define LINUX_SC_X15_OFF	0x080
-+#define LINUX_SC_X16_OFF	0x088
-+#define LINUX_SC_X17_OFF	0x090
-+#define LINUX_SC_X18_OFF	0x098
-+#define LINUX_SC_X19_OFF	0x0a0
-+#define LINUX_SC_X20_OFF	0x0a8
-+#define LINUX_SC_X21_OFF	0x0b0
-+#define LINUX_SC_X22_OFF	0x0b8
-+#define LINUX_SC_X23_OFF	0x0c0
-+#define LINUX_SC_X24_OFF	0x0c8
-+#define LINUX_SC_X25_OFF	0x0d0
-+#define LINUX_SC_X26_OFF	0x0d8
-+#define LINUX_SC_X27_OFF	0x0e0
-+#define LINUX_SC_X28_OFF	0x0e8
-+#define LINUX_SC_X29_OFF	0x0f0
-+#define LINUX_SC_X30_OFF	0x0f8
-+#define LINUX_SC_SP_OFF		0x100
-+#define LINUX_SC_PC_OFF		0x108
-+#define LINUX_SC_PSTATE_OFF	0x110
---- /dev/null
-+++ b/src/aarch64/regname.c
-@@ -0,0 +1,106 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2012 Tommi Rantala <tt.rantala@gmail.com>
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#include "unwind_i.h"
-+
-+static const char *const regname[] =
-+  {
-+    [UNW_AARCH64_X0] = "x0",
-+    [UNW_AARCH64_X1] = "x1",
-+    [UNW_AARCH64_X2] = "x2",
-+    [UNW_AARCH64_X3] = "x3",
-+    [UNW_AARCH64_X4] = "x4",
-+    [UNW_AARCH64_X5] = "x5",
-+    [UNW_AARCH64_X6] = "x6",
-+    [UNW_AARCH64_X7] = "x7",
-+    [UNW_AARCH64_X8] = "x8",
-+    [UNW_AARCH64_X9] = "x9",
-+    [UNW_AARCH64_X10] = "x10",
-+    [UNW_AARCH64_X11] = "x11",
-+    [UNW_AARCH64_X12] = "x12",
-+    [UNW_AARCH64_X13] = "x13",
-+    [UNW_AARCH64_X14] = "x14",
-+    [UNW_AARCH64_X15] = "x15",
-+    [UNW_AARCH64_X16] = "ip0",
-+    [UNW_AARCH64_X17] = "ip1",
-+    [UNW_AARCH64_X18] = "x18",
-+    [UNW_AARCH64_X19] = "x19",
-+    [UNW_AARCH64_X20] = "x20",
-+    [UNW_AARCH64_X21] = "x21",
-+    [UNW_AARCH64_X22] = "x22",
-+    [UNW_AARCH64_X23] = "x23",
-+    [UNW_AARCH64_X24] = "x24",
-+    [UNW_AARCH64_X25] = "x25",
-+    [UNW_AARCH64_X26] = "x26",
-+    [UNW_AARCH64_X27] = "x27",
-+    [UNW_AARCH64_X28] = "x28",
-+    [UNW_AARCH64_X29] = "fp",
-+    [UNW_AARCH64_X30] = "lr",
-+    [UNW_AARCH64_SP] = "sp",
-+    [UNW_AARCH64_PC] = "pc",
-+    [UNW_AARCH64_V0] = "v0",
-+    [UNW_AARCH64_V1] = "v1",
-+    [UNW_AARCH64_V2] = "v2",
-+    [UNW_AARCH64_V3] = "v3",
-+    [UNW_AARCH64_V4] = "v4",
-+    [UNW_AARCH64_V5] = "v5",
-+    [UNW_AARCH64_V6] = "v6",
-+    [UNW_AARCH64_V7] = "v7",
-+    [UNW_AARCH64_V8] = "v8",
-+    [UNW_AARCH64_V9] = "v9",
-+    [UNW_AARCH64_V10] = "v10",
-+    [UNW_AARCH64_V11] = "v11",
-+    [UNW_AARCH64_V12] = "v12",
-+    [UNW_AARCH64_V13] = "v13",
-+    [UNW_AARCH64_V14] = "v14",
-+    [UNW_AARCH64_V15] = "v15",
-+    [UNW_AARCH64_V16] = "v16",
-+    [UNW_AARCH64_V17] = "v17",
-+    [UNW_AARCH64_V18] = "v18",
-+    [UNW_AARCH64_V19] = "v19",
-+    [UNW_AARCH64_V20] = "v20",
-+    [UNW_AARCH64_V21] = "v21",
-+    [UNW_AARCH64_V22] = "v22",
-+    [UNW_AARCH64_V23] = "v23",
-+    [UNW_AARCH64_V24] = "v24",
-+    [UNW_AARCH64_V25] = "v25",
-+    [UNW_AARCH64_V26] = "v26",
-+    [UNW_AARCH64_V27] = "v27",
-+    [UNW_AARCH64_V28] = "v28",
-+    [UNW_AARCH64_V29] = "v29",
-+    [UNW_AARCH64_V30] = "v30",
-+    [UNW_AARCH64_V31] = "v31",
-+    [UNW_AARCH64_FPSR] = "fpsr",
-+    [UNW_AARCH64_FPCR] = "fpcr",
-+  };
-+
-+PROTECTED const char *
-+unw_regname (unw_regnum_t reg)
-+{
-+  if (reg < (unw_regnum_t) ARRAY_SIZE (regname) && regname[reg] != NULL)
-+    return regname[reg];
-+  else
-+    return "???";
-+}
---- /dev/null
-+++ b/src/aarch64/siglongjmp.S
-@@ -0,0 +1,12 @@
-+	/* Dummy implementation for now.  */
-+
-+	.global _UI_siglongjmp_cont
-+	.global _UI_longjmp_cont
-+
-+_UI_siglongjmp_cont:
-+_UI_longjmp_cont:
-+	ret
-+#ifdef __linux__
-+ /* We do not need executable stack.  */
-+ .section  .note.GNU-stack,"",%progbits
-+#endif
---- /dev/null
-+++ b/src/aarch64/unwind_i.h
-@@ -0,0 +1,43 @@
-+/* libunwind - a platform-independent unwind library
-+   Copyright (C) 2008 CodeSourcery
-+   Copyright (C) 2013 Linaro Limited
-+
-+This file is part of libunwind.
-+
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
-+
-+The above copyright notice and this permission notice shall be
-+included in all copies or substantial portions of the Software.
-+
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-+
-+#ifndef unwind_i_h
-+#define unwind_i_h
-+
-+#include <stdint.h>
-+
-+#include <libunwind-aarch64.h>
-+
-+#include "libunwind_i.h"
-+
-+#define aarch64_lock			UNW_OBJ(lock)
-+#define aarch64_local_resume		UNW_OBJ(local_resume)
-+#define aarch64_local_addr_space_init	UNW_OBJ(local_addr_space_init)
-+
-+extern void aarch64_local_addr_space_init (void);
-+extern int aarch64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor,
-+			     void *arg);
-+
-+#endif /* unwind_i_h */
---- a/src/coredump/_UCD_access_reg_linux.c
-+++ b/src/coredump/_UCD_access_reg_linux.c
-@@ -39,7 +39,10 @@ _UCD_access_reg (unw_addr_space_t as,
-       return -UNW_EINVAL;
-     }
- 
--#if defined(UNW_TARGET_ARM)
-+#if defined(UNW_TARGET_AARCH64)
-+  if (regnum < 0 || regnum >= UNW_AARCH64_FPCR)
-+    goto badreg;
-+#elif defined(UNW_TARGET_ARM)
-   if (regnum < 0 || regnum >= 16)
-     goto badreg;
- #elif defined(UNW_TARGET_SH)
---- a/src/ptrace/_UPT_reg_offset.c
-+++ b/src/ptrace/_UPT_reg_offset.c
-@@ -1,6 +1,7 @@
- /* libunwind - a platform-independent unwind library
-    Copyright (C) 2003-2004 Hewlett-Packard Co
- 	Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
-+   Copyright (C) 2013 Linaro Limited
- 
- This file is part of libunwind.
- 
-@@ -501,6 +502,41 @@ const int _UPT_reg_offset[UNW_REG_LAST +
-     [UNW_ARM_R15]      = 0x3c,
- #elif defined(UNW_TARGET_MIPS)
- #elif defined(UNW_TARGET_SH)
-+#elif defined(UNW_TARGET_AARCH64)
-+    [UNW_AARCH64_X0]       = 0x00,
-+    [UNW_AARCH64_X1]       = 0x08,
-+    [UNW_AARCH64_X2]       = 0x10,
-+    [UNW_AARCH64_X3]       = 0x18,
-+    [UNW_AARCH64_X4]       = 0x20,
-+    [UNW_AARCH64_X5]       = 0x28,
-+    [UNW_AARCH64_X6]       = 0x30,
-+    [UNW_AARCH64_X7]       = 0x38,
-+    [UNW_AARCH64_X8]       = 0x40,
-+    [UNW_AARCH64_X9]       = 0x48,
-+    [UNW_AARCH64_X10]      = 0x50,
-+    [UNW_AARCH64_X11]      = 0x58,
-+    [UNW_AARCH64_X12]      = 0x60,
-+    [UNW_AARCH64_X13]      = 0x68,
-+    [UNW_AARCH64_X14]      = 0x70,
-+    [UNW_AARCH64_X15]      = 0x78,
-+    [UNW_AARCH64_X16]      = 0x80,
-+    [UNW_AARCH64_X17]      = 0x88,
-+    [UNW_AARCH64_X18]      = 0x90,
-+    [UNW_AARCH64_X19]      = 0x98,
-+    [UNW_AARCH64_X20]      = 0xa0,
-+    [UNW_AARCH64_X21]      = 0xa8,
-+    [UNW_AARCH64_X22]      = 0xb0,
-+    [UNW_AARCH64_X23]      = 0xb8,
-+    [UNW_AARCH64_X24]      = 0xc0,
-+    [UNW_AARCH64_X25]      = 0xc8,
-+    [UNW_AARCH64_X26]      = 0xd0,
-+    [UNW_AARCH64_X27]      = 0xd8,
-+    [UNW_AARCH64_X28]      = 0xe0,
-+    [UNW_AARCH64_X29]      = 0xe8,
-+    [UNW_AARCH64_X30]      = 0xf0,
-+    [UNW_AARCH64_SP]       = 0xf8,
-+    [UNW_AARCH64_PC]       = 0x100,
-+    [UNW_AARCH64_PSTATE]   = 0x108
- #else
- # error Fix me.
- #endif
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch b/meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
deleted file mode 100644
index dc0f5c1..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fix test case link failure on PowerPC systems with Altivec
-
-Upstream-Status:backport
-
-On systems where the system compiler supports Altivec by default,
-the libunwind Makefile will attempt to build an extra test case
-ppc64-test-altivec.  Unfortunately, the link step will fail since
-the Makefile does not actually link against the libunwind library.
-
-Fixed by adding the appropriate LDADD macro.
-
-Signed-off-by: Ulrich Weigand <address@hidden>
----
- tests/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 0e30536..9c76628 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -201,3 +201,4 @@ Lia64_test_rbs_LDADD = $(LIBUNWIND_local)
- Lia64_test_readonly_LDADD = $(LIBUNWIND_local)
- ia64_test_dyn1_LDADD = $(LIBUNWIND)
- ia64_test_sig_LDADD = $(LIBUNWIND)
-+ppc64_test_altivec_LDADD = $(LIBUNWIND)
--- 
-1.8.5
-
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch b/meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
deleted file mode 100644
index 0e55c91..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 508ca17a7be01d1cc960d9a07d0af4513948fb8d Mon Sep 17 00:00:00 2001
-From: Thierry Reding <treding@nvidia.com>
-Date: Fri, 27 Jun 2014 08:40:33 +0200
-Subject: [PATCH] Link libunwind to libgcc_s rather than libgcc
-
-For some architectures, -lgcc and -lgcc_s are not equivalent. On ARM for
-example, libgcc_s.so.1 contains some symbols needed by libunwind which
-are not present in libgcc.
-
-This causes the following link error when building the X.Org X server
-with libunwind support:
-
-	  CCLD     Xorg
-	/usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr0'
-	/usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr1'
-
-Linking against libgcc_s explicitly solves this problem.
-
-Upstream-Status: Backport
-
-Signed-off-by: Thierry Reding <treding@nvidia.com>
-Signed-off-by: Jonathan Liu <net147@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index cffe19b..3beb5f2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -258,7 +258,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#ifndef __INTEL_COMPILER
- 
- if test x$GCC = xyes -a x$intel_compiler != xyes; then
-   CFLAGS="${CFLAGS} -fexceptions -Wall -Wsign-compare"
--  LIBCRTS="-lgcc"
-+  LIBCRTS="-lgcc_s"
- fi
- AC_MSG_RESULT([$intel_compiler])
- 
--- 
-2.3.2
-
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch b/meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
deleted file mode 100644
index 268b702..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 10b064ffe902d5af31bb49bd8e4f03c545f8d462 Mon Sep 17 00:00:00 2001
-From: Ladislav Michl <ladis@linux-mips.org>
-Date: Tue, 13 Nov 2012 11:19:47 +0100
-Subject: [PATCH] Support building with older compilers.
-
-Add a check for __builtin_unreachable.
-
-Upstream-Status: Pending
----
- configure.ac          |   11 +++++++++++
- include/libunwind_i.h |    6 ++++++
- src/arm/Gresume.c     |    2 +-
- src/sh/Gresume.c      |    2 +-
- 4 files changed, 19 insertions(+), 2 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -285,6 +285,17 @@ if test x$have__builtin___clear_cache =
- fi
- AC_MSG_RESULT([$have__builtin___clear_cache])
- 
-+AC_MSG_CHECKING([for __builtin_unreachable])
-+AC_LINK_IFELSE(
-+  [AC_LANG_PROGRAM([[]], [[__builtin_unreachable()]])],
-+  [have__builtin_unreachable=yes],
-+  [have__builtin_unreachable=no])
-+if test x$have__builtin_unreachable = xyes; then
-+  AC_DEFINE([HAVE__BUILTIN_UNREACHABLE], [1],
-+            [Defined if __builtin_unreachable() is available])
-+fi
-+AC_MSG_RESULT([$have__builtin_unreachable])
-+
- AC_MSG_CHECKING([for __sync atomics])
- AC_LINK_IFELSE(
-   [AC_LANG_PROGRAM([[]], [[
---- a/include/libunwind_i.h
-+++ b/include/libunwind_i.h
-@@ -72,6 +72,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
- # endif
- #endif
- 
-+#if defined(HAVE__BUILTIN_UNREACHABLE)
-+# define unreachable() __builtin_unreachable()
-+#else
-+# define unreachable() do { } while (1)
-+#endif
-+
- #ifdef DEBUG
- # define UNW_DEBUG	1
- #else
---- a/src/arm/Gresume.c
-+++ b/src/arm/Gresume.c
-@@ -96,7 +96,7 @@ arm_local_resume (unw_addr_space_t as, u
- 	: : "r" (c->sigcontext_sp), "r" (c->sigcontext_pc)
-       );
-    }
--  __builtin_unreachable();
-+  unreachable();
- #else
-   printf ("%s: implement me\n", __FUNCTION__);
- #endif
---- a/src/sh/Gresume.c
-+++ b/src/sh/Gresume.c
-@@ -109,7 +109,7 @@ sh_local_resume (unw_addr_space_t as, un
- 	  "r" (c->sigcontext_pc)
-       );
-    }
--  __builtin_unreachable();
-+  unreachable();
- #endif
-   return -UNW_EINVAL;
- }
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-Fix-build-on-mips-musl.patch b/meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch
similarity index 68%
rename from meta/recipes-support/libunwind/libunwind-1.1/0001-Fix-build-on-mips-musl.patch
rename to meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch
index 5426fcc..8bcc252 100644
--- a/meta/recipes-support/libunwind/libunwind-1.1/0001-Fix-build-on-mips-musl.patch
+++ b/meta/recipes-support/libunwind/libunwind/0001-Fix-build-on-mips-musl.patch
@@ -15,23 +15,17 @@ Upstream-Status: Pending
  src/mips/getcontext.S        |  3 +--
  2 files changed, 35 insertions(+), 2 deletions(-)
 
-diff --git a/src/coredump/_UCD_internal.h b/src/coredump/_UCD_internal.h
-index 3c95a2a..80acc15 100644
---- a/src/coredump/_UCD_internal.h
-+++ b/src/coredump/_UCD_internal.h
-@@ -34,6 +34,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
- #ifdef HAVE_SYS_PROCFS_H
- #include <sys/procfs.h> /* struct elf_prstatus */
- #endif
-+#include <sys/reg.h>
- #include <errno.h>
- #include <string.h>
- #include <limits.h>
-@@ -44,6 +45,39 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
+Index: git/src/coredump/_UCD_internal.h
+===================================================================
+--- git.orig/src/coredump/_UCD_internal.h
++++ git/src/coredump/_UCD_internal.h
+@@ -44,6 +44,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
  
  #include "libunwind_i.h"
  
 +#ifndef __GLIBC__
++#include <sys/reg.h>
++
 +#define EF_REG0			6
 +#define EF_REG1			7
 +#define EF_REG2			8
@@ -67,11 +61,11 @@ index 3c95a2a..80acc15 100644
  
  #if SIZEOF_OFF_T == 4
  typedef uint32_t uoff_t;
-diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S
-index d1dbd57..de9b681 100644
---- a/src/mips/getcontext.S
-+++ b/src/mips/getcontext.S
-@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+Index: git/src/mips/getcontext.S
+===================================================================
+--- git.orig/src/mips/getcontext.S
++++ git/src/mips/getcontext.S
+@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
  
  #include "offsets.h"
@@ -85,6 +79,3 @@ index d1dbd57..de9b681 100644
  #  define OFFSET 4
  # else
  #  define OFFSET 0
--- 
-1.8.3.1
-
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-backtrace-Use-only-with-glibc-and-uclibc.patch b/meta/recipes-support/libunwind/libunwind/0001-backtrace-Use-only-with-glibc-and-uclibc.patch
similarity index 100%
rename from meta/recipes-support/libunwind/libunwind-1.1/0001-backtrace-Use-only-with-glibc-and-uclibc.patch
rename to meta/recipes-support/libunwind/libunwind/0001-backtrace-Use-only-with-glibc-and-uclibc.patch
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-x86-Stub-out-x86_local_resume.patch b/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch
similarity index 100%
rename from meta/recipes-support/libunwind/libunwind-1.1/0001-x86-Stub-out-x86_local_resume.patch
rename to meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch b/meta/recipes-support/libunwind/libunwind/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
similarity index 100%
rename from meta/recipes-support/libunwind/libunwind-1.1/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
rename to meta/recipes-support/libunwind/libunwind/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch
diff --git a/meta/recipes-support/libunwind/libunwind_1.1.bb b/meta/recipes-support/libunwind/libunwind_1.1.bb
deleted file mode 100644
index 1e76c1a..0000000
--- a/meta/recipes-support/libunwind/libunwind_1.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require libunwind.inc
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
-           file://Support-building-with-older-compilers.patch \
-           file://AArch64-port.patch \
-           file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \
-           file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \
-           file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \
-           file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
-           file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \
-           file://0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch \
-           file://0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch \
-"
-SRC_URI_append_libc-musl = "\
-           file://0001-x86-Stub-out-x86_local_resume.patch \
-           file://0001-disable-tests.patch \
-           file://0001-Fix-build-on-mips-musl.patch \
-"
-SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
-SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"
-
-# http://errors.yoctoproject.org/Errors/Details/20487/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta/recipes-support/libunwind/libunwind_git.bb b/meta/recipes-support/libunwind/libunwind_git.bb
new file mode 100644
index 0000000..0949a32
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind_git.bb
@@ -0,0 +1,25 @@
+require libunwind.inc
+
+PV = "1.1+git${SRCPV}"
+
+SRCREV = "bc8698fd7ed13a629a8ec3cb2a89bd74f9d8b5c0"
+
+SRC_URI = "git://git.sv.gnu.org/libunwind.git \
+           file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
+           file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \
+           file://0001-x86-Stub-out-x86_local_resume.patch \
+           file://0001-Fix-build-on-mips-musl.patch \
+"
+
+EXTRA_OECONF_append_libc-musl = " --disable-documentation"
+
+# http://errors.yoctoproject.org/Errors/Details/20487/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+# see https://sourceware.org/bugzilla/show_bug.cgi?id=19987
+SECURITY_CFLAGS_remove_aarch64 = "-fpie"
+SECURITY_CFLAGS_append_aarch64 = " -fPIE"
+
+S = "${WORKDIR}/git"
+
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 00/42] GCC/GDB/Binutils Upgrades
@ 2016-05-11 17:35 Khem Raj
  2016-05-11 17:35 ` [PATCH 01/42] gcc: Add gcc6 recipes Khem Raj
                   ` (43 more replies)
  0 siblings, 44 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core; +Cc: Marek Vasut, Dan McGregor

This patchset covers gcc 6 upgrade along with gdb 7.11
and glibc 2.24 ( upcoming ) release.

Rest of upgrades are necessaciated by gcc-6 due to backports
that were already in newer versions of packages

It has been boot tested with core-image-minimal on all qemu
machines

The following changes since commit a5970809a2f01dbd152684266e2a3d946d896620:

  oeqa/lic-checksum: Update after recent LIC_FILES_CHKSUM changes (2016-05-11 10:33:16 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib kraj/gcc-6
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-6

Dan McGregor (2):
  pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1
  binutils: disable werror on native build

Khem Raj (39):
  gcc: Add gcc6 recipes
  glibc: Add recipes for 2.24 release
  glib-2.0: Ignore useless warning found with gcc-6
  elfutils: Upgrade to 0.166
  rpm: Fix build with gcc6
  alsa-tools: Fix build with gcc6
  lzop: Fix build with gcc-6
  webkitgtk: Upgrade to 2.12.1
  oprofile: Fix with gcc6
  mdadm: Fix gcc 6 warnings
  nss: Upgrade to 3.23
  grub: Fix build with gcc-6
  valgrind: Fix build with gcc6
  busybox/mdev: Ensure /sys is mounted before using it
  libc-common.bbclass: Use sed instead of grep
  conf: bump minimum kernel to 3.2.0
  systemd: Create missing sysusers offline
  grub_git: Upgrade to latest tip
  libunwind: Upgrade to 1.2rc1+
  linux-yocto: Fix build on ppc with gcc-6
  linux-yocto: Fix build with gcc6 on mips
  python-native: Point to expat in native sysroot
  bitbake.conf: Empty out BUILDSDK_CPPFLAGS
  strace: Remove pipe.expected
  musl: Upgrade to tip of tree
  libgcc: Ensure that gcc configure options are passed to libgcc too
  libunwind: Upgrade to 1.2rc1+
  libgcc: Ensure that gcc configure options are passed to libgcc too
  gdb,strace: Fix builds on ppc/musl
  libunwind: Add a confgure option for tests
  gdb: Upgrade to 7.11
  gdb: Disable binutils components
  tcmode-default: Bump gcc,glibc,gdb
  musl: Create symlinks for stub libraries
  mdadm: Fix build with clang
  distcc: Upgrade to 3.2
  ruby: Upgrade to 2.2.5
  mpfr: Upgrade to 3.1.4
  gcc-runtime,libgcc: Symlink c++ header and startup files in
    target_triplet for SDK use

Marek Vasut (1):
  bitbake: Oldest kernel for nios2 is 3.19

 meta/classes/cross-canadian.bbclass                |    1 +
 meta/classes/libc-common.bbclass                   |    6 +-
 meta/classes/populate_sdk_base.bbclass             |    2 +-
 meta/conf/bitbake.conf                             |    7 +-
 meta/conf/distro/include/tcmode-default.inc        |    6 +-
 ...ettext-gettext.c-main_context-secondary_c.patch |   39 +
 meta/recipes-bsp/grub/grub2.inc                    |    1 +
 meta/recipes-bsp/grub/grub_git.bb                  |    2 +-
 meta/recipes-core/busybox/files/mdev               |    4 +-
 .../0001-Do-not-ignore-return-value-of-write.patch |   42 +
 .../glib-2.0/0002-tests-Ignore-y2k-warnings.patch  |   42 +
 .../ignore-format-nonliteral-warning.patch         |   39 +
 meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb      |    7 +-
 .../fix_for_centos_5.8.patch                       |   18 -
 ...tive_2.23.bb => cross-localedef-native_2.24.bb} |   26 +-
 ...glibc-initial_2.23.bb => glibc-initial_2.24.bb} |    0
 .../{glibc-locale_2.23.bb => glibc-locale_2.24.bb} |    0
 .../{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} |    0
 ...glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} |    0
 ...libc-Look-for-host-system-ld.so.cache-as-.patch |    8 +-
 ...libc-Fix-buffer-overrun-with-a-relocated-.patch |    8 +-
 ...libc-Raise-the-size-of-arrays-containing-.patch |   34 +-
 ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch |   10 +-
 ...500-e5500-e6500-603e-fsqrt-implementation.patch |    6 +-
 ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch |    8 +-
 ...-Fix-undefined-reference-to-__sqrt_finite.patch |    6 +-
 ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
 ...bug-1443-which-explains-what-the-patch-do.patch |    8 +-
 ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch |   10 +-
 ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
 ...ersion-output-matching-grok-gold-s-output.patch |   14 +-
 ...-configure.ac-handle-correctly-libc_cv_ro.patch |    6 +-
 .../glibc/glibc/0014-Add-unused-attribute.patch    |    8 +-
 ...thin-the-path-sets-wrong-config-variables.patch |   10 +-
 ...-timezone-re-written-tzselect-as-posix-sh.patch |   16 +-
 ...move-bash-dependency-for-nscd-init-script.patch |    8 +-
 ...c-Cross-building-and-testing-instructions.patch |    6 +-
 ...019-eglibc-Help-bootstrap-cross-toolchain.patch |    8 +-
 .../glibc/0020-eglibc-cherry-picked-from.patch     |   18 +-
 .../0021-eglibc-Clear-cache-lines-on-ppc8xx.patch  |   10 +-
 ...0022-eglibc-Resolve-__fpscr_values-on-SH4.patch |    8 +-
 .../glibc/0023-eglibc-Install-PIC-archives.patch   |    8 +-
 ...ard-port-cross-locale-generation-support.patch} |   30 +-
 ...0025-Define-DUMMY_LOCALE_T-if-not-defined.patch |   32 +
 ...ing-SSE-make-sure-fpmath-is-not-set-to-us.patch |   48 -
 .../glibc/{glibc_2.23.bb => glibc_2.24.bb}         |   12 +-
 meta/recipes-core/musl/musl.inc                    |    2 +-
 meta/recipes-core/musl/musl_git.bb                 |    6 +-
 meta/recipes-core/systemd/systemd_229.bb           |    8 +-
 meta/recipes-devtools/binutils/binutils_2.26.bb    |    3 +-
 .../distcc/{distcc_3.1.bb => distcc_3.2.bb}        |    8 +-
 .../distcc/files/separatebuilddir.patch            |   14 +-
 ...ferences-between-mips-machine-identifiers.patch |    0
 ...de-alternatives-for-glibc-assumptions-hel.patch |  488 ++--
 ...m-Silence-Werror-maybe-uninitialized-fals.patch |    0
 .../0001-fix-a-stack-usage-warning.patch           |    0
 .../0001-remove-the-unneed-checking.patch          |    0
 ...-support-for-mips64-abis-in-mips_retval.c.patch |    0
 .../0003-Add-mips-n64-relocation-format-hack.patch |    0
 .../aarch64_uio.patch                              |    0
 .../arm_backend.diff                               |    0
 .../elfcmp-fix-self-comparision.patch              |   41 +
 .../fixheadercheck.patch                           |    0
 .../hppa_backend.diff                              |    0
 .../kfreebsd_path.patch                            |    0
 .../m68k_backend.diff                              |    0
 .../mips_backend.diff                              |    0
 .../mips_readelf_w.patch                           |    0
 .../shadow.patch                                   |    0
 .../testsuite-ignore-elflint.diff                  |    0
 .../uclibc-support.patch                           |   37 +-
 .../{elfutils_0.164.bb => elfutils_0.166.bb}       |    6 +-
 ...-Symlink-c-header-in-target_triplet-for-S.patch |   49 +
 meta/recipes-devtools/gcc/gcc-6.1.inc              |  131 +
 .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch     |   42 +
 .../gcc/gcc-6.1/0002-uclibc-conf.patch             |   53 +
 .../0003-gcc-uclibc-locale-ctype_touplow_t.patch   |   87 +
 .../gcc/gcc-6.1/0004-uclibc-locale.patch           | 2862 ++++++++++++++++++++
 .../gcc/gcc-6.1/0005-uclibc-locale-no__x.patch     |  257 ++
 .../gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch |   68 +
 .../gcc/gcc-6.1/0007-uclibc-locale-update.patch    |  542 ++++
 .../gcc/gcc-6.1/0008-missing-execinfo_h.patch      |   28 +
 .../gcc/gcc-6.1/0009-c99-snprintf.patch            |   28 +
 .../0010-gcc-poison-system-directories.patch       |  192 ++
 .../gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch   |   39 +
 .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch |   73 +
 .../gcc/gcc-6.1/0013-64-bit-multilib-hack.patch    |   85 +
 .../gcc/gcc-6.1/0014-optional-libstdc.patch        |  125 +
 ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch |   59 +
 .../gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch     |   38 +
 ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch |   96 +
 .../gcc-6.1/0018-fortran-cross-compile-hack.patch  |   46 +
 .../gcc/gcc-6.1/0019-cpp-honor-sysroot.patch       |   54 +
 .../gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch   |   57 +
 ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch |  234 ++
 ...0022-gcc-Fix-argument-list-too-long-error.patch |   40 +
 .../gcc/gcc-6.1/0023-Disable-sdt.patch             |  113 +
 .../gcc/gcc-6.1/0024-libtool.patch                 |   42 +
 ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch |   43 +
 ...tilib-config-files-from-B-instead-of-usin.patch |  102 +
 ...-libdir-from-.la-which-usually-points-to-.patch |   31 +
 .../gcc/gcc-6.1/0028-export-CPP.patch              |   53 +
 ...AltiVec-generation-on-powepc-linux-target.patch |   56 +
 ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch |   42 +
 ...Ensure-target-gcc-headers-can-be-included.patch |   98 +
 ...-t-build-with-disable-dependency-tracking.patch |   54 +
 ...h-host-directory-during-relink-if-inst_pr.patch |   38 +
 ...IBS_DIR-replacement-instead-of-hardcoding.patch |   29 +
 .../0035-aarch64-Add-support-for-musl-ldso.patch   |   28 +
 ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch |   54 +
 ...-handle-sysroot-support-for-nativesdk-gcc.patch |  213 ++
 ...et-sysroot-gcc-version-specific-dirs-with.patch |  102 +
 ...-various-_FOR_BUILD-and-related-variables.patch |  137 +
 .../0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch    |   28 +
 .../gcc/gcc-6.1/0041-ssp_nonshared.patch           |   28 +
 ...c-libcpp-support-ffile-prefix-map-old-new.patch |  292 ++
 ...ug-prefix-map-to-replace-ffile-prefix-map.patch |   43 +
 ...-fdebug-prefix-map-support-to-remap-sourc.patch |   54 +
 ...45-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch |  125 +
 ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch |   29 +
 meta/recipes-devtools/gcc/gcc-common.inc           |    2 +
 .../recipes-devtools/gcc/gcc-cross-canadian_6.1.bb |    5 +
 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb |    2 +
 meta/recipes-devtools/gcc/gcc-cross_6.1.bb         |    3 +
 .../gcc/gcc-crosssdk-initial_6.1.bb                |    3 +
 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb      |    2 +
 meta/recipes-devtools/gcc/gcc-runtime.inc          |   12 +
 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb       |    7 +
 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb    |    2 +
 meta/recipes-devtools/gcc/gcc-source_6.1.bb        |    4 +
 meta/recipes-devtools/gcc/gcc_6.1.bb               |   15 +
 meta/recipes-devtools/gcc/libgcc-common.inc        |    9 +-
 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb    |    2 +
 meta/recipes-devtools/gcc/libgcc.inc               |   12 +
 meta/recipes-devtools/gcc/libgcc_6.1.bb            |    2 +
 meta/recipes-devtools/gcc/libgfortran_6.1.bb       |    3 +
 .../gdb/{gdb-7.10.1.inc => gdb-7.11.inc}           |    0
 meta/recipes-devtools/gdb/gdb-common.inc           |   25 +-
 ...nadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} |    0
 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb      |    4 -
 meta/recipes-devtools/gdb/gdb-cross_7.11.bb        |    2 +
 meta/recipes-devtools/gdb/gdb.inc                  |    8 -
 .../gdb/0001-include-sys-types.h-for-mode_t.patch  |   10 +-
 ...002-make-man-install-relative-to-DESTDIR.patch} |    8 +-
 ...-linux-nat-Define-_ABIO32-if-not-defined.patch} |    8 +-
 ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch |   53 +
 ...-support-for-Renesas-SH-sh4-architecture.patch} |   32 +-
 ...-libreadline.a-when-using-disable-static.patch} |   21 +-
 ...gidefs.h.patch => 0007-use-asm-sgidefs.h.patch} |   15 +-
 ...0008-Use-exorted-definitions-of-SIGRTMIN.patch} |   44 +-
 ...AGS.patch => 0009-Change-order-of-CFLAGS.patch} |   18 +-
 .../0010-resolve-restrict-keyword-conflict.patch   |   48 +
 .../gdb/{gdb_7.10.1.bb => gdb_7.11.bb}             |    0
 ...e-Move-warning-pragma-outside-of-function.patch |   39 +
 meta/recipes-devtools/pkgconfig/pkgconfig_git.bb   |    1 +
 .../python/python-native_2.7.11.bb                 |    2 +-
 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch    |   54 +
 meta/recipes-devtools/rpm/rpm_5.4.16.bb            |    3 +-
 .../ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb}          |    8 +-
 ...hen-using-non-glibc-libc-implementation-o.patch |   36 +
 meta/recipes-devtools/strace/strace_4.11.bb        |    4 +-
 .../valgrind/valgrind/gcc5-port.patch              |   64 +
 meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  |    1 +
 ...dadm.h-Undefine-dprintf-before-redefining.patch |   43 +
 .../0001-raid6check-Fix-if-else-indentation.patch  |   37 +
 meta/recipes-extended/mdadm/mdadm_3.4.bb           |    4 +-
 ...ace-Fix-out-of-bounds-array-access-warnin.patch |   50 +
 ...oration-of-MSA-context-in-non-MSA-kernels.patch |   76 +
 meta/recipes-kernel/linux/linux-yocto_4.4.bb       |    5 +-
 meta/recipes-kernel/oprofile/oprofile.inc          |    4 +-
 .../0001-Fix-FTBFS-problem-with-GCC-6.patch        |   51 +
 ...idi-Explicitly-cast-constant-to-char-type.patch |   75 +
 meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb   |    6 +-
 ...cmake-drop-the-hardcoded-introspection-gt.patch |   19 +-
 ...bKitMacros-Append-to-I-and-not-to-isystem.patch |  223 ++
 ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch |   19 +-
 meta/recipes-sato/webkit/files/musl-fixes.patch    |   48 +
 ...nable-backtrace-on-linux-when-using-glibc.patch |   39 -
 ...x-build-with-non-glibc-libraries-on-linux.patch |   61 -
 meta/recipes-sato/webkit/webkitgtk/clang.patch     |   25 -
 .../{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb}   |   12 +-
 ...rf-opcodes-can-cause-references-beyond-th.patch |   29 -
 ...roduce-build-support-for-aarch64_be-targe.patch |   33 -
 .../libunwind-1.1/0001-disable-tests.patch         |   31 -
 ...-wrong-big_endian-flag-in-aarch64_be-case.patch |   34 -
 .../libunwind/libunwind-1.1/AArch64-port.patch     | 2529 -----------------
 ...k-failure-on-PowerPC-systems-with-Altivec.patch |   28 -
 ...-libunwind-to-libgcc_s-rather-than-libgcc.patch |   42 -
 .../Support-building-with-older-compilers.patch    |   72 -
 .../0001-Fix-build-on-mips-musl.patch              |   33 +-
 .../0001-add-knobs-to-disable-enable-tests.patch   |   69 +
 ...-backtrace-Use-only-with-glibc-and-uclibc.patch |    0
 .../0001-x86-Stub-out-x86_local_resume.patch       |    0
 ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch |    0
 meta/recipes-support/libunwind/libunwind_1.1.bb    |   24 -
 meta/recipes-support/libunwind/libunwind_git.bb    |   26 +
 .../recipes-support/lzop/lzop/lzop-1.03-gcc6.patch |   37 +
 meta/recipes-support/lzop/lzop_1.03.bb             |    6 +-
 .../{mpfr-3.1.3 => mpfr}/long-long-thumb.patch     |    0
 .../mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb}          |    5 +-
 .../nss/{nss_3.21.bb => nss_3.23.bb}               |    8 +-
 201 files changed, 9095 insertions(+), 3627 deletions(-)
 create mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
 delete mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
 rename meta/recipes-core/glibc/{cross-localedef-native_2.23.bb => cross-localedef-native_2.24.bb} (79%)
 rename meta/recipes-core/glibc/{glibc-initial_2.23.bb => glibc-initial_2.24.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-locale_2.23.bb => glibc-locale_2.24.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} (100%)
 rename meta/recipes-core/glibc/{glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} (100%)
 rename meta/recipes-core/glibc/glibc/{0025-eglibc-Forward-port-cross-locale-generation-support.patch => 0024-eglibc-Forward-port-cross-locale-generation-support.patch} (97%)
 create mode 100644 meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
 delete mode 100644 meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
 rename meta/recipes-core/glibc/{glibc_2.23.bb => glibc_2.24.bb} (93%)
 rename meta/recipes-devtools/distcc/{distcc_3.1.bb => distcc_3.2.bb} (91%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-Ignore-differences-between-mips-machine-identifiers.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch (71%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-fix-a-stack-usage-warning.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-remove-the-unneed-checking.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0003-Add-mips-n64-relocation-format-hack.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/aarch64_uio.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/arm_backend.diff (100%)
 create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/fixheadercheck.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/hppa_backend.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/kfreebsd_path.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/m68k_backend.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_backend.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_readelf_w.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/shadow.patch (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/testsuite-ignore-elflint.diff (100%)
 rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/uclibc-support.patch (82%)
 rename meta/recipes-devtools/elfutils/{elfutils_0.164.bb => elfutils_0.166.bb} (94%)
 create mode 100644 meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1.inc
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-cross_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc-source_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/gcc_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/libgcc_6.1.bb
 create mode 100644 meta/recipes-devtools/gcc/libgfortran_6.1.bb
 rename meta/recipes-devtools/gdb/{gdb-7.10.1.inc => gdb-7.11.inc} (100%)
 rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} (100%)
 delete mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
 create mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.11.bb
 rename meta/recipes-devtools/gdb/gdb/{0001-make-man-install-relative-to-DESTDIR.patch => 0002-make-man-install-relative-to-DESTDIR.patch} (78%)
 rename meta/recipes-devtools/gdb/gdb/{0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch => 0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch} (84%)
 create mode 100644 meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
 rename meta/recipes-devtools/gdb/gdb/{0003-Add-support-for-Renesas-SH-sh4-architecture.patch => 0005-Add-support-for-Renesas-SH-sh4-architecture.patch} (97%)
 rename meta/recipes-devtools/gdb/gdb/{force-readline-static.patch => 0006-Dont-disable-libreadline.a-when-using-disable-static.patch} (67%)
 rename meta/recipes-devtools/gdb/gdb/{0001-use-asm-sgidefs.h.patch => 0007-use-asm-sgidefs.h.patch} (69%)
 rename meta/recipes-devtools/gdb/gdb/{0001-Use-exported-definitions-of-SIGRTMIN.patch => 0008-Use-exorted-definitions-of-SIGRTMIN.patch} (49%)
 rename meta/recipes-devtools/gdb/gdb/{0002-Change-order-of-CFLAGS.patch => 0009-Change-order-of-CFLAGS.patch} (69%)
 create mode 100644 meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
 rename meta/recipes-devtools/gdb/{gdb_7.10.1.bb => gdb_7.11.bb} (100%)
 create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch
 create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
 rename meta/recipes-devtools/ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb} (86%)
 create mode 100644 meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
 create mode 100644 meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch
 create mode 100644 meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
 create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch
 create mode 100644 meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
 create mode 100644 meta/recipes-sato/webkit/files/musl-fixes.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/clang.patch
 rename meta/recipes-sato/webkit/{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb} (92%)
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-Fix-build-on-mips-musl.patch (68%)
 create mode 100644 meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-backtrace-Use-only-with-glibc-and-uclibc.patch (100%)
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-x86-Stub-out-x86_local_resume.patch (100%)
 rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch (100%)
 delete mode 100644 meta/recipes-support/libunwind/libunwind_1.1.bb
 create mode 100644 meta/recipes-support/libunwind/libunwind_git.bb
 create mode 100644 meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
 rename meta/recipes-support/mpfr/{mpfr-3.1.3 => mpfr}/long-long-thumb.patch (100%)
 rename meta/recipes-support/mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb} (75%)
 rename meta/recipes-support/nss/{nss_3.21.bb => nss_3.23.bb} (97%)

-- 
2.8.2



^ permalink raw reply	[flat|nested] 77+ messages in thread

* [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (20 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 21/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 21:27   ` Bruce Ashfield
  2016-05-11 17:35 ` [PATCH 23/42] linux-yocto: Fix build with gcc6 on mips Khem Raj
                   ` (21 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50 ++++++++++++++++++++++
 meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
 2 files changed, 53 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch

diff --git a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
new file mode 100644
index 0000000..05315ed
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
@@ -0,0 +1,50 @@
+From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Apr 2016 05:47:01 +0000
+Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access warning
+
+gcc-6 correctly warns about a out of bounds access
+
+arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}' [-Warray-bounds]
+        offsetof(struct thread_fp_state, fpr[32][0]));
+                        ^
+
+check the end of array instead of beginning of next element to fix this
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Kees Cook <keescook@chromium.org>
+Cc: Michael Ellerman <mpe@ellerman.id.au>
+Cc: Segher Boessenkool <segher@kernel.crashing.org>
+---
+Changes from v1 to v2:
+
+- Check for fpr[32] instead of fpr[31][1]
+
+ arch/powerpc/kernel/ptrace.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
+index 737c0d0..b38fd08 100644
+--- a/arch/powerpc/kernel/ptrace.c
++++ b/arch/powerpc/kernel/ptrace.c
+@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target, const struct user_regset *regset,
+ 
+ #else
+ 	BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
+-		     offsetof(struct thread_fp_state, fpr[32][0]));
++		     offsetof(struct thread_fp_state, fpr[32]));
+ 
+ 	return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
+ 				   &target->thread.fp_state, 0, -1);
+@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target, const struct user_regset *regset,
+ 	return 0;
+ #else
+ 	BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
+-		     offsetof(struct thread_fp_state, fpr[32][0]));
++		     offsetof(struct thread_fp_state, fpr[32]));
+ 
+ 	return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
+ 				  &target->thread.fp_state, 0, -1);
+-- 
+1.9.1
+
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
index b74903e..fbb592a 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
@@ -22,7 +22,9 @@ SRCREV_machine ?= "b18090556c1d1b449233cd555c27a04d38272d6d"
 SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
-           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
+           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA} \
+           file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch \
+"
 
 LINUX_VERSION ?= "4.4.3"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 23/42] linux-yocto: Fix build with gcc6 on mips
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (21 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 24/42] python-native: Point to expat in native sysroot Khem Raj
                   ` (20 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...oration-of-MSA-context-in-non-MSA-kernels.patch | 76 ++++++++++++++++++++++
 meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  1 +
 2 files changed, 77 insertions(+)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch

diff --git a/meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch b/meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch
new file mode 100644
index 0000000..8511df6
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch
@@ -0,0 +1,76 @@
+From patchwork Thu Apr 21 17:04:53 2016
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2] MIPS: Prevent "restoration" of MSA context in non-MSA kernels
+From: Paul Burton <paul.burton@imgtec.com>
+X-Patchwork-Id: 13164
+Message-Id: <1461258293-8863-1-git-send-email-paul.burton@imgtec.com>
+To: <linux-mips@linux-mips.org>, Ralf Baechle <ralf@linux-mips.org>
+Cc: Michal Toman <michal.toman@imgtec.com>,
+ Paul Burton <paul.burton@imgtec.com>, James Hogan <james.hogan@imgtec.com>,
+ "stable # v4 . 3+" <stable@vger.kernel.org>
+Date: Thu, 21 Apr 2016 18:04:53 +0100
+
+If a kernel doesn't support MSA context (ie. CONFIG_CPU_HAS_MSA=n) then
+it will only keep 64 bits per FP register in thread context, and the
+calls to set_fpr64 in restore_msa_extcontext will overrun the end of the
+FP register context into the FCSR & MSACSR values. GCC 6.x has become
+smart enough to detect this & complain like so:
+
+    arch/mips/kernel/signal.c: In function 'protected_restore_fp_context':
+    ./arch/mips/include/asm/processor.h:114:17: error: array subscript is above array bounds [-Werror=array-bounds]
+      fpr->val##width[FPR_IDX(width, idx)] = val;   \
+      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
+    ./arch/mips/include/asm/processor.h:118:1: note: in expansion of macro 'BUILD_FPR_ACCESS'
+     BUILD_FPR_ACCESS(64)
+
+The only way to trigger this code to run would be for a program to set
+up an artificial extended MSA context structure following a sigframe &
+execute sigreturn. Whilst this doesn't allow a program to write to any
+state that it couldn't already, it makes little sense to allow this
+"restoration" of MSA context in a system that doesn't support MSA.
+
+Fix this by killing a program with SIGSYS if it tries something as crazy
+as "restoring" fake MSA context in this way, also fixing the build error
+& allowing for most of restore_msa_extcontext to be optimised out of
+kernels without support for MSA.
+
+Signed-off-by: Paul Burton <paul.burton@imgtec.com>
+Reported-by: Michal Toman <michal.toman@imgtec.com>
+Fixes: bf82cb30c7e5 ("MIPS: Save MSA extended context around signals")
+Cc: James Hogan <james.hogan@imgtec.com>
+Cc: stable <stable@vger.kernel.org> # v4.3+
+---
+
+Changes in v2:
+- Prevent potential for malformed errno/signal from protected_restore_fp_context.
+
+ arch/mips/kernel/signal.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
+index bf792e2..fc7c1f0 100644
+--- a/arch/mips/kernel/signal.c
++++ b/arch/mips/kernel/signal.c
+@@ -195,6 +195,9 @@ static int restore_msa_extcontext(void __user *buf, unsigned int size)
+ 	unsigned int csr;
+ 	int i, err;
+ 
++	if (!config_enabled(CONFIG_CPU_HAS_MSA))
++		return SIGSYS;
++
+ 	if (size != sizeof(*msa))
+ 		return -EINVAL;
+ 
+@@ -398,8 +401,8 @@ int protected_restore_fp_context(void __user *sc)
+ 	}
+ 
+ fp_done:
+-	if (used & USED_EXTCONTEXT)
+-		err |= restore_extcontext(sc_to_extcontext(sc));
++	if (!err && (used & USED_EXTCONTEXT))
++		err = restore_extcontext(sc_to_extcontext(sc));
+ 
+ 	return err ?: sig;
+ }
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
index fbb592a..a55ac93 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
@@ -24,6 +24,7 @@ SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA} \
            file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch \
+           file://v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch \
 "
 
 LINUX_VERSION ?= "4.4.3"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 24/42] python-native: Point to expat in native sysroot
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (22 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 23/42] linux-yocto: Fix build with gcc6 on mips Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-12  6:26   ` Khem Raj
  2016-05-11 17:35 ` [PATCH 25/42] bitbake.conf: Empty out BUILDSDK_CPPFLAGS Khem Raj
                   ` (19 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

This fixes inconsistency where expat dependency is
then depending upon build host having it or not having it

Fixes errors like
WARNING: renaming "pyexpat" since importing it failed: build/lib.linux-x86_64-2.7/pyexpat.so: undefined symbol: XML_SetCommentHandler

also reported here
https://dev.openwrt.org/ticket/20087

This work due to the fact that we use -isystem pointing to native sysroot
so the search order of native includedir is moved after buildhosts system
includdirs. Moment we replace it with -I, build falls apart

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/python/python-native_2.7.11.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python-native_2.7.11.bb b/meta/recipes-devtools/python/python-native_2.7.11.bb
index 4c204a4..add8868 100644
--- a/meta/recipes-devtools/python/python-native_2.7.11.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.11.bb
@@ -27,7 +27,7 @@ inherit native
 
 RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-core-native python-unittest-native"
 
-EXTRA_OECONF_append = " --bindir=${bindir}/${PN}"
+EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --with-system-expat=${STAGING_DIR_HOST}"
 
 EXTRA_OEMAKE = '\
   BUILD_SYS="" \
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 25/42] bitbake.conf: Empty out BUILDSDK_CPPFLAGS
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (23 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 24/42] python-native: Point to expat in native sysroot Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 26/42] strace: Remove pipe.expected Khem Raj
                   ` (18 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

The nativesdk sysroot is already being passed in
via --sysroot option, adding -isystem is redundant
and more so it causes build failures with gcc-6
since it messed with internal search order for system
includedirs

see
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Q5SWCUUMWQ4EMS7CU2CBOZHV3WZYOOTT/

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/bitbake.conf | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 07d171d..9c865d7 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -495,10 +495,9 @@ PATCHRESOLVE = "noop"
 ##################################################################
 
 export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
-BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
+BUILDSDK_CPPFLAGS = ""
 export CPPFLAGS = "${TARGET_CPPFLAGS}"
 export TARGET_CPPFLAGS = ""
-#export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${includedir}"
 
 export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
 BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 26/42] strace: Remove pipe.expected
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (24 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 25/42] bitbake.conf: Empty out BUILDSDK_CPPFLAGS Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:42   ` Khem Raj
  2016-05-11 17:35 ` [PATCH 27/42] musl: Upgrade to tip of tree Khem Raj
                   ` (17 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

file utility on some OSes e.g. archlinux'like
which use file 5.26 can not recognise a file
in strace testsuite e.g.

file ./strace-4.11/tests/pipe.expected
./strace-4.11/tests/pipe.expected: ERROR: EOF computing DER offset

This ends up in QA errors
ERROR: strace-4.11-r0 do_populate_sysroot: split_and_strip_files: 'file /a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/strace/4.11-r0/sysroot-destdir/usr/lib/strace/ptest/tests/pipe.expected' failed

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/strace/strace_4.11.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/strace/strace_4.11.bb b/meta/recipes-devtools/strace/strace_4.11.bb
index 7391388..a787df2 100644
--- a/meta/recipes-devtools/strace/strace_4.11.bb
+++ b/meta/recipes-devtools/strace/strace_4.11.bb
@@ -46,6 +46,7 @@ do_compile_ptest() {
 do_install_ptest() {
 	oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
 	sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
+	rm -rf ${D}${libdir}/strace/ptest/tests/pipe.expected
 }
 
 BBCLASSEXTEND = "native"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 27/42] musl: Upgrade to tip of tree
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (25 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 26/42] strace: Remove pipe.expected Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 28/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
                   ` (16 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

COPYRIGHT file was changed to clarfiy the MIT Licence
which resulted in checksum change, see

http://git.musl-libc.org/cgit/musl/commit/?id=f0a61399330bae42beeb27d6ecd05570b3382a60

below are changes in upgrade

Andrew Kelley (1):
      fix incorrect protocol name and number for egp

Bobby Bingham (1):
      add powerpc64 port

LeMay, Michael (1):
      fix redundant processing of --build flag in configure script

Petr Vaněk (1):
      remove dead store in res_msend

Rich Felker (10):
      fix undefined pointer comparison in stdio-internal __toread
      fix regression disabling use of pause instruction for x86 a_spin
      fix read past end of haystack buffer for short needles in memmem
      add support for mips and mips64 r6 isa
      add mips n32 port (ILP32 ABI for mips64)
      fix thread structure/dtv-pointer corruption on powerpc
      fix FILE buffer underflow in ungetwc
      update COPYRIGHT file to clarify that permissions apply for all files
      follow standard configure behavior for cross compile prefix
      fix spurious trailing whitespace in powerpc & powerpc64 bits/errno.h

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl.inc    | 2 +-
 meta/recipes-core/musl/musl_git.bb | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/musl/musl.inc b/meta/recipes-core/musl/musl.inc
index d27867f..5e6cd01 100644
--- a/meta/recipes-core/musl/musl.inc
+++ b/meta/recipes-core/musl/musl.inc
@@ -9,7 +9,7 @@ standards-conformance and safety."
 HOMEPAGE = "http://www.musl-libc.org/"
 LICENSE = "MIT"
 SECTION = "libs"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=082411391b4d1ace0d30f4c84317cc05"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=7928b7ad32ceda04932478e330e52f7f"
 
 PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
 TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index d4f9819..1e33b2d 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -3,7 +3,7 @@
 
 require musl.inc
 
-SRCREV = "5978eb703ce0e64dd778a88c1ffffb76fe5e2202"
+SRCREV = "49631b7b6c8b8c055aae5b6948930c219b95fdef"
 
 PV = "1.1.14+git${SRCPV}"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 28/42] libgcc: Ensure that gcc configure options are passed to libgcc too
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (26 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 27/42] musl: Upgrade to tip of tree Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 29/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
                   ` (15 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

libgcc uses certain options from EXTRA_OECONF as well, curently we are
ignoring them, as a result we do not configure libgcc to match cross gcc
in some cases e.g. ppc/musl should have used 64bit long doubles but
it went for 128-ldbls which is default, works on glibc but not on musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-common.inc    | 2 ++
 meta/recipes-devtools/gcc/libgcc-common.inc | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index e4fd4d6..f540b4d 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -33,6 +33,8 @@ def get_gcc_ppc_plt_settings(bb, d):
 def get_long_double_setting(bb, d):
     if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC', True) in [ 'uclibc', 'glibc' ]:
         return "--with-long-double-128"
+    else:
+        return "--without-long-double-128"
     return ""
 
 def get_gcc_multiarch_setting(bb, d):
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index dae07e9..e6d31bc 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -4,6 +4,13 @@ require gcc-shared-source.inc
 
 INHIBIT_DEFAULT_DEPS = "1"
 
+EXTRA_OECONF += "\
+    ${@get_gcc_mips_plt_setting(bb, d)} \
+    ${@get_gcc_ppc_plt_settings(bb, d)} \
+    ${@get_long_double_setting(bb, d)} \
+    ${@get_gcc_multiarch_setting(bb, d)} \
+"
+
 do_configure () {
 	target=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##`
 	install -d ${D}${base_libdir} ${D}${libdir}
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 29/42] libunwind: Upgrade to 1.2rc1+
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (27 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 28/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 30/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
                   ` (14 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

This helps in compiling with gcc6
drop patches backported to 1.1
remove musl conditional patches, they should work
on glibc too now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...roduce-build-support-for-aarch64_be-targe.patch | 33 ---------------------
 ...-wrong-big_endian-flag-in-aarch64_be-case.patch | 34 ----------------------
 2 files changed, 67 deletions(-)
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
 delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch

diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
deleted file mode 100644
index b8afb90..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 743668f66916b6bb03c92b04be5216400951ace6 Mon Sep 17 00:00:00 2001
-From: Victor Kamensky <victor.kamensky@linaro.org>
-Date: Wed, 3 Dec 2014 17:35:43 -0800
-Subject: [PATCH 1/2] aarch64: introduce build support for aarch64_be target
-
-Upstream-Status: backport
-
-Introduce support for aarch64_be, aarch64 big endian, target.
-We would like to reuse all code that was done for aarch64
-(little endian) target. So we do similar thing that is done
-for ARM v7 (arm) target for any aarch64* arch we set it
-just to aarch64.
-
-Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
----
- configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/configure.ac b/configure.ac
-index 582e71f..c59f526 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -88,6 +88,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- 
- AC_DEFUN([SET_ARCH],[
-     AS_CASE([$1],
-+        [aarch64*],[$2=aarch64],
-         [arm*],[$2=arm],
-         [i?86],[$2=x86],
-         [hppa*],[$2=hppa],
--- 
-1.9.1
-
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch b/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
deleted file mode 100644
index 2ae4477..0000000
--- a/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 16e98c8cf37b006c3879ee57acc23c9af13c40d5 Mon Sep 17 00:00:00 2001
-From: Victor Kamensky <victor.kamensky@linaro.org>
-Date: Wed, 3 Dec 2014 17:35:44 -0800
-Subject: [PATCH 2/2] aarch64: fix wrong big_endian flag in aarch64_be case
-
-Upstream-Status: backport
-
-Set local_addr_space.big_endian flag according to current target
-endianness. Before it was set by memset to 0, which corresponds
-to little endian and it worked perfectly fine for aarch64.
-But it breaks aarch64_be because dwarf_readu16, dwarf_readu32,
-etc functions do not read values correctly since they operate
-with wrong idea about current target endianness.
-
-Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
----
- src/aarch64/Ginit.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
-index 0bc8997..b9181ef 100644
---- a/src/aarch64/Ginit.c
-+++ b/src/aarch64/Ginit.c
-@@ -181,6 +181,7 @@ aarch64_local_addr_space_init (void)
-   local_addr_space.acc.access_fpreg = access_fpreg;
-   local_addr_space.acc.resume = aarch64_local_resume;
-   local_addr_space.acc.get_proc_name = get_static_proc_name;
-+  local_addr_space.big_endian = (__BYTE_ORDER == __BIG_ENDIAN);
-   unw_flush_cache (&local_addr_space, 0, 0);
- }
- 
--- 
-1.9.1
-
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 30/42] libgcc: Ensure that gcc configure options are passed to libgcc too
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (28 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 29/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 31/42] gdb,strace: Fix builds on ppc/musl Khem Raj
                   ` (13 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

libgcc uses certain options from EXTRA_OECONF as well, curently we are
ignoring them, as a result we do not configure libgcc to match cross gcc
in some cases e.g. ppc/musl should have used 64bit long doubles but
it went for 128-ldbls which is default, works on glibc but not on musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/libgcc-common.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index e6d31bc..cb1237c 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -1,6 +1,6 @@
 BPN = "libgcc"
 
-require gcc-shared-source.inc
+require gcc-configure-common.inc
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 31/42] gdb,strace: Fix builds on ppc/musl
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (29 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 30/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 32/42] libunwind: Add a confgure option for tests Khem Raj
                   ` (12 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

ptrace namespace is polluted in glibc for ppc
which is highlighted with musl, these fixes
tries to undo it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gdb/gdb.inc                  | 16 ++++---
 ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch | 52 ++++++++++++++++++++++
 ...hen-using-non-glibc-libc-implementation-o.patch | 36 +++++++++++++++
 meta/recipes-devtools/strace/strace_4.11.bb        |  3 +-
 4 files changed, 99 insertions(+), 8 deletions(-)
 create mode 100644 meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
 create mode 100644 meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch

diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index d9c864d..5a2067e 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -2,13 +2,15 @@ require gdb-common.inc
 
 inherit gettext
 
-SRC_URI += "file://0002-Change-order-of-CFLAGS.patch \
-            file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \
-            file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
-            file://0001-include-sys-types.h-for-mode_t.patch \
-            file://0001-use-asm-sgidefs.h.patch \
-            file://force-readline-static.patch \
-            file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
+           file://0002-Change-order-of-CFLAGS.patch \
+           file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \
+           file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
+           file://0001-include-sys-types.h-for-mode_t.patch \
+           file://0001-use-asm-sgidefs.h.patch \
+           file://force-readline-static.patch \
+           file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+           file://0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
            "
 #LDFLAGS_append = " -s"
 #export CFLAGS_append=" -L${STAGING_LIBDIR}"
diff --git a/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
new file mode 100644
index 0000000..342f1ce
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -0,0 +1,52 @@
+From 33a2cdb731298b73277507f01b9a21cd340c5b5c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Apr 2016 16:46:03 +0000
+Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdb/gdbserver/linux-ppc-low.c | 6 ++++++
+ gdb/nat/ppc-linux.h           | 6 ++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
+index 188fac0..f71d5ab 100644
+--- a/gdb/gdbserver/linux-ppc-low.c
++++ b/gdb/gdbserver/linux-ppc-low.c
+@@ -21,7 +21,13 @@
+ #include "linux-low.h"
+ 
+ #include <elf.h>
++#if !defined(__GLIBC__)
++# define pt_regs uapi_pt_regs
++#endif
+ #include <asm/ptrace.h>
++#if !defined(__GLIBC__)
++# undef pt_regs
++#endif
+ 
+ #include "nat/ppc-linux.h"
+ 
+diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
+index 0ff2223..c978daa 100644
+--- a/gdb/nat/ppc-linux.h
++++ b/gdb/nat/ppc-linux.h
+@@ -18,7 +18,13 @@
+ #ifndef PPC_LINUX_H
+ #define PPC_LINUX_H 1
+ 
++#if !defined(__GLIBC__)
++# define pt_regs uapi_pt_regs
++#endif
+ #include <asm/ptrace.h>
++#if !defined(__GLIBC__)
++# undef pt_regs
++#endif
+ #include <asm/cputable.h>
+ 
+ /* This sometimes isn't defined.  */
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
new file mode 100644
index 0000000..7f59210
--- /dev/null
+++ b/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
@@ -0,0 +1,36 @@
+From 1f0c22b79045cfcdc976643f383c1d09589d3087 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Apr 2016 16:23:56 +0000
+Subject: [PATCH] Fix build when using non-glibc libc implementation on ppc
+
+glibc includes the kernel header into its own header for macros
+musl does not
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ptrace.h | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/ptrace.h b/ptrace.h
+index d8af976..4978a69 100644
+--- a/ptrace.h
++++ b/ptrace.h
+@@ -52,7 +52,13 @@ extern long ptrace(int, int, char *, long);
+ # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
+ #endif
+ 
+-#include <linux/ptrace.h>
++#if defined(POWERPC) && !defined(__GLIBC__)
++#define pt_regs uapi_pt_regs
++#endif
++# include <linux/ptrace.h>
++#if defined(POWERPC) && !defined(__GLIBC__)
++# undef pt_regs
++#endif
+ 
+ #ifdef HAVE_STRUCT_IA64_FPREG
+ # undef ia64_fpreg
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-devtools/strace/strace_4.11.bb b/meta/recipes-devtools/strace/strace_4.11.bb
index a787df2..7e349ef 100644
--- a/meta/recipes-devtools/strace/strace_4.11.bb
+++ b/meta/recipes-devtools/strace/strace_4.11.bb
@@ -16,7 +16,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.xz \
            file://0001-Move-gcc-compat-macros-to-gcc_compat.h.patch \
            file://0001-tests-introduce-libtests.patch \
            file://run-ptest \
-          "
+           file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \
+           "
 
 SRC_URI[md5sum] = "a15d2555a7febb56d00c6e1a51c655dc"
 SRC_URI[sha256sum] = "e86a5f6cd8f941f67f3e4b28f4e60f3d9185c951cf266404533210a2e5cd8152"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 32/42] libunwind: Add a confgure option for tests
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (30 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 31/42] gdb,strace: Fix builds on ppc/musl Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 33/42] gdb: Upgrade to 7.11 Khem Raj
                   ` (11 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Tests dont compile on musl due to its use
of {get|set}context APIs, adding this option
to disable tests helps it to compile

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-add-knobs-to-disable-enable-tests.patch   | 69 ++++++++++++++++++++++
 meta/recipes-support/libunwind/libunwind_git.bb    |  5 +-
 2 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch

diff --git a/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch b/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
new file mode 100644
index 0000000..673a5bb
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
@@ -0,0 +1,69 @@
+From 459e471fcc33d300f7bbcdaf3e0dc338d9dc15b9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Apr 2016 16:56:34 +0000
+Subject: [PATCH] add knobs to disable/enable tests
+
+Some tests do not compile on musl libc
+in general its good to have such a knob
+since not all builds may want to enable
+tests
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am  |  6 +++++-
+ configure.ac | 12 ++++++++++--
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6a3ed9e..0c29b3e 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -42,7 +42,11 @@ endif
+ 
+ nodist_include_HEADERS = include/libunwind-common.h
+ 
+-SUBDIRS = src tests
++SUBDIRS = src
++
++if CONFIG_TESTS
++SUBDIRS += tests
++endif
+ 
+ if CONFIG_DOCS
+ SUBDIRS += doc
+diff --git a/configure.ac b/configure.ac
+index 85d78f8..d362387 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -129,6 +129,10 @@ AC_ARG_ENABLE(documentation,
+ 	AS_HELP_STRING([--disable-documentation],[Disable generating the man pages]),,
+ 	[enable_documentation=yes])
+ 
++AC_ARG_ENABLE(tests,
++	AS_HELP_STRING([--disable-tests],[Disable building tests]),,
++	[enable_tests=yes])
++
+ AC_MSG_CHECKING([if we should build libunwind-setjmp])
+ AC_MSG_RESULT([$enable_setjmp])
+ 
+@@ -395,9 +399,13 @@ AM_CONDITIONAL([CONFIG_DOCS], [test x$enable_documentation = xyes])
+ if test "x$enable_documentation" = "xyes"; then
+   AC_CONFIG_FILES(doc/Makefile doc/common.tex)
+ fi
++AM_CONDITIONAL([CONFIG_TESTS], [test x$enable_tests = xyes])
++if test "x$enable_tests" = "xyes"; then
++  AC_CONFIG_FILES(tests/Makefile tests/check-namespace.sh)
++fi
++
+ 
+-AC_CONFIG_FILES(Makefile src/Makefile tests/Makefile tests/check-namespace.sh
+-		include/libunwind-common.h
++AC_CONFIG_FILES(Makefile src/Makefile include/libunwind-common.h
+                 include/libunwind.h include/tdep/libunwind_i.h)
+ AC_CONFIG_FILES(src/unwind/libunwind.pc src/coredump/libunwind-coredump.pc
+                 src/ptrace/libunwind-ptrace.pc src/setjmp/libunwind-setjmp.pc
+-- 
+1.8.3.1
+
diff --git a/meta/recipes-support/libunwind/libunwind_git.bb b/meta/recipes-support/libunwind/libunwind_git.bb
index 0949a32..cc8c2b5 100644
--- a/meta/recipes-support/libunwind/libunwind_git.bb
+++ b/meta/recipes-support/libunwind/libunwind_git.bb
@@ -9,9 +9,10 @@ SRC_URI = "git://git.sv.gnu.org/libunwind.git \
            file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \
            file://0001-x86-Stub-out-x86_local_resume.patch \
            file://0001-Fix-build-on-mips-musl.patch \
-"
+           file://0001-add-knobs-to-disable-enable-tests.patch \
+           "
 
-EXTRA_OECONF_append_libc-musl = " --disable-documentation"
+EXTRA_OECONF_append_libc-musl = " --disable-documentation --disable-tests "
 
 # http://errors.yoctoproject.org/Errors/Details/20487/
 ARM_INSTRUCTION_SET_armv4 = "arm"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 33/42] gdb: Upgrade to 7.11
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (31 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 32/42] libunwind: Add a confgure option for tests Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-12  5:48   ` Khem Raj
  2016-05-11 17:35 ` [PATCH 34/42] gdb: Disable binutils components Khem Raj
                   ` (10 subsequent siblings)
  43 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../gdb/{gdb-7.10.1.inc => gdb-7.11.inc}           |  0
 meta/recipes-devtools/gdb/gdb-common.inc           | 20 +++++++--
 ...nadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} |  0
 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb      |  4 --
 meta/recipes-devtools/gdb/gdb-cross_7.11.bb        |  2 +
 meta/recipes-devtools/gdb/gdb.inc                  | 10 -----
 .../gdb/0001-include-sys-types.h-for-mode_t.patch  | 10 ++---
 ...002-make-man-install-relative-to-DESTDIR.patch} |  8 ++--
 ...-linux-nat-Define-_ABIO32-if-not-defined.patch} |  8 ++--
 ...efine-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} | 11 ++---
 ...-support-for-Renesas-SH-sh4-architecture.patch} | 32 +++++++--------
 ...-libreadline.a-when-using-disable-static.patch} | 21 ++++++++--
 ...gidefs.h.patch => 0007-use-asm-sgidefs.h.patch} | 15 +++----
 ...0008-Use-exorted-definitions-of-SIGRTMIN.patch} | 44 +++++++++-----------
 ...AGS.patch => 0009-Change-order-of-CFLAGS.patch} | 18 ++++----
 .../0010-resolve-restrict-keyword-conflict.patch   | 48 ++++++++++++++++++++++
 .../gdb/{gdb_7.10.1.bb => gdb_7.11.bb}             |  0
 17 files changed, 155 insertions(+), 96 deletions(-)
 rename meta/recipes-devtools/gdb/{gdb-7.10.1.inc => gdb-7.11.inc} (100%)
 rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} (100%)
 delete mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
 create mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.11.bb
 rename meta/recipes-devtools/gdb/gdb/{0001-make-man-install-relative-to-DESTDIR.patch => 0002-make-man-install-relative-to-DESTDIR.patch} (78%)
 rename meta/recipes-devtools/gdb/gdb/{0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch => 0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch} (84%)
 rename meta/recipes-devtools/gdb/gdb/{0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch => 0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} (83%)
 rename meta/recipes-devtools/gdb/gdb/{0003-Add-support-for-Renesas-SH-sh4-architecture.patch => 0005-Add-support-for-Renesas-SH-sh4-architecture.patch} (97%)
 rename meta/recipes-devtools/gdb/gdb/{force-readline-static.patch => 0006-Dont-disable-libreadline.a-when-using-disable-static.patch} (67%)
 rename meta/recipes-devtools/gdb/gdb/{0001-use-asm-sgidefs.h.patch => 0007-use-asm-sgidefs.h.patch} (69%)
 rename meta/recipes-devtools/gdb/gdb/{0001-Use-exported-definitions-of-SIGRTMIN.patch => 0008-Use-exorted-definitions-of-SIGRTMIN.patch} (49%)
 rename meta/recipes-devtools/gdb/gdb/{0002-Change-order-of-CFLAGS.patch => 0009-Change-order-of-CFLAGS.patch} (69%)
 create mode 100644 meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
 rename meta/recipes-devtools/gdb/{gdb_7.10.1.bb => gdb_7.11.bb} (100%)

diff --git a/meta/recipes-devtools/gdb/gdb-7.10.1.inc b/meta/recipes-devtools/gdb/gdb-7.11.inc
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-7.10.1.inc
rename to meta/recipes-devtools/gdb/gdb-7.11.inc
diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
index f208055..0e6ecd4 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -16,8 +16,6 @@ LTTNGUST_mips64eln32 = ""
 LTTNGUST_sh4 = ""
 LTTNGUST_libc-musl = ""
 
-INC_PR = "r0"
-
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
 		file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
 		file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
@@ -25,8 +23,22 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
 
 inherit autotools texinfo
 
-SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
-          "
+SRCREV = "1a982b689ce4e20523bdf69e47fdd574c4f63934"
+
+SRC_URI = "git://sourceware.org/git/binutils-gdb.git;branch=gdb-7.11-branch \
+           file://0001-include-sys-types.h-for-mode_t.patch \
+           file://0002-make-man-install-relative-to-DESTDIR.patch \
+           file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
+           file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
+           file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \
+           file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \
+           file://0007-use-asm-sgidefs.h.patch \
+           file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \
+           file://0009-Change-order-of-CFLAGS.patch \
+           file://0010-resolve-restrict-keyword-conflict.patch \
+"
+
+S = "${WORKDIR}/git"
 
 B = "${WORKDIR}/build-${TARGET_SYS}"
 
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb
rename to meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.bb
diff --git a/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb b/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
deleted file mode 100644
index 3a95cfb..0000000
--- a/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require gdb-cross.inc
-require gdb-${PV}.inc
-
-SRC_URI += "file://0001-make-man-install-relative-to-DESTDIR.patch"
diff --git a/meta/recipes-devtools/gdb/gdb-cross_7.11.bb b/meta/recipes-devtools/gdb/gdb-cross_7.11.bb
new file mode 100644
index 0000000..50cf159
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb-cross_7.11.bb
@@ -0,0 +1,2 @@
+require gdb-cross.inc
+require gdb-${PV}.inc
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index 5a2067e..52119a0 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -2,16 +2,6 @@ require gdb-common.inc
 
 inherit gettext
 
-SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
-           file://0002-Change-order-of-CFLAGS.patch \
-           file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \
-           file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
-           file://0001-include-sys-types.h-for-mode_t.patch \
-           file://0001-use-asm-sgidefs.h.patch \
-           file://force-readline-static.patch \
-           file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
-           file://0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
-           "
 #LDFLAGS_append = " -s"
 #export CFLAGS_append=" -L${STAGING_LIBDIR}"
 
diff --git a/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch b/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
index a0292e4..0042c00 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
+++ b/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
@@ -1,7 +1,7 @@
-From acbee4edacb80b5eeaff2480712fe98e56443997 Mon Sep 17 00:00:00 2001
+From fddd7178915968acf680814411b8b3cb137d0587 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 19 Jan 2016 18:18:52 -0800
-Subject: [PATCH] include sys/types.h for mode_t
+Subject: [PATCH 01/10] include sys/types.h for mode_t
 
 mode_t is used in target.h, so we need to include sys/types.h to get the
 defintion
@@ -14,10 +14,10 @@ Upstream-Status: Pending
  1 file changed, 1 insertion(+)
 
 diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h
-index 9a40867..aaecab9 100644
+index 5af2051..f42c510 100644
 --- a/gdb/gdbserver/target.h
 +++ b/gdb/gdbserver/target.h
-@@ -27,6 +27,7 @@
+@@ -28,6 +28,7 @@
  #include "target/waitstatus.h"
  #include "mem-break.h"
  #include "btrace-common.h"
@@ -26,5 +26,5 @@ index 9a40867..aaecab9 100644
  struct emit_ops;
  struct buffer;
 -- 
-2.7.0
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch b/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
similarity index 78%
rename from meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
rename to meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
index 6996c18..defed62 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
+++ b/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
@@ -1,7 +1,7 @@
-From 12b0506951460c3cc37d775478d024db3f95e9d8 Mon Sep 17 00:00:00 2001
+From 3229cb09033eeb5003a08d91fa9d43be8ba4c86b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 02:27:55 +0000
-Subject: [PATCH 1/3] make man install relative to DESTDIR
+Subject: [PATCH 02/10] make man install relative to DESTDIR
 
 Upstream-Status: Pending
 
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in
-index d49a93b..2121c46 100644
+index a05f507..8d0fa64 100644
 --- a/sim/common/Makefile.in
 +++ b/sim/common/Makefile.in
 @@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias)
@@ -24,5 +24,5 @@ index d49a93b..2121c46 100644
  includedir = @includedir@
  
 -- 
-2.1.4
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
similarity index 84%
rename from meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
rename to meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
index 3173952..bac7939 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
+++ b/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
@@ -1,7 +1,7 @@
-From e92f8932ef488de2a56db4299131ce6a4eb170bd Mon Sep 17 00:00:00 2001
+From 88e67caed662d8344c8db56176c9f1221e6cd2a2 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 23 Mar 2016 06:30:09 +0000
-Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined
+Subject: [PATCH 03/10] mips-linux-nat: Define _ABIO32 if not defined
 
 This helps building gdb on mips64 on musl, since
 musl does not provide sgidefs.h this define is
@@ -17,7 +17,7 @@ Upstream-Status: Pending
  1 file changed, 5 insertions(+)
 
 diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index fd5c705..753f29d 100644
+index bfe9fcb..449b43a 100644
 --- a/gdb/mips-linux-nat.c
 +++ b/gdb/mips-linux-nat.c
 @@ -46,6 +46,11 @@
@@ -33,5 +33,5 @@ index fd5c705..753f29d 100644
     we'll clear this and use PTRACE_PEEKUSER instead.  */
  static int have_ptrace_regsets = 1;
 -- 
-1.8.3.1
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
similarity index 83%
rename from meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
rename to meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
index 342f1ce..a5fe2a2 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ b/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -1,7 +1,8 @@
-From 33a2cdb731298b73277507f01b9a21cd340c5b5c Mon Sep 17 00:00:00 2001
+From bec564eb454bc7fc6ecfcb573aa53040bf39c1d5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 30 Apr 2016 16:46:03 +0000
-Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
+Subject: [PATCH 04/10] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC
+ systems
 
 Upstream-Status: Pending
 
@@ -12,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  2 files changed, 12 insertions(+)
 
 diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
-index 188fac0..f71d5ab 100644
+index 2145c50..777905d 100644
 --- a/gdb/gdbserver/linux-ppc-low.c
 +++ b/gdb/gdbserver/linux-ppc-low.c
 @@ -21,7 +21,13 @@
@@ -30,7 +31,7 @@ index 188fac0..f71d5ab 100644
  #include "nat/ppc-linux.h"
  
 diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
-index 0ff2223..c978daa 100644
+index 85fbcd8..cbec9c5 100644
 --- a/gdb/nat/ppc-linux.h
 +++ b/gdb/nat/ppc-linux.h
 @@ -18,7 +18,13 @@
@@ -48,5 +49,5 @@ index 0ff2223..c978daa 100644
  
  /* This sometimes isn't defined.  */
 -- 
-1.8.3.1
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch b/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
similarity index 97%
rename from meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch
rename to meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
index 4a3e22c..8809e6f 100644
--- a/meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch
+++ b/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
@@ -1,7 +1,7 @@
-From 407cb13cfb70697f45dfb761304e005e1ecbd0e9 Mon Sep 17 00:00:00 2001
+From 8c5fe58c5a0044ddb517a41b277ed27fb3d3bedc Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 2 Mar 2015 02:31:12 +0000
-Subject: [PATCH 3/3] Add support for Renesas SH (sh4) architecture.
+Subject: [PATCH 05/10] Add support for Renesas SH (sh4) architecture.
 
 gdb (7.4-1~cvs20111117.2) experimental; urgency=low
  .
@@ -27,10 +27,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  11 files changed, 617 insertions(+), 29 deletions(-)
 
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 7937801..63baf81 100644
+index ec2af52..df8e84d 100644
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -1707,6 +1707,7 @@ ALLDEPFILES = \
+@@ -1736,6 +1736,7 @@ ALLDEPFILES = \
  	score-tdep.c \
  	ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \
  	sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
@@ -39,10 +39,10 @@ index 7937801..63baf81 100644
  	solib-svr4.c \
  	sparc-linux-nat.c sparc-linux-tdep.c \
 diff --git a/gdb/configure.host b/gdb/configure.host
-index d07be4b..b6391c5 100644
+index ef265eb..322a1e2 100644
 --- a/gdb/configure.host
 +++ b/gdb/configure.host
-@@ -150,6 +150,7 @@ powerpc*-*-linux*)	gdb_host=linux ;;
+@@ -149,6 +149,7 @@ powerpc*-*-linux*)	gdb_host=linux ;;
  
  s390*-*-linux*)		gdb_host=linux ;;
  
@@ -51,7 +51,7 @@ index d07be4b..b6391c5 100644
  			gdb_host=nbsd ;;
  sh*-*-openbsd*)		gdb_host=nbsd ;;
 diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
-index 2ff2ee8..1a11262 100644
+index 2418d25..ac8ea9e 100644
 --- a/gdb/sh-linux-tdep.c
 +++ b/gdb/sh-linux-tdep.c
 @@ -18,14 +18,37 @@
@@ -599,7 +599,7 @@ index 2ff2ee8..1a11262 100644
  
    /* GNU/Linux uses SVR4-style shared libraries.  */
 diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
-index 82cf2f4..b443e46 100644
+index 336b48e..847b271 100644
 --- a/gdb/sh-tdep.c
 +++ b/gdb/sh-tdep.c
 @@ -21,6 +21,9 @@
@@ -702,7 +702,7 @@ index 82cf2f4..b443e46 100644
  
    if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
      return frame_unwind_got_memory (this_frame, regnum,
-@@ -2237,8 +2224,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
+@@ -2240,8 +2227,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
  static struct gdbarch *
  sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
  {
@@ -712,7 +712,7 @@ index 82cf2f4..b443e46 100644
  
    /* SH5 is handled entirely in sh64-tdep.c.  */
    if (info.bfd_arch_info->mach == bfd_mach_sh5)
-@@ -2254,6 +2241,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2257,6 +2244,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
    tdep = XCNEW (struct gdbarch_tdep);
    gdbarch = gdbarch_alloc (&info, tdep);
  
@@ -731,7 +731,7 @@ index 82cf2f4..b443e46 100644
    set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
    set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
    set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
-@@ -2404,10 +2403,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -2407,10 +2406,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
        break;
      }
  
@@ -745,7 +745,7 @@ index 82cf2f4..b443e46 100644
    frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
  
 diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
-index fc671a5..699f59f 100644
+index 666968f..62c65b5 100644
 --- a/gdb/sh-tdep.h
 +++ b/gdb/sh-tdep.h
 @@ -21,6 +21,12 @@
@@ -828,10 +828,10 @@ index fc671a5..699f59f 100644
       where each general-purpose register is stored inside the associated
       core file section.  */
 diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
-index 8854af0..ef44682 100644
+index 6d9aef8..5b66b42 100644
 --- a/gdb/testsuite/gdb.asm/asm-source.exp
 +++ b/gdb/testsuite/gdb.asm/asm-source.exp
-@@ -113,6 +113,11 @@ switch -glob -- [istarget] {
+@@ -116,6 +116,11 @@ switch -glob -- [istarget] {
              append link-flags " -m elf32ppc"
          }
      }
@@ -873,7 +873,7 @@ index 424e1b8..0de2e7b 100644
  void
  handle_USR1 (int sig)
 diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c
-index 424e1b8..952aaf2 100644
+index 424e1b8..952aaf21 100644
 --- a/gdb/testsuite/gdb.base/annota3.c
 +++ b/gdb/testsuite/gdb.base/annota3.c
 @@ -1,6 +1,10 @@
@@ -917,5 +917,5 @@ index 7566068..1205a9b 100644
  static int count = 0;
  
 -- 
-2.1.4
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/force-readline-static.patch b/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
similarity index 67%
rename from meta/recipes-devtools/gdb/gdb/force-readline-static.patch
rename to meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
index d34ee8c..394d26d 100644
--- a/meta/recipes-devtools/gdb/gdb/force-readline-static.patch
+++ b/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
@@ -1,3 +1,8 @@
+From f3932cb2960fd54655a448b13d5a5b80f356f8de Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Apr 2016 15:25:03 -0700
+Subject: [PATCH 06/10] Dont disable libreadline.a when using --disable-static
+
 If gdb is configured with --disable-static then this is dutifully passed to
 readline which then disables libreadline.a, which causes a problem when gdb
 tries to link against that.
@@ -7,12 +12,17 @@ the sub-configure.
 
 Upstream-Status: Pending
 Signed-off-by: Ross Burton <ross.burton@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.def | 3 ++-
+ Makefile.in  | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile.def b/Makefile.def
-index 4394188..05c661a 100644
+index ea8453e..0fc66c6 100644
 --- a/Makefile.def
 +++ b/Makefile.def
-@@ -100,7 +100,8 @@ host_modules= { module= libiconv;
+@@ -104,7 +104,8 @@ host_modules= { module= libiconv;
  		missing= install-html;
  		missing= install-info; };
  host_modules= { module= m4; };
@@ -23,10 +33,10 @@ index 4394188..05c661a 100644
  host_modules= { module= sim; };
  host_modules= { module= texinfo; no_install= true; };
 diff --git a/Makefile.in b/Makefile.in
-index 61e0ab6..837f36e 100644
+index 2733c4d..3e04e80 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -24971,7 +24971,7 @@ configure-readline:
+@@ -25380,7 +25380,7 @@ configure-readline:
  	  $$s/$$module_srcdir/configure \
  	  --srcdir=$${topdir}/$$module_srcdir \
  	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
@@ -35,3 +45,6 @@ index 61e0ab6..837f36e 100644
  	  || exit 1
  @endif readline
  
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch b/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
similarity index 69%
rename from meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch
rename to meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
index eaec390..f32f8ee 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch
+++ b/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
-From 677b5b56135141c0d259e370aacd0e11c810aa15 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Fri, 5 Feb 2016 14:00:00 -0800
-Subject: [PATCH] use <asm/sgidefs.h>
+From 048675a915a72989f2613386975730da016e7c5d Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <amccurdy@gmail.com>
+Date: Sat, 30 Apr 2016 15:29:06 -0700
+Subject: [PATCH 07/10] use <asm/sgidefs.h>
 
 Build fix for MIPS with musl libc
 
@@ -13,12 +13,13 @@ instead.
 Upstream-Status: Pending
 
 Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  gdb/mips-linux-nat.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
-index a36bb63..fd5c705 100644
+index 449b43a..09603da 100644
 --- a/gdb/mips-linux-nat.c
 +++ b/gdb/mips-linux-nat.c
 @@ -31,7 +31,7 @@
@@ -27,9 +28,9 @@ index a36bb63..fd5c705 100644
  
 -#include <sgidefs.h>
 +#include <asm/sgidefs.h>
- #include <sys/ptrace.h>
+ #include "nat/gdb_ptrace.h"
  #include <asm/ptrace.h>
  
 -- 
-1.9.1
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch b/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
similarity index 49%
rename from meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch
rename to meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
index 5f0c096..7e58b61 100644
--- a/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch
+++ b/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
@@ -1,7 +1,7 @@
-From 2f97e89e9e4e5797d0d973e1d05c1f44c46b4912 Mon Sep 17 00:00:00 2001
+From e54ead9d81f4d38412751b815f909db3cb144bb1 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 5 Jun 2015 20:21:38 -0700
-Subject: [PATCH] Use exorted definitions of SIGRTMIN
+Date: Sat, 30 Apr 2016 15:31:40 -0700
+Subject: [PATCH 08/10] Use exorted definitions of SIGRTMIN
 
 Define W_STOPCODE if not defined already
 
@@ -11,38 +11,34 @@ may not provide them
 Fixes
 https://sourceware.org/bugzilla/show_bug.cgi?id=13012
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
 Upstream-Status: Submitted
 
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
  gdb/linux-nat.c     | 4 ++--
  gdb/nat/linux-nat.h | 4 ++++
  2 files changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
-index 396c30c..50320ee 100644
+index 0829bcb..3b8a896 100644
 --- a/gdb/linux-nat.c
 +++ b/gdb/linux-nat.c
-@@ -4856,10 +4856,10 @@ lin_thread_get_thread_signals (sigset_t *set)
-      fortunately they don't change!  */
- 
-   if (restart == 0)
--    restart = __SIGRTMIN;
-+    restart = SIGRTMIN;
- 
-   if (cancel == 0)
--    cancel = __SIGRTMIN + 1;
-+    cancel = SIGRTMIN + 1;
- 
-   sigaddset (set, restart);
-   sigaddset (set, cancel);
+@@ -4845,6 +4845,6 @@ lin_thread_get_thread_signals (sigset_t *set)
+   /* NPTL reserves the first two RT signals, but does not provide any
+      way for the debugger to query the signal numbers - fortunately
+      they don't change.  */
+-  sigaddset (set, __SIGRTMIN);
+-  sigaddset (set, __SIGRTMIN + 1);
++  sigaddset (set, SIGRTMIN);
++  sigaddset (set, SIGRTMIN + 1);
+ }
 diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
-index 83a6d91..efbe0fd 100644
+index 2b485db..d058afc 100644
 --- a/gdb/nat/linux-nat.h
 +++ b/gdb/nat/linux-nat.h
-@@ -25,4 +25,8 @@
-    instead SIGTRAP with bit 7 set.  */
- #define SYSCALL_SIGTRAP (SIGTRAP | 0x80)
+@@ -85,4 +85,8 @@ extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp);
+ 
+ extern void linux_stop_lwp (struct lwp_info *lwp);
  
 +#ifndef W_STOPCODE
 +#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
@@ -50,5 +46,5 @@ index 83a6d91..efbe0fd 100644
 +
  #endif /* LINUX_NAT_H */
 -- 
-2.1.4
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch b/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
similarity index 69%
rename from meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch
rename to meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
index bccb45f..a230047 100644
--- a/meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch
+++ b/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
@@ -1,7 +1,7 @@
-From 262ccc4fdb2a3df0f16c61a807046964ae7729c9 Mon Sep 17 00:00:00 2001
+From ba0bbf887d4911ccee9df57cb13eafb1de34bb31 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Mar 2015 02:29:23 +0000
-Subject: [PATCH 2/3] Change order of CFLAGS
+Date: Sat, 30 Apr 2016 15:35:39 -0700
+Subject: [PATCH 09/10] Change order of CFLAGS
 
 Lets us override Werror if need be
 
@@ -13,22 +13,22 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
-index 1ed2ec8..0cef95b 100644
+index 1e874e3..91e8550 100644
 --- a/gdb/gdbserver/Makefile.in
 +++ b/gdb/gdbserver/Makefile.in
-@@ -131,10 +131,10 @@ CFLAGS = @CFLAGS@
+@@ -138,10 +138,10 @@ CXXFLAGS = @CXXFLAGS@
  CPPFLAGS = @CPPFLAGS@
  
  # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
--INTERNAL_CFLAGS_BASE =  ${CFLAGS} ${GLOBAL_CFLAGS} \
-+INTERNAL_CFLAGS_BASE = ${GLOBAL_CFLAGS} \
+-INTERNAL_CFLAGS_BASE =  ${COMPILER_CFLAGS} ${GLOBAL_CFLAGS} \
++INTERNAL_CFLAGS_BASE =  ${GLOBAL_CFLAGS} \
  	${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS}
  INTERNAL_WARN_CFLAGS =  ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
 -INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
-+INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${CFLAGS} -DGDBSERVER
++INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${COMPILER_CFLAGS} -DGDBSERVER
  
  # LDFLAGS is specifically reserved for setting from the command line
  # when running make.
 -- 
-2.1.4
+2.8.2
 
diff --git a/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch b/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
new file mode 100644
index 0000000..16c34c7
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
@@ -0,0 +1,48 @@
+From 5a9ccb8c0728b658fc4f7f0f7b36873c64274f10 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 10 May 2016 08:47:05 -0700
+Subject: [PATCH 10/10] resolve restrict keyword conflict
+
+GCC detects that we call 'restrict' as param name in function
+signatures and complains since both params are called 'restrict'
+therefore we use __restrict to denote the C99 keywork
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdb/gnulib/import/sys_time.in.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h
+index c556c5d..2a6107f 100644
+--- a/gdb/gnulib/import/sys_time.in.h
++++ b/gdb/gnulib/import/sys_time.in.h
+@@ -93,20 +93,20 @@ struct timeval
+ #   define gettimeofday rpl_gettimeofday
+ #  endif
+ _GL_FUNCDECL_RPL (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict)
++                  (struct timeval *__restrict, void *__restrict)
+                   _GL_ARG_NONNULL ((1)));
+ _GL_CXXALIAS_RPL (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict));
++                  (struct timeval *__restrict, void *__restrict));
+ # else
+ #  if !@HAVE_GETTIMEOFDAY@
+ _GL_FUNCDECL_SYS (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict)
++                  (struct timeval *__restrict, void *__restrict)
+                   _GL_ARG_NONNULL ((1)));
+ #  endif
+ /* Need to cast, because on glibc systems, by default, the second argument is
+                                                   struct timezone *.  */
+ _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
+-                       (struct timeval *restrict, void *restrict));
++                       (struct timeval *__restrict, void *__restrict));
+ # endif
+ _GL_CXXALIASWARN (gettimeofday);
+ #elif defined GNULIB_POSIXCHECK
+-- 
+2.8.2
+
diff --git a/meta/recipes-devtools/gdb/gdb_7.10.1.bb b/meta/recipes-devtools/gdb/gdb_7.11.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb_7.10.1.bb
rename to meta/recipes-devtools/gdb/gdb_7.11.bb
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 34/42] gdb: Disable binutils components
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (32 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 33/42] gdb: Upgrade to 7.11 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 35/42] tcmode-default: Bump gcc,glibc,gdb Khem Raj
                   ` (9 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

when building from git we also get the binutils
components since the tree for gdb and binutils is
same, this can then casue building binutils with
gdb as well and cause packaging conflicts, hence
disable the binutils pieces in configure itself

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gdb/gdb-common.inc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
index 0e6ecd4..1d1cf8f 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -52,7 +52,10 @@ EXTRA_OECONF = "--disable-gdbtk --disable-tui --disable-x --disable-werror \
                 ${GDBPROPREFIX} ${EXPAT} \
                 ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \
                 --disable-rpath \
-               "
+                --disable-gas --disable-binutils \
+                --disable-ld --disable-gold \
+                --disable-gprof \
+"
 
 PACKAGECONFIG ??= "readline"
 # Use --without-system-readline to compile with readline 5.
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 35/42] tcmode-default: Bump gcc,glibc,gdb
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (33 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 34/42] gdb: Disable binutils components Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 36/42] bitbake: Oldest kernel for nios2 is 3.19 Khem Raj
                   ` (8 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

gcc 6.1, glibc 2.24, gdb 7.11

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/distro/include/tcmode-default.inc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index c412420..d3a4351 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -22,11 +22,11 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
 PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
 PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
 
-GCCVERSION ?= "5.3%"
+GCCVERSION ?= "6.1%"
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.26%"
-GDBVERSION ?= "7.10%"
-GLIBCVERSION ?= "2.23"
+GDBVERSION ?= "7.11%"
+GLIBCVERSION ?= "2.24"
 UCLIBCVERSION ?= "1.0%"
 LINUXLIBCVERSION ?= "4.4"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 36/42] bitbake: Oldest kernel for nios2 is 3.19
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (34 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 35/42] tcmode-default: Bump gcc,glibc,gdb Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 37/42] musl: Create symlinks for stub libraries Khem Raj
                   ` (7 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core; +Cc: Marek Vasut

From: Marek Vasut <marex@denx.de>

The oldest kernel version for nios2 is 3.19.0, set it so, otherwise
qemu-nios2 -r ${OLDEST_KERNEL} fails with "FATAL: kernel too old"
message from glibc.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/bitbake.conf | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 9c865d7..382dadc 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -405,6 +405,8 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 
 OLDEST_KERNEL = "3.2.0"
 OLDEST_KERNEL_aarch64 = "3.14"
+OLDEST_KERNEL_nios2 = "3.19"
+
 STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
 STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 37/42] musl: Create symlinks for stub libraries
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (35 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 36/42] bitbake: Oldest kernel for nios2 is 3.19 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 38/42] mdadm: Fix build with clang Khem Raj
                   ` (6 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Some libraries e.g. libm.so are needed to be
created so that SDKs built with distros which
disable static librararies can have the stubs
and since default linker script requires -lm
this helps in compiling applications with SDK

there are .a equivalents for these libraries
but they do not land in SDKs when static libs
are disabled distrowide

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/musl/musl_git.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index 1e33b2d..dd525b0 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -52,6 +52,10 @@ do_install() {
 
 	install -d ${D}${bindir}
 	ln -s ../../${libdir}/libc.so ${D}${bindir}/ldd
+	for l in crypt dl m pthread resolv rt util xnet
+	do
+		ln -s libc.so ${D}${libdir}/lib$l.so
+	done
 }
 
 RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 38/42] mdadm: Fix build with clang
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (36 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 37/42] musl: Create symlinks for stub libraries Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 39/42] distcc: Upgrade to 3.2 Khem Raj
                   ` (5 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...dadm.h-Undefine-dprintf-before-redefining.patch | 43 ++++++++++++++++++++++
 meta/recipes-extended/mdadm/mdadm_3.4.bb           |  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch

diff --git a/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch b/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
new file mode 100644
index 0000000..4cf8092
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
@@ -0,0 +1,43 @@
+From 6d369e8f226594632ce4260129509daf7030de0a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 9 May 2016 22:03:57 +0000
+Subject: [PATCH] mdadm.h: Undefine dprintf before redefining
+
+dprintf is also defined in libc see
+usr/include/bits/stdio2.h, this comes into
+play especially when fortify sources is enabled
+and compilers like clang reports the override
+
+In file included from policy.c:25:
+./mdadm.h:1562:9: error: 'dprintf' macro redefined [-Werror,-Wmacro-redefined]
+        ^
+/mnt/oe/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/bits/stdio2.h:145:12: note: previous definition is here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ mdadm.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/mdadm.h b/mdadm.h
+index 230e60f..8c8f4d1 100755
+--- a/mdadm.h
++++ b/mdadm.h
+@@ -1554,11 +1554,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container)
+ }
+ 
+ #ifdef DEBUG
++#undef dprintf
+ #define dprintf(fmt, arg...) \
+ 	fprintf(stderr, "%s: %s: "fmt, Name, __func__, ##arg)
+ #define dprintf_cont(fmt, arg...) \
+ 	fprintf(stderr, fmt, ##arg)
+ #else
++#undef dprintf
+ #define dprintf(fmt, arg...) \
+         ({ if (0) fprintf(stderr, "%s: %s: " fmt, Name, __func__, ##arg); 0; })
+ #define dprintf_cont(fmt, arg...) \
+-- 
+1.9.1
+
diff --git a/meta/recipes-extended/mdadm/mdadm_3.4.bb b/meta/recipes-extended/mdadm/mdadm_3.4.bb
index 0e55de4..513a3ce 100644
--- a/meta/recipes-extended/mdadm/mdadm_3.4.bb
+++ b/meta/recipes-extended/mdadm/mdadm_3.4.bb
@@ -20,6 +20,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
            file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
            file://run-ptest \
            file://0001-raid6check-Fix-if-else-indentation.patch \
+           file://0001-mdadm.h-Undefine-dprintf-before-redefining.patch \
            "
 SRC_URI[md5sum] = "04b8b21f637540350f8517c7e68d3c63"
 SRC_URI[sha256sum] = "27d0be4627d38a12ddcd1c1c3721d649d4e89e1093914497e22b57245cda8808"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 39/42] distcc: Upgrade to 3.2
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (37 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 38/42] mdadm: Fix build with clang Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 40/42] ruby: Upgrade to 2.2.5 Khem Raj
                   ` (4 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Helps compiling with clang as a side effect

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../distcc/{distcc_3.1.bb => distcc_3.2.bb}                |  8 ++++----
 meta/recipes-devtools/distcc/files/separatebuilddir.patch  | 14 +++++++-------
 2 files changed, 11 insertions(+), 11 deletions(-)
 rename meta/recipes-devtools/distcc/{distcc_3.1.bb => distcc_3.2.bb} (91%)

diff --git a/meta/recipes-devtools/distcc/distcc_3.1.bb b/meta/recipes-devtools/distcc/distcc_3.2.bb
similarity index 91%
rename from meta/recipes-devtools/distcc/distcc_3.1.bb
rename to meta/recipes-devtools/distcc/distcc_3.2.bb
index f8879c8..600ec96 100644
--- a/meta/recipes-devtools/distcc/distcc_3.1.bb
+++ b/meta/recipes-devtools/distcc/distcc_3.2.bb
@@ -5,7 +5,7 @@ SECTION = "devel"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
-DEPENDS = "avahi"
+DEPENDS = "avahi binutils"
 
 GTKCONFIG = "gtk"
 GTKCONFIG_libc-uclibc = ""
@@ -17,19 +17,19 @@ PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
 
 RRECOMMENDS_${PN} = "avahi-daemon"
 
-SRC_URI = "git://github.com/distcc/distcc.git \
+SRC_URI = "git://github.com/distcc/distcc.git;branch=${PV} \
            file://separatebuilddir.patch \
            file://0001-zeroconf-Include-fcntl.h.patch \
            file://default \
            file://distccmon-gnome.desktop \
            file://distcc \
            file://distcc.service"
-SRCREV = "9a172d3d20042754a30c0cd9a5d63fd1a8120c31"
+SRCREV = "d8b18df3e9dcbe4f092bed565835d3975e99432c"
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig update-rc.d useradd systemd
 
-EXTRA_OECONF += "--disable-Werror PYTHON=/dev/null"
+EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode"
 
 USERADD_PACKAGES = "${PN}"
 USERADD_PARAM_${PN} = "--system \
diff --git a/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/meta/recipes-devtools/distcc/files/separatebuilddir.patch
index b9e3e42..7580b55 100644
--- a/meta/recipes-devtools/distcc/files/separatebuilddir.patch
+++ b/meta/recipes-devtools/distcc/files/separatebuilddir.patch
@@ -6,16 +6,16 @@ RP 2013/3/8
 
 Upstream-Status: Pending
 
-Index: distcc-3.1/Makefile.in
+Index: git/Makefile.in
 ===================================================================
---- distcc-3.1.orig/Makefile.in	2008-12-02 21:50:31.000000000 +0000
-+++ distcc-3.1/Makefile.in	2013-03-08 10:49:24.224400937 +0000
-@@ -1088,7 +1088,7 @@
+--- git.orig/Makefile.in
++++ git/Makefile.in
+@@ -1117,7 +1117,7 @@ install-example: $(example_DOCS)
  install-gnome-data: $(gnome_data)
  	$(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)"
- 	for p in $(gnome_data); do				\
--	$(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
-+	$(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+ 	for p in $(gnome_data); do \
+-	  $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
++	  $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
  	done
  
  install-conf: $(conf_files) $(default_files)
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 40/42] ruby: Upgrade to 2.2.5
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (38 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 39/42] distcc: Upgrade to 3.2 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 41/42] mpfr: Upgrade to 3.1.4 Khem Raj
                   ` (3 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

This is latest in 2.2 series, helps with compile
using clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb} | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
 rename meta/recipes-devtools/ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb} (86%)

diff --git a/meta/recipes-devtools/ruby/ruby_2.2.2.bb b/meta/recipes-devtools/ruby/ruby_2.2.5.bb
similarity index 86%
rename from meta/recipes-devtools/ruby/ruby_2.2.2.bb
rename to meta/recipes-devtools/ruby/ruby_2.2.5.bb
index 6715023..5a64582 100644
--- a/meta/recipes-devtools/ruby/ruby_2.2.2.bb
+++ b/meta/recipes-devtools/ruby/ruby_2.2.5.bb
@@ -1,7 +1,7 @@
 require ruby.inc
 
-SRC_URI[md5sum] = "326e99ddc75381c7b50c85f7089f3260"
-SRC_URI[sha256sum] = "5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44"
+SRC_URI[md5sum] = "bd8e349d4fb2c75d90817649674f94be"
+SRC_URI[sha256sum] = "30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3"
 
 # it's unknown to configure script, but then passed to extconf.rb
 # maybe it's not really needed as we're hardcoding the result with
@@ -23,10 +23,6 @@ EXTRA_OECONF = "\
     --enable-load-relative \
 "
 
-EXTRA_OEMAKE = " \
-    LIBRUBYARG='-lruby-static' \
-"
-
 do_install() {
     oe_runmake 'DESTDIR=${D}' install
 }
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 41/42] mpfr: Upgrade to 3.1.4
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (39 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 40/42] ruby: Upgrade to 2.2.5 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-11 17:35 ` [PATCH 42/42] gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use Khem Raj
                   ` (2 subsequent siblings)
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-support/mpfr/{mpfr-3.1.3 => mpfr}/long-long-thumb.patch | 0
 meta/recipes-support/mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb}           | 5 ++---
 2 files changed, 2 insertions(+), 3 deletions(-)
 rename meta/recipes-support/mpfr/{mpfr-3.1.3 => mpfr}/long-long-thumb.patch (100%)
 rename meta/recipes-support/mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb} (75%)

diff --git a/meta/recipes-support/mpfr/mpfr-3.1.3/long-long-thumb.patch b/meta/recipes-support/mpfr/mpfr/long-long-thumb.patch
similarity index 100%
rename from meta/recipes-support/mpfr/mpfr-3.1.3/long-long-thumb.patch
rename to meta/recipes-support/mpfr/mpfr/long-long-thumb.patch
diff --git a/meta/recipes-support/mpfr/mpfr_3.1.3.bb b/meta/recipes-support/mpfr/mpfr_3.1.4.bb
similarity index 75%
rename from meta/recipes-support/mpfr/mpfr_3.1.3.bb
rename to meta/recipes-support/mpfr/mpfr_3.1.4.bb
index ee8a238..230a862 100644
--- a/meta/recipes-support/mpfr/mpfr_3.1.3.bb
+++ b/meta/recipes-support/mpfr/mpfr_3.1.4.bb
@@ -8,9 +8,8 @@ DEPENDS = "gmp"
 SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz \
            file://long-long-thumb.patch \
            "
-
-SRC_URI[md5sum] = "6969398cd2fbc56a6af570b5273c56a9"
-SRC_URI[sha256sum] = "6835a08bd992c8257641791e9a6a2b35b02336c8de26d0a8577953747e514a16"
+SRC_URI[md5sum] = "064b2c18185038e404a401b830d59be8"
+SRC_URI[sha256sum] = "761413b16d749c53e2bfd2b1dfaa3b027b0e793e404b90b5fbaeef60af6517f5"
 
 UPSTREAM_CHECK_URI = "http://www.mpfr.org/mpfr-current/"
 
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* [PATCH 42/42] gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (40 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 41/42] mpfr: Upgrade to 3.1.4 Khem Raj
@ 2016-05-11 17:35 ` Khem Raj
  2016-05-12  9:05 ` [PATCH 00/42] GCC/GDB/Binutils Upgrades Ioan-Adrian Ratiu
  2016-05-13 12:47 ` Richard Purdie
  43 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:35 UTC (permalink / raw)
  To: openembedded-core

We build SDKs such that gcc-cross-candian is built for only one
target *-*-linux and then use -muclibc or -mmusl to let it compile
code for other libc variants. This works fine when libc = glibc
however it does not work for c++ programs when libc != glibc since
there are c++ headers installed under ${includedir}/c++/${BINV}/${TARGET_SYS}
which is fine when gcc-runtime and gcc-cross-candian uses same --target options
gxx includedir searches in right triplet, but it fails with musl/uclibc
since gcc will look for glibc based triplet but gcc-runtime will install
them under musl/uclibc triplet.

This patch symlinks the musl/uclibc triplet to glibc triplet when libc != glibc

This fixes SDKs for musl/uclibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/cross-canadian.bbclass       |  1 +
 meta/recipes-devtools/gcc/gcc-runtime.inc | 12 ++++++++++++
 meta/recipes-devtools/gcc/libgcc.inc      | 12 ++++++++++++
 3 files changed, 25 insertions(+)

diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index e07b1bd..d35451d 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -68,6 +68,7 @@ python () {
     elif tarch == "mips64":
         d.appendVar("CANADIANEXTRAOS", " linux-gnun32 linux-uclibcn32 linux-musln32")
     if tarch == "arm" or tarch == "armeb":
+        d.appendVar("CANADIANEXTRAOS", " linux-musleabi linux-uclibceabi")
         d.setVar("TARGET_OS", "linux-gnueabi")
     else:
         d.setVar("TARGET_OS", "linux")
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 8639c1c..99f50f8 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -73,9 +73,21 @@ do_install () {
 	if [ "${TARGET_VENDOR_MULTILIB_ORIGINAL}" != "" -a "${TARGET_VENDOR}" != "${TARGET_VENDOR_MULTILIB_ORIGINAL}" ]; then
 		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}
 	fi
+
+}
+
+do_install_append_class-target () {
 	if [ "${TARGET_OS}" = "linux-gnuspe" ]; then
 		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-linux
 	fi
+	if [ "${TCLIBC}" != "glibc" ]; then
+		case "${TARGET_OS}" in
+			"linux-musl" | "linux-uclibc" | "linux-*spe") extra_target_os="linux";;
+			"linux-musleabi" | "linux-uclibceabi") extra_target_os="linux-gnueabi";;
+			*) extra_target_os="linux";;
+		esac
+		ln -s ${TARGET_SYS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+	fi
 	chown -R root:root ${D}
 }
 
diff --git a/meta/recipes-devtools/gcc/libgcc.inc b/meta/recipes-devtools/gcc/libgcc.inc
index 6837786..4770394 100644
--- a/meta/recipes-devtools/gcc/libgcc.inc
+++ b/meta/recipes-devtools/gcc/libgcc.inc
@@ -2,6 +2,17 @@ require libgcc-common.inc
 
 DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
 
+do_install_append_class-target () {
+	if [ "${TCLIBC}" != "glibc" ]; then
+		case "${TARGET_OS}" in
+			"linux-musl" | "linux-uclibc" | "linux-*spe") extra_target_os="linux";;
+			"linux-musleabi" | "linux-uclibceabi") extra_target_os="linux-gnueabi";;
+			*) extra_target_os="linux";;
+		esac
+		ln -s ${TARGET_SYS} ${D}${libdir}/${TARGET_ARCH}${TARGET_VENDOR}-$extra_target_os
+	fi
+}
+
 PACKAGES = "\
     ${PN} \
     ${PN}-dev \
@@ -19,6 +30,7 @@ FILES_${PN}-dev = "\
     ${base_libdir}/libgcc*.so \
     ${@base_conditional('BASETARGET_SYS', '${TARGET_SYS}', '', '${libdir}/${BASETARGET_SYS}', d)} \
     ${libdir}/${TARGET_SYS}/${BINV}* \
+    ${libdir}/${TARGET_ARCH}${TARGET_VENDOR}* \
 "
 
 LIBGCCBUILDTREENAME = "gcc-build-internal-"
-- 
2.8.2



^ permalink raw reply related	[flat|nested] 77+ messages in thread

* Re: [PATCH 26/42] strace: Remove pipe.expected
  2016-05-11 17:35 ` [PATCH 26/42] strace: Remove pipe.expected Khem Raj
@ 2016-05-11 17:42   ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-11 17:42 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1449 bytes --]


> On May 11, 2016, at 10:35 AM, Khem Raj <raj.khem@gmail.com> wrote:
> 
> file utility on some OSes e.g. archlinux'like
> which use file 5.26 can not recognise a file
> in strace testsuite e.g.
> 


> file ./strace-4.11/tests/pipe.expected
> ./strace-4.11/tests/pipe.expected: ERROR: EOF computing DER offset
> 


this is due to a bug in archlinux file utility, please drop it. I have also removed it from pull branch


> This ends up in QA errors
> ERROR: strace-4.11-r0 do_populate_sysroot: split_and_strip_files: 'file /a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/strace/4.11-r0/sysroot-destdir/usr/lib/strace/ptest/tests/pipe.expected' failed
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta/recipes-devtools/strace/strace_4.11.bb | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/meta/recipes-devtools/strace/strace_4.11.bb b/meta/recipes-devtools/strace/strace_4.11.bb
> index 7391388..a787df2 100644
> --- a/meta/recipes-devtools/strace/strace_4.11.bb
> +++ b/meta/recipes-devtools/strace/strace_4.11.bb
> @@ -46,6 +46,7 @@ do_compile_ptest() {
> do_install_ptest() {
> 	oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
> 	sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
> +	rm -rf ${D}${libdir}/strace/ptest/tests/pipe.expected
> }
> 
> BBCLASSEXTEND = "native"
> --
> 2.8.2
> 


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-11 17:35 ` [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6 Khem Raj
@ 2016-05-11 21:27   ` Bruce Ashfield
  2016-05-11 21:30     ` Khem Raj
  0 siblings, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-05-11 21:27 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 4464 bytes --]

On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem@gmail.com> wrote:

> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>


These shouldn't be carried out of tree. So can you drop the linux-yocto
changes from the
series, and I'll look at getting them integrated later.

Bruce


> ---
>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
> ++++++++++++++++++++++
>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
>  2 files changed, 53 insertions(+), 1 deletion(-)
>  create mode 100644
> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>
> diff --git
> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> new file mode 100644
> index 0000000..05315ed
> --- /dev/null
> +++
> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> @@ -0,0 +1,50 @@
> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Mon, 25 Apr 2016 05:47:01 +0000
> +Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access warning
> +
> +gcc-6 correctly warns about a out of bounds access
> +
> +arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset
> greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}'
> [-Warray-bounds]
> +        offsetof(struct thread_fp_state, fpr[32][0]));
> +                        ^
> +
> +check the end of array instead of beginning of next element to fix this
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +Cc: Kees Cook <keescook@chromium.org>
> +Cc: Michael Ellerman <mpe@ellerman.id.au>
> +Cc: Segher Boessenkool <segher@kernel.crashing.org>
> +---
> +Changes from v1 to v2:
> +
> +- Check for fpr[32] instead of fpr[31][1]
> +
> + arch/powerpc/kernel/ptrace.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
> +index 737c0d0..b38fd08 100644
> +--- a/arch/powerpc/kernel/ptrace.c
> ++++ b/arch/powerpc/kernel/ptrace.c
> +@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target, const
> struct user_regset *regset,
> +
> + #else
> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
> ++                   offsetof(struct thread_fp_state, fpr[32]));
> +
> +       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
> +                                  &target->thread.fp_state, 0, -1);
> +@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target, const
> struct user_regset *regset,
> +       return 0;
> + #else
> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
> ++                   offsetof(struct thread_fp_state, fpr[32]));
> +
> +       return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
> +                                 &target->thread.fp_state, 0, -1);
> +--
> +1.9.1
> +
> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> index b74903e..fbb592a 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> @@ -22,7 +22,9 @@ SRCREV_machine ?=
> "b18090556c1d1b449233cd555c27a04d38272d6d"
>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
>
>  SRC_URI = "git://
> git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
> -           git://
> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
> "
> +           git://
> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
> \
> +
>  file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch \
> +"
>
>  LINUX_VERSION ?= "4.4.3"
>
> --
> 2.8.2
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #2: Type: text/html, Size: 6706 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-11 21:27   ` Bruce Ashfield
@ 2016-05-11 21:30     ` Khem Raj
  2016-05-11 21:36       ` Bruce Ashfield
  0 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 21:30 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Wed, May 11, 2016 at 2:27 PM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
>
>
> On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
>
>
> These shouldn't be carried out of tree. So can you drop the linux-yocto
> changes from the
> series, and I'll look at getting them integrated later.

I could but, this series switches to using gcc6 which will start to fail.

>
> Bruce
>
>>
>> ---
>>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
>> ++++++++++++++++++++++
>>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
>>  2 files changed, 53 insertions(+), 1 deletion(-)
>>  create mode 100644
>> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>>
>> diff --git
>> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> new file mode 100644
>> index 0000000..05315ed
>> --- /dev/null
>> +++
>> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> @@ -0,0 +1,50 @@
>> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Mon, 25 Apr 2016 05:47:01 +0000
>> +Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access
>> warning
>> +
>> +gcc-6 correctly warns about a out of bounds access
>> +
>> +arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset
>> greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}'
>> [-Warray-bounds]
>> +        offsetof(struct thread_fp_state, fpr[32][0]));
>> +                        ^
>> +
>> +check the end of array instead of beginning of next element to fix this
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +Cc: Kees Cook <keescook@chromium.org>
>> +Cc: Michael Ellerman <mpe@ellerman.id.au>
>> +Cc: Segher Boessenkool <segher@kernel.crashing.org>
>> +---
>> +Changes from v1 to v2:
>> +
>> +- Check for fpr[32] instead of fpr[31][1]
>> +
>> + arch/powerpc/kernel/ptrace.c | 4 ++--
>> + 1 file changed, 2 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
>> +index 737c0d0..b38fd08 100644
>> +--- a/arch/powerpc/kernel/ptrace.c
>> ++++ b/arch/powerpc/kernel/ptrace.c
>> +@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target, const
>> struct user_regset *regset,
>> +
>> + #else
>> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
>> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
>> ++                   offsetof(struct thread_fp_state, fpr[32]));
>> +
>> +       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
>> +                                  &target->thread.fp_state, 0, -1);
>> +@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target, const
>> struct user_regset *regset,
>> +       return 0;
>> + #else
>> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
>> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
>> ++                   offsetof(struct thread_fp_state, fpr[32]));
>> +
>> +       return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
>> +                                 &target->thread.fp_state, 0, -1);
>> +--
>> +1.9.1
>> +
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> index b74903e..fbb592a 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> @@ -22,7 +22,9 @@ SRCREV_machine ?=
>> "b18090556c1d1b449233cd555c27a04d38272d6d"
>>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
>>
>>  SRC_URI =
>> "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH};
>> \
>> -
>> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
>> +
>> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
>> \
>> +
>> file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch \
>> +"
>>
>>  LINUX_VERSION ?= "4.4.3"
>>
>> --
>> 2.8.2
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at
> its end"


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-11 21:30     ` Khem Raj
@ 2016-05-11 21:36       ` Bruce Ashfield
  2016-05-11 21:55         ` Khem Raj
  0 siblings, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-05-11 21:36 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 5424 bytes --]

On Wed, May 11, 2016 at 5:30 PM, Khem Raj <raj.khem@gmail.com> wrote:

> On Wed, May 11, 2016 at 2:27 PM, Bruce Ashfield
> <bruce.ashfield@gmail.com> wrote:
> >
> >
> > On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >
> >
> >
> > These shouldn't be carried out of tree. So can you drop the linux-yocto
> > changes from the
> > series, and I'll look at getting them integrated later.
>
> I could but, this series switches to using gcc6 which will start to fail.
>

I can coordinate the fix. We just don't carry patches like this for linux
yocto. As you
can see, your series will no longer apply with the consolidated pull
requests that
I just sent.

Bruce


>
> >
> > Bruce
> >
> >>
> >> ---
> >>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
> >> ++++++++++++++++++++++
> >>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
> >>  2 files changed, 53 insertions(+), 1 deletion(-)
> >>  create mode 100644
> >>
> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >>
> >> diff --git
> >>
> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >>
> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> new file mode 100644
> >> index 0000000..05315ed
> >> --- /dev/null
> >> +++
> >>
> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> @@ -0,0 +1,50 @@
> >> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00 2001
> >> +From: Khem Raj <raj.khem@gmail.com>
> >> +Date: Mon, 25 Apr 2016 05:47:01 +0000
> >> +Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access
> >> warning
> >> +
> >> +gcc-6 correctly warns about a out of bounds access
> >> +
> >> +arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an
> offset
> >> greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}'
> >> [-Warray-bounds]
> >> +        offsetof(struct thread_fp_state, fpr[32][0]));
> >> +                        ^
> >> +
> >> +check the end of array instead of beginning of next element to fix this
> >> +
> >> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> +Cc: Kees Cook <keescook@chromium.org>
> >> +Cc: Michael Ellerman <mpe@ellerman.id.au>
> >> +Cc: Segher Boessenkool <segher@kernel.crashing.org>
> >> +---
> >> +Changes from v1 to v2:
> >> +
> >> +- Check for fpr[32] instead of fpr[31][1]
> >> +
> >> + arch/powerpc/kernel/ptrace.c | 4 ++--
> >> + 1 file changed, 2 insertions(+), 2 deletions(-)
> >> +
> >> +diff --git a/arch/powerpc/kernel/ptrace.c
> b/arch/powerpc/kernel/ptrace.c
> >> +index 737c0d0..b38fd08 100644
> >> +--- a/arch/powerpc/kernel/ptrace.c
> >> ++++ b/arch/powerpc/kernel/ptrace.c
> >> +@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target,
> const
> >> struct user_regset *regset,
> >> +
> >> + #else
> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
> >> +
> >> +       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
> >> +                                  &target->thread.fp_state, 0, -1);
> >> +@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target,
> const
> >> struct user_regset *regset,
> >> +       return 0;
> >> + #else
> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
> >> +
> >> +       return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
> >> +                                 &target->thread.fp_state, 0, -1);
> >> +--
> >> +1.9.1
> >> +
> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> index b74903e..fbb592a 100644
> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> @@ -22,7 +22,9 @@ SRCREV_machine ?=
> >> "b18090556c1d1b449233cd555c27a04d38272d6d"
> >>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
> >>
> >>  SRC_URI =
> >> "git://
> git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH};
> >> \
> >> -
> >> git://
> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
> "
> >> +
> >> git://
> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
> >> \
> >> +
> >> file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch \
> >> +"
> >>
> >>  LINUX_VERSION ?= "4.4.3"
> >>
> >> --
> >> 2.8.2
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >
> >
> >
> >
> > --
> > "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at
> > its end"
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #2: Type: text/html, Size: 8549 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-11 21:36       ` Bruce Ashfield
@ 2016-05-11 21:55         ` Khem Raj
  2016-05-12  4:31           ` Bruce Ashfield
  0 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-11 21:55 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Wed, May 11, 2016 at 2:36 PM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
>
>
> On Wed, May 11, 2016 at 5:30 PM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Wed, May 11, 2016 at 2:27 PM, Bruce Ashfield
>> <bruce.ashfield@gmail.com> wrote:
>> >
>> >
>> > On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> >>
>> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >
>> >
>> >
>> > These shouldn't be carried out of tree. So can you drop the linux-yocto
>> > changes from the
>> > series, and I'll look at getting them integrated later.
>>
>> I could but, this series switches to using gcc6 which will start to fail.
>
>
> I can coordinate the fix. We just don't carry patches like this for linux
> yocto. As you
> can see, your series will no longer apply with the consolidated pull
> requests that
> I just sent.

Just include these patches in your pull request and send a v2. I will
then drop it from my list.
since these patches should work fine with older gcc as well your
changes then can go in first
or along with my changes.

>
> Bruce
>
>>
>>
>> >
>> > Bruce
>> >
>> >>
>> >> ---
>> >>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
>> >> ++++++++++++++++++++++
>> >>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
>> >>  2 files changed, 53 insertions(+), 1 deletion(-)
>> >>  create mode 100644
>> >>
>> >> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >>
>> >> diff --git
>> >>
>> >> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >>
>> >> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> new file mode 100644
>> >> index 0000000..05315ed
>> >> --- /dev/null
>> >> +++
>> >>
>> >> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> @@ -0,0 +1,50 @@
>> >> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00 2001
>> >> +From: Khem Raj <raj.khem@gmail.com>
>> >> +Date: Mon, 25 Apr 2016 05:47:01 +0000
>> >> +Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access
>> >> warning
>> >> +
>> >> +gcc-6 correctly warns about a out of bounds access
>> >> +
>> >> +arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an
>> >> offset
>> >> greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}'
>> >> [-Warray-bounds]
>> >> +        offsetof(struct thread_fp_state, fpr[32][0]));
>> >> +                        ^
>> >> +
>> >> +check the end of array instead of beginning of next element to fix
>> >> this
>> >> +
>> >> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >> +Cc: Kees Cook <keescook@chromium.org>
>> >> +Cc: Michael Ellerman <mpe@ellerman.id.au>
>> >> +Cc: Segher Boessenkool <segher@kernel.crashing.org>
>> >> +---
>> >> +Changes from v1 to v2:
>> >> +
>> >> +- Check for fpr[32] instead of fpr[31][1]
>> >> +
>> >> + arch/powerpc/kernel/ptrace.c | 4 ++--
>> >> + 1 file changed, 2 insertions(+), 2 deletions(-)
>> >> +
>> >> +diff --git a/arch/powerpc/kernel/ptrace.c
>> >> b/arch/powerpc/kernel/ptrace.c
>> >> +index 737c0d0..b38fd08 100644
>> >> +--- a/arch/powerpc/kernel/ptrace.c
>> >> ++++ b/arch/powerpc/kernel/ptrace.c
>> >> +@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target,
>> >> const
>> >> struct user_regset *regset,
>> >> +
>> >> + #else
>> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
>> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
>> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
>> >> +
>> >> +       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
>> >> +                                  &target->thread.fp_state, 0, -1);
>> >> +@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target,
>> >> const
>> >> struct user_regset *regset,
>> >> +       return 0;
>> >> + #else
>> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
>> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
>> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
>> >> +
>> >> +       return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
>> >> +                                 &target->thread.fp_state, 0, -1);
>> >> +--
>> >> +1.9.1
>> >> +
>> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> index b74903e..fbb592a 100644
>> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> @@ -22,7 +22,9 @@ SRCREV_machine ?=
>> >> "b18090556c1d1b449233cd555c27a04d38272d6d"
>> >>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
>> >>
>> >>  SRC_URI =
>> >>
>> >> "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH};
>> >> \
>> >> -
>> >>
>> >> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
>> >> +
>> >>
>> >> git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
>> >> \
>> >> +
>> >> file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> \
>> >> +"
>> >>
>> >>  LINUX_VERSION ?= "4.4.3"
>> >>
>> >> --
>> >> 2.8.2
>> >>
>> >> --
>> >> _______________________________________________
>> >> Openembedded-core mailing list
>> >> Openembedded-core@lists.openembedded.org
>> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> >
>> >
>> >
>> >
>> > --
>> > "Thou shalt not follow the NULL pointer, for chaos and madness await
>> > thee at
>> > its end"
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at
> its end"


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-11 21:55         ` Khem Raj
@ 2016-05-12  4:31           ` Bruce Ashfield
  2016-05-12 13:28             ` Bruce Ashfield
  0 siblings, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-05-12  4:31 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 6607 bytes --]

On Wed, May 11, 2016 at 5:55 PM, Khem Raj <raj.khem@gmail.com> wrote:

> On Wed, May 11, 2016 at 2:36 PM, Bruce Ashfield
> <bruce.ashfield@gmail.com> wrote:
> >
> >
> > On Wed, May 11, 2016 at 5:30 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> On Wed, May 11, 2016 at 2:27 PM, Bruce Ashfield
> >> <bruce.ashfield@gmail.com> wrote:
> >> >
> >> >
> >> > On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >> >>
> >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> >
> >> >
> >> >
> >> > These shouldn't be carried out of tree. So can you drop the
> linux-yocto
> >> > changes from the
> >> > series, and I'll look at getting them integrated later.
> >>
> >> I could but, this series switches to using gcc6 which will start to
> fail.
> >
> >
> > I can coordinate the fix. We just don't carry patches like this for linux
> > yocto. As you
> > can see, your series will no longer apply with the consolidated pull
> > requests that
> > I just sent.
>
> Just include these patches in your pull request and send a v2. I will
> then drop it from my list.
> since these patches should work fine with older gcc as well your
> changes then can go in first
> or along with my changes.
>

Sounds good. I'll have them out first thing in the morning Thursday.

Bruce


>
> >
> > Bruce
> >
> >>
> >>
> >> >
> >> > Bruce
> >> >
> >> >>
> >> >> ---
> >> >>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
> >> >> ++++++++++++++++++++++
> >> >>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
> >> >>  2 files changed, 53 insertions(+), 1 deletion(-)
> >> >>  create mode 100644
> >> >>
> >> >>
> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> >>
> >> >> diff --git
> >> >>
> >> >>
> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> >>
> >> >>
> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> >> new file mode 100644
> >> >> index 0000000..05315ed
> >> >> --- /dev/null
> >> >> +++
> >> >>
> >> >>
> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> >> @@ -0,0 +1,50 @@
> >> >> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00
> 2001
> >> >> +From: Khem Raj <raj.khem@gmail.com>
> >> >> +Date: Mon, 25 Apr 2016 05:47:01 +0000
> >> >> +Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access
> >> >> warning
> >> >> +
> >> >> +gcc-6 correctly warns about a out of bounds access
> >> >> +
> >> >> +arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an
> >> >> offset
> >> >> greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}'
> >> >> [-Warray-bounds]
> >> >> +        offsetof(struct thread_fp_state, fpr[32][0]));
> >> >> +                        ^
> >> >> +
> >> >> +check the end of array instead of beginning of next element to fix
> >> >> this
> >> >> +
> >> >> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> >> +Cc: Kees Cook <keescook@chromium.org>
> >> >> +Cc: Michael Ellerman <mpe@ellerman.id.au>
> >> >> +Cc: Segher Boessenkool <segher@kernel.crashing.org>
> >> >> +---
> >> >> +Changes from v1 to v2:
> >> >> +
> >> >> +- Check for fpr[32] instead of fpr[31][1]
> >> >> +
> >> >> + arch/powerpc/kernel/ptrace.c | 4 ++--
> >> >> + 1 file changed, 2 insertions(+), 2 deletions(-)
> >> >> +
> >> >> +diff --git a/arch/powerpc/kernel/ptrace.c
> >> >> b/arch/powerpc/kernel/ptrace.c
> >> >> +index 737c0d0..b38fd08 100644
> >> >> +--- a/arch/powerpc/kernel/ptrace.c
> >> >> ++++ b/arch/powerpc/kernel/ptrace.c
> >> >> +@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target,
> >> >> const
> >> >> struct user_regset *regset,
> >> >> +
> >> >> + #else
> >> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
> >> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
> >> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
> >> >> +
> >> >> +       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
> >> >> +                                  &target->thread.fp_state, 0, -1);
> >> >> +@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target,
> >> >> const
> >> >> struct user_regset *regset,
> >> >> +       return 0;
> >> >> + #else
> >> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
> >> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
> >> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
> >> >> +
> >> >> +       return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
> >> >> +                                 &target->thread.fp_state, 0, -1);
> >> >> +--
> >> >> +1.9.1
> >> >> +
> >> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> >> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> >> index b74903e..fbb592a 100644
> >> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
> >> >> @@ -22,7 +22,9 @@ SRCREV_machine ?=
> >> >> "b18090556c1d1b449233cd555c27a04d38272d6d"
> >> >>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
> >> >>
> >> >>  SRC_URI =
> >> >>
> >> >> "git://
> git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH};
> >> >> \
> >> >> -
> >> >>
> >> >> git://
> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
> "
> >> >> +
> >> >>
> >> >> git://
> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
> >> >> \
> >> >> +
> >> >>
> file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >> >> \
> >> >> +"
> >> >>
> >> >>  LINUX_VERSION ?= "4.4.3"
> >> >>
> >> >> --
> >> >> 2.8.2
> >> >>
> >> >> --
> >> >> _______________________________________________
> >> >> Openembedded-core mailing list
> >> >> Openembedded-core@lists.openembedded.org
> >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >> >
> >> >
> >> >
> >> >
> >> > --
> >> > "Thou shalt not follow the NULL pointer, for chaos and madness await
> >> > thee at
> >> > its end"
> >
> >
> >
> >
> > --
> > "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at
> > its end"
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #2: Type: text/html, Size: 10935 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 33/42] gdb: Upgrade to 7.11
  2016-05-11 17:35 ` [PATCH 33/42] gdb: Upgrade to 7.11 Khem Raj
@ 2016-05-12  5:48   ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-12  5:48 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 30694 bytes --]

There is a v2 of this which I pushed to pull tree. I had to do to fix the build on musl/ppc target
Added

CFLAGS_append_libc-musl = " -Drpl_gettimeofday=gettimeofday”

> On May 11, 2016, at 10:35 AM, Khem Raj <raj.khem@gmail.com> wrote:
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../gdb/{gdb-7.10.1.inc => gdb-7.11.inc}           |  0
> meta/recipes-devtools/gdb/gdb-common.inc           | 20 +++++++--
> ...nadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} |  0
> meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb      |  4 --
> meta/recipes-devtools/gdb/gdb-cross_7.11.bb        |  2 +
> meta/recipes-devtools/gdb/gdb.inc                  | 10 -----
> .../gdb/0001-include-sys-types.h-for-mode_t.patch  | 10 ++---
> ...002-make-man-install-relative-to-DESTDIR.patch} |  8 ++--
> ...-linux-nat-Define-_ABIO32-if-not-defined.patch} |  8 ++--
> ...efine-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} | 11 ++---
> ...-support-for-Renesas-SH-sh4-architecture.patch} | 32 +++++++--------
> ...-libreadline.a-when-using-disable-static.patch} | 21 ++++++++--
> ...gidefs.h.patch => 0007-use-asm-sgidefs.h.patch} | 15 +++----
> ...0008-Use-exorted-definitions-of-SIGRTMIN.patch} | 44 +++++++++-----------
> ...AGS.patch => 0009-Change-order-of-CFLAGS.patch} | 18 ++++----
> .../0010-resolve-restrict-keyword-conflict.patch   | 48 ++++++++++++++++++++++
> .../gdb/{gdb_7.10.1.bb => gdb_7.11.bb}             |  0
> 17 files changed, 155 insertions(+), 96 deletions(-)
> rename meta/recipes-devtools/gdb/{gdb-7.10.1.inc => gdb-7.11.inc} (100%)
> rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} (100%)
> delete mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
> create mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.11.bb
> rename meta/recipes-devtools/gdb/gdb/{0001-make-man-install-relative-to-DESTDIR.patch => 0002-make-man-install-relative-to-DESTDIR.patch} (78%)
> rename meta/recipes-devtools/gdb/gdb/{0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch => 0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch} (84%)
> rename meta/recipes-devtools/gdb/gdb/{0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch => 0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} (83%)
> rename meta/recipes-devtools/gdb/gdb/{0003-Add-support-for-Renesas-SH-sh4-architecture.patch => 0005-Add-support-for-Renesas-SH-sh4-architecture.patch} (97%)
> rename meta/recipes-devtools/gdb/gdb/{force-readline-static.patch => 0006-Dont-disable-libreadline.a-when-using-disable-static.patch} (67%)
> rename meta/recipes-devtools/gdb/gdb/{0001-use-asm-sgidefs.h.patch => 0007-use-asm-sgidefs.h.patch} (69%)
> rename meta/recipes-devtools/gdb/gdb/{0001-Use-exported-definitions-of-SIGRTMIN.patch => 0008-Use-exorted-definitions-of-SIGRTMIN.patch} (49%)
> rename meta/recipes-devtools/gdb/gdb/{0002-Change-order-of-CFLAGS.patch => 0009-Change-order-of-CFLAGS.patch} (69%)
> create mode 100644 meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
> rename meta/recipes-devtools/gdb/{gdb_7.10.1.bb => gdb_7.11.bb} (100%)
> 
> diff --git a/meta/recipes-devtools/gdb/gdb-7.10.1.inc b/meta/recipes-devtools/gdb/gdb-7.11.inc
> similarity index 100%
> rename from meta/recipes-devtools/gdb/gdb-7.10.1.inc
> rename to meta/recipes-devtools/gdb/gdb-7.11.inc
> diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
> index f208055..0e6ecd4 100644
> --- a/meta/recipes-devtools/gdb/gdb-common.inc
> +++ b/meta/recipes-devtools/gdb/gdb-common.inc
> @@ -16,8 +16,6 @@ LTTNGUST_mips64eln32 = ""
> LTTNGUST_sh4 = ""
> LTTNGUST_libc-musl = ""
> 
> -INC_PR = "r0"
> -
> LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
> 		file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
> 		file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
> @@ -25,8 +23,22 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
> 
> inherit autotools texinfo
> 
> -SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
> -          "
> +SRCREV = "1a982b689ce4e20523bdf69e47fdd574c4f63934"
> +
> +SRC_URI = "git://sourceware.org/git/binutils-gdb.git;branch=gdb-7.11-branch \
> +           file://0001-include-sys-types.h-for-mode_t.patch \
> +           file://0002-make-man-install-relative-to-DESTDIR.patch \
> +           file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
> +           file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
> +           file://0005-Add-support-for-Renesas-SH-sh4-architecture.patch \
> +           file://0006-Dont-disable-libreadline.a-when-using-disable-static.patch \
> +           file://0007-use-asm-sgidefs.h.patch \
> +           file://0008-Use-exorted-definitions-of-SIGRTMIN.patch \
> +           file://0009-Change-order-of-CFLAGS.patch \
> +           file://0010-resolve-restrict-keyword-conflict.patch \
> +"
> +
> +S = "${WORKDIR}/git"
> 
> B = "${WORKDIR}/build-${TARGET_SYS}"
> 
> diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb b/meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.bb
> similarity index 100%
> rename from meta/recipes-devtools/gdb/gdb-cross-canadian_7.10.1.bb
> rename to meta/recipes-devtools/gdb/gdb-cross-canadian_7.11.bb
> diff --git a/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb b/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
> deleted file mode 100644
> index 3a95cfb..0000000
> --- a/meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -require gdb-cross.inc
> -require gdb-${PV}.inc
> -
> -SRC_URI += "file://0001-make-man-install-relative-to-DESTDIR.patch"
> diff --git a/meta/recipes-devtools/gdb/gdb-cross_7.11.bb b/meta/recipes-devtools/gdb/gdb-cross_7.11.bb
> new file mode 100644
> index 0000000..50cf159
> --- /dev/null
> +++ b/meta/recipes-devtools/gdb/gdb-cross_7.11.bb
> @@ -0,0 +1,2 @@
> +require gdb-cross.inc
> +require gdb-${PV}.inc
> diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
> index 5a2067e..52119a0 100644
> --- a/meta/recipes-devtools/gdb/gdb.inc
> +++ b/meta/recipes-devtools/gdb/gdb.inc
> @@ -2,16 +2,6 @@ require gdb-common.inc
> 
> inherit gettext
> 
> -SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
> -           file://0002-Change-order-of-CFLAGS.patch \
> -           file://0003-Add-support-for-Renesas-SH-sh4-architecture.patch \
> -           file://0001-Use-exported-definitions-of-SIGRTMIN.patch \
> -           file://0001-include-sys-types.h-for-mode_t.patch \
> -           file://0001-use-asm-sgidefs.h.patch \
> -           file://force-readline-static.patch \
> -           file://0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \
> -           file://0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \
> -           "
> #LDFLAGS_append = " -s"
> #export CFLAGS_append=" -L${STAGING_LIBDIR}"
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch b/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
> index a0292e4..0042c00 100644
> --- a/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0001-include-sys-types.h-for-mode_t.patch
> @@ -1,7 +1,7 @@
> -From acbee4edacb80b5eeaff2480712fe98e56443997 Mon Sep 17 00:00:00 2001
> +From fddd7178915968acf680814411b8b3cb137d0587 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Tue, 19 Jan 2016 18:18:52 -0800
> -Subject: [PATCH] include sys/types.h for mode_t
> +Subject: [PATCH 01/10] include sys/types.h for mode_t
> 
> mode_t is used in target.h, so we need to include sys/types.h to get the
> defintion
> @@ -14,10 +14,10 @@ Upstream-Status: Pending
>  1 file changed, 1 insertion(+)
> 
> diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h
> -index 9a40867..aaecab9 100644
> +index 5af2051..f42c510 100644
> --- a/gdb/gdbserver/target.h
> +++ b/gdb/gdbserver/target.h
> -@@ -27,6 +27,7 @@
> +@@ -28,6 +28,7 @@
>  #include "target/waitstatus.h"
>  #include "mem-break.h"
>  #include "btrace-common.h"
> @@ -26,5 +26,5 @@ index 9a40867..aaecab9 100644
>  struct emit_ops;
>  struct buffer;
> --
> -2.7.0
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch b/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
> similarity index 78%
> rename from meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
> rename to meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
> index 6996c18..defed62 100644
> --- a/meta/recipes-devtools/gdb/gdb/0001-make-man-install-relative-to-DESTDIR.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0002-make-man-install-relative-to-DESTDIR.patch
> @@ -1,7 +1,7 @@
> -From 12b0506951460c3cc37d775478d024db3f95e9d8 Mon Sep 17 00:00:00 2001
> +From 3229cb09033eeb5003a08d91fa9d43be8ba4c86b Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Mon, 2 Mar 2015 02:27:55 +0000
> -Subject: [PATCH 1/3] make man install relative to DESTDIR
> +Subject: [PATCH 02/10] make man install relative to DESTDIR
> 
> Upstream-Status: Pending
> 
> @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sim/common/Makefile.in b/sim/common/Makefile.in
> -index d49a93b..2121c46 100644
> +index a05f507..8d0fa64 100644
> --- a/sim/common/Makefile.in
> +++ b/sim/common/Makefile.in
> @@ -35,7 +35,7 @@ tooldir = $(libdir)/$(target_alias)
> @@ -24,5 +24,5 @@ index d49a93b..2121c46 100644
>  includedir = @includedir@
> 
> --
> -2.1.4
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch b/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
> similarity index 84%
> rename from meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
> rename to meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
> index 3173952..bac7939 100644
> --- a/meta/recipes-devtools/gdb/gdb/0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch
> @@ -1,7 +1,7 @@
> -From e92f8932ef488de2a56db4299131ce6a4eb170bd Mon Sep 17 00:00:00 2001
> +From 88e67caed662d8344c8db56176c9f1221e6cd2a2 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 23 Mar 2016 06:30:09 +0000
> -Subject: [PATCH] mips-linux-nat: Define _ABIO32 if not defined
> +Subject: [PATCH 03/10] mips-linux-nat: Define _ABIO32 if not defined
> 
> This helps building gdb on mips64 on musl, since
> musl does not provide sgidefs.h this define is
> @@ -17,7 +17,7 @@ Upstream-Status: Pending
>  1 file changed, 5 insertions(+)
> 
> diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
> -index fd5c705..753f29d 100644
> +index bfe9fcb..449b43a 100644
> --- a/gdb/mips-linux-nat.c
> +++ b/gdb/mips-linux-nat.c
> @@ -46,6 +46,11 @@
> @@ -33,5 +33,5 @@ index fd5c705..753f29d 100644
>     we'll clear this and use PTRACE_PEEKUSER instead.  */
>  static int have_ptrace_regsets = 1;
> --
> -1.8.3.1
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> similarity index 83%
> rename from meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> rename to meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> index 342f1ce..a5fe2a2 100644
> --- a/meta/recipes-devtools/gdb/gdb/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> @@ -1,7 +1,8 @@
> -From 33a2cdb731298b73277507f01b9a21cd340c5b5c Mon Sep 17 00:00:00 2001
> +From bec564eb454bc7fc6ecfcb573aa53040bf39c1d5 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Sat, 30 Apr 2016 16:46:03 +0000
> -Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems
> +Subject: [PATCH 04/10] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC
> + systems
> 
> Upstream-Status: Pending
> 
> @@ -12,7 +13,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  2 files changed, 12 insertions(+)
> 
> diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c
> -index 188fac0..f71d5ab 100644
> +index 2145c50..777905d 100644
> --- a/gdb/gdbserver/linux-ppc-low.c
> +++ b/gdb/gdbserver/linux-ppc-low.c
> @@ -21,7 +21,13 @@
> @@ -30,7 +31,7 @@ index 188fac0..f71d5ab 100644
>  #include "nat/ppc-linux.h"
> 
> diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h
> -index 0ff2223..c978daa 100644
> +index 85fbcd8..cbec9c5 100644
> --- a/gdb/nat/ppc-linux.h
> +++ b/gdb/nat/ppc-linux.h
> @@ -18,7 +18,13 @@
> @@ -48,5 +49,5 @@ index 0ff2223..c978daa 100644
> 
>  /* This sometimes isn't defined.  */
> --
> -1.8.3.1
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch b/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
> similarity index 97%
> rename from meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch
> rename to meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
> index 4a3e22c..8809e6f 100644
> --- a/meta/recipes-devtools/gdb/gdb/0003-Add-support-for-Renesas-SH-sh4-architecture.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0005-Add-support-for-Renesas-SH-sh4-architecture.patch
> @@ -1,7 +1,7 @@
> -From 407cb13cfb70697f45dfb761304e005e1ecbd0e9 Mon Sep 17 00:00:00 2001
> +From 8c5fe58c5a0044ddb517a41b277ed27fb3d3bedc Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Mon, 2 Mar 2015 02:31:12 +0000
> -Subject: [PATCH 3/3] Add support for Renesas SH (sh4) architecture.
> +Subject: [PATCH 05/10] Add support for Renesas SH (sh4) architecture.
> 
> gdb (7.4-1~cvs20111117.2) experimental; urgency=low
>  .
> @@ -27,10 +27,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  11 files changed, 617 insertions(+), 29 deletions(-)
> 
> diff --git a/gdb/Makefile.in b/gdb/Makefile.in
> -index 7937801..63baf81 100644
> +index ec2af52..df8e84d 100644
> --- a/gdb/Makefile.in
> +++ b/gdb/Makefile.in
> -@@ -1707,6 +1707,7 @@ ALLDEPFILES = \
> +@@ -1736,6 +1736,7 @@ ALLDEPFILES = \
>  	score-tdep.c \
>  	ser-go32.c ser-pipe.c ser-tcp.c ser-mingw.c \
>  	sh-tdep.c sh64-tdep.c shnbsd-tdep.c shnbsd-nat.c \
> @@ -39,10 +39,10 @@ index 7937801..63baf81 100644
>  	solib-svr4.c \
>  	sparc-linux-nat.c sparc-linux-tdep.c \
> diff --git a/gdb/configure.host b/gdb/configure.host
> -index d07be4b..b6391c5 100644
> +index ef265eb..322a1e2 100644
> --- a/gdb/configure.host
> +++ b/gdb/configure.host
> -@@ -150,6 +150,7 @@ powerpc*-*-linux*)	gdb_host=linux ;;
> +@@ -149,6 +149,7 @@ powerpc*-*-linux*)	gdb_host=linux ;;
> 
>  s390*-*-linux*)		gdb_host=linux ;;
> 
> @@ -51,7 +51,7 @@ index d07be4b..b6391c5 100644
>  			gdb_host=nbsd ;;
>  sh*-*-openbsd*)		gdb_host=nbsd ;;
> diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
> -index 2ff2ee8..1a11262 100644
> +index 2418d25..ac8ea9e 100644
> --- a/gdb/sh-linux-tdep.c
> +++ b/gdb/sh-linux-tdep.c
> @@ -18,14 +18,37 @@
> @@ -599,7 +599,7 @@ index 2ff2ee8..1a11262 100644
> 
>    /* GNU/Linux uses SVR4-style shared libraries.  */
> diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
> -index 82cf2f4..b443e46 100644
> +index 336b48e..847b271 100644
> --- a/gdb/sh-tdep.c
> +++ b/gdb/sh-tdep.c
> @@ -21,6 +21,9 @@
> @@ -702,7 +702,7 @@ index 82cf2f4..b443e46 100644
> 
>    if (regnum < SH_NUM_REGS && cache->saved_regs[regnum] != -1)
>      return frame_unwind_got_memory (this_frame, regnum,
> -@@ -2237,8 +2224,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
> +@@ -2240,8 +2227,8 @@ sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch,
>  static struct gdbarch *
>  sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
>  {
> @@ -712,7 +712,7 @@ index 82cf2f4..b443e46 100644
> 
>    /* SH5 is handled entirely in sh64-tdep.c.  */
>    if (info.bfd_arch_info->mach == bfd_mach_sh5)
> -@@ -2254,6 +2241,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
> +@@ -2257,6 +2244,18 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
>    tdep = XCNEW (struct gdbarch_tdep);
>    gdbarch = gdbarch_alloc (&info, tdep);
> 
> @@ -731,7 +731,7 @@ index 82cf2f4..b443e46 100644
>    set_gdbarch_short_bit (gdbarch, 2 * TARGET_CHAR_BIT);
>    set_gdbarch_int_bit (gdbarch, 4 * TARGET_CHAR_BIT);
>    set_gdbarch_long_bit (gdbarch, 4 * TARGET_CHAR_BIT);
> -@@ -2404,10 +2403,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
> +@@ -2407,10 +2406,11 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
>        break;
>      }
> 
> @@ -745,7 +745,7 @@ index 82cf2f4..b443e46 100644
>    frame_unwind_append_unwinder (gdbarch, &sh_frame_unwind);
> 
> diff --git a/gdb/sh-tdep.h b/gdb/sh-tdep.h
> -index fc671a5..699f59f 100644
> +index 666968f..62c65b5 100644
> --- a/gdb/sh-tdep.h
> +++ b/gdb/sh-tdep.h
> @@ -21,6 +21,12 @@
> @@ -828,10 +828,10 @@ index fc671a5..699f59f 100644
>       where each general-purpose register is stored inside the associated
>       core file section.  */
> diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
> -index 8854af0..ef44682 100644
> +index 6d9aef8..5b66b42 100644
> --- a/gdb/testsuite/gdb.asm/asm-source.exp
> +++ b/gdb/testsuite/gdb.asm/asm-source.exp
> -@@ -113,6 +113,11 @@ switch -glob -- [istarget] {
> +@@ -116,6 +116,11 @@ switch -glob -- [istarget] {
>              append link-flags " -m elf32ppc"
>          }
>      }
> @@ -873,7 +873,7 @@ index 424e1b8..0de2e7b 100644
>  void
>  handle_USR1 (int sig)
> diff --git a/gdb/testsuite/gdb.base/annota3.c b/gdb/testsuite/gdb.base/annota3.c
> -index 424e1b8..952aaf2 100644
> +index 424e1b8..952aaf21 100644
> --- a/gdb/testsuite/gdb.base/annota3.c
> +++ b/gdb/testsuite/gdb.base/annota3.c
> @@ -1,6 +1,10 @@
> @@ -917,5 +917,5 @@ index 7566068..1205a9b 100644
>  static int count = 0;
> 
> --
> -2.1.4
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/force-readline-static.patch b/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
> similarity index 67%
> rename from meta/recipes-devtools/gdb/gdb/force-readline-static.patch
> rename to meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
> index d34ee8c..394d26d 100644
> --- a/meta/recipes-devtools/gdb/gdb/force-readline-static.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0006-Dont-disable-libreadline.a-when-using-disable-static.patch
> @@ -1,3 +1,8 @@
> +From f3932cb2960fd54655a448b13d5a5b80f356f8de Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Sat, 30 Apr 2016 15:25:03 -0700
> +Subject: [PATCH 06/10] Dont disable libreadline.a when using --disable-static
> +
> If gdb is configured with --disable-static then this is dutifully passed to
> readline which then disables libreadline.a, which causes a problem when gdb
> tries to link against that.
> @@ -7,12 +12,17 @@ the sub-configure.
> 
> Upstream-Status: Pending
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + Makefile.def | 3 ++-
> + Makefile.in  | 2 +-
> + 2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile.def b/Makefile.def
> -index 4394188..05c661a 100644
> +index ea8453e..0fc66c6 100644
> --- a/Makefile.def
> +++ b/Makefile.def
> -@@ -100,7 +100,8 @@ host_modules= { module= libiconv;
> +@@ -104,7 +104,8 @@ host_modules= { module= libiconv;
>  		missing= install-html;
>  		missing= install-info; };
>  host_modules= { module= m4; };
> @@ -23,10 +33,10 @@ index 4394188..05c661a 100644
>  host_modules= { module= sim; };
>  host_modules= { module= texinfo; no_install= true; };
> diff --git a/Makefile.in b/Makefile.in
> -index 61e0ab6..837f36e 100644
> +index 2733c4d..3e04e80 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> -@@ -24971,7 +24971,7 @@ configure-readline:
> +@@ -25380,7 +25380,7 @@ configure-readline:
>  	  $$s/$$module_srcdir/configure \
>  	  --srcdir=$${topdir}/$$module_srcdir \
>  	  $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
> @@ -35,3 +45,6 @@ index 61e0ab6..837f36e 100644
>  	  || exit 1
>  @endif readline
> 
> +--
> +2.8.2
> +
> diff --git a/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch b/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
> similarity index 69%
> rename from meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch
> rename to meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
> index eaec390..f32f8ee 100644
> --- a/meta/recipes-devtools/gdb/gdb/0001-use-asm-sgidefs.h.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0007-use-asm-sgidefs.h.patch
> @@ -1,7 +1,7 @@
> -From 677b5b56135141c0d259e370aacd0e11c810aa15 Mon Sep 17 00:00:00 2001
> -From: Andre McCurdy <armccurdy@gmail.com>
> -Date: Fri, 5 Feb 2016 14:00:00 -0800
> -Subject: [PATCH] use <asm/sgidefs.h>
> +From 048675a915a72989f2613386975730da016e7c5d Mon Sep 17 00:00:00 2001
> +From: Andre McCurdy <amccurdy@gmail.com>
> +Date: Sat, 30 Apr 2016 15:29:06 -0700
> +Subject: [PATCH 07/10] use <asm/sgidefs.h>
> 
> Build fix for MIPS with musl libc
> 
> @@ -13,12 +13,13 @@ instead.
> Upstream-Status: Pending
> 
> Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  gdb/mips-linux-nat.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
> -index a36bb63..fd5c705 100644
> +index 449b43a..09603da 100644
> --- a/gdb/mips-linux-nat.c
> +++ b/gdb/mips-linux-nat.c
> @@ -31,7 +31,7 @@
> @@ -27,9 +28,9 @@ index a36bb63..fd5c705 100644
> 
> -#include <sgidefs.h>
> +#include <asm/sgidefs.h>
> - #include <sys/ptrace.h>
> + #include "nat/gdb_ptrace.h"
>  #include <asm/ptrace.h>
> 
> --
> -1.9.1
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch b/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
> similarity index 49%
> rename from meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch
> rename to meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
> index 5f0c096..7e58b61 100644
> --- a/meta/recipes-devtools/gdb/gdb/0001-Use-exported-definitions-of-SIGRTMIN.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch
> @@ -1,7 +1,7 @@
> -From 2f97e89e9e4e5797d0d973e1d05c1f44c46b4912 Mon Sep 17 00:00:00 2001
> +From e54ead9d81f4d38412751b815f909db3cb144bb1 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> -Date: Fri, 5 Jun 2015 20:21:38 -0700
> -Subject: [PATCH] Use exorted definitions of SIGRTMIN
> +Date: Sat, 30 Apr 2016 15:31:40 -0700
> +Subject: [PATCH 08/10] Use exorted definitions of SIGRTMIN
> 
> Define W_STOPCODE if not defined already
> 
> @@ -11,38 +11,34 @@ may not provide them
> Fixes
> https://sourceware.org/bugzilla/show_bug.cgi?id=13012
> 
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> Upstream-Status: Submitted
> 
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
>  gdb/linux-nat.c     | 4 ++--
>  gdb/nat/linux-nat.h | 4 ++++
>  2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
> -index 396c30c..50320ee 100644
> +index 0829bcb..3b8a896 100644
> --- a/gdb/linux-nat.c
> +++ b/gdb/linux-nat.c
> -@@ -4856,10 +4856,10 @@ lin_thread_get_thread_signals (sigset_t *set)
> -      fortunately they don't change!  */
> -
> -   if (restart == 0)
> --    restart = __SIGRTMIN;
> -+    restart = SIGRTMIN;
> -
> -   if (cancel == 0)
> --    cancel = __SIGRTMIN + 1;
> -+    cancel = SIGRTMIN + 1;
> -
> -   sigaddset (set, restart);
> -   sigaddset (set, cancel);
> +@@ -4845,6 +4845,6 @@ lin_thread_get_thread_signals (sigset_t *set)
> +   /* NPTL reserves the first two RT signals, but does not provide any
> +      way for the debugger to query the signal numbers - fortunately
> +      they don't change.  */
> +-  sigaddset (set, __SIGRTMIN);
> +-  sigaddset (set, __SIGRTMIN + 1);
> ++  sigaddset (set, SIGRTMIN);
> ++  sigaddset (set, SIGRTMIN + 1);
> + }
> diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h
> -index 83a6d91..efbe0fd 100644
> +index 2b485db..d058afc 100644
> --- a/gdb/nat/linux-nat.h
> +++ b/gdb/nat/linux-nat.h
> -@@ -25,4 +25,8 @@
> -    instead SIGTRAP with bit 7 set.  */
> - #define SYSCALL_SIGTRAP (SIGTRAP | 0x80)
> +@@ -85,4 +85,8 @@ extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp);
> +
> + extern void linux_stop_lwp (struct lwp_info *lwp);
> 
> +#ifndef W_STOPCODE
> +#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
> @@ -50,5 +46,5 @@ index 83a6d91..efbe0fd 100644
> +
>  #endif /* LINUX_NAT_H */
> --
> -2.1.4
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch b/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
> similarity index 69%
> rename from meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch
> rename to meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
> index bccb45f..a230047 100644
> --- a/meta/recipes-devtools/gdb/gdb/0002-Change-order-of-CFLAGS.patch
> +++ b/meta/recipes-devtools/gdb/gdb/0009-Change-order-of-CFLAGS.patch
> @@ -1,7 +1,7 @@
> -From 262ccc4fdb2a3df0f16c61a807046964ae7729c9 Mon Sep 17 00:00:00 2001
> +From ba0bbf887d4911ccee9df57cb13eafb1de34bb31 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> -Date: Mon, 2 Mar 2015 02:29:23 +0000
> -Subject: [PATCH 2/3] Change order of CFLAGS
> +Date: Sat, 30 Apr 2016 15:35:39 -0700
> +Subject: [PATCH 09/10] Change order of CFLAGS
> 
> Lets us override Werror if need be
> 
> @@ -13,22 +13,22 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
> -index 1ed2ec8..0cef95b 100644
> +index 1e874e3..91e8550 100644
> --- a/gdb/gdbserver/Makefile.in
> +++ b/gdb/gdbserver/Makefile.in
> -@@ -131,10 +131,10 @@ CFLAGS = @CFLAGS@
> +@@ -138,10 +138,10 @@ CXXFLAGS = @CXXFLAGS@
>  CPPFLAGS = @CPPFLAGS@
> 
>  # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
> --INTERNAL_CFLAGS_BASE =  ${CFLAGS} ${GLOBAL_CFLAGS} \
> -+INTERNAL_CFLAGS_BASE = ${GLOBAL_CFLAGS} \
> +-INTERNAL_CFLAGS_BASE =  ${COMPILER_CFLAGS} ${GLOBAL_CFLAGS} \
> ++INTERNAL_CFLAGS_BASE =  ${GLOBAL_CFLAGS} \
>  	${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS}
>  INTERNAL_WARN_CFLAGS =  ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
> -INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
> -+INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${CFLAGS} -DGDBSERVER
> ++INTERNAL_CFLAGS =  ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) ${COMPILER_CFLAGS} -DGDBSERVER
> 
>  # LDFLAGS is specifically reserved for setting from the command line
>  # when running make.
> --
> -2.1.4
> +2.8.2
> 
> diff --git a/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch b/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
> new file mode 100644
> index 0000000..16c34c7
> --- /dev/null
> +++ b/meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
> @@ -0,0 +1,48 @@
> +From 5a9ccb8c0728b658fc4f7f0f7b36873c64274f10 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Tue, 10 May 2016 08:47:05 -0700
> +Subject: [PATCH 10/10] resolve restrict keyword conflict
> +
> +GCC detects that we call 'restrict' as param name in function
> +signatures and complains since both params are called 'restrict'
> +therefore we use __restrict to denote the C99 keywork
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + gdb/gnulib/import/sys_time.in.h | 8 ++++----
> + 1 file changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/gdb/gnulib/import/sys_time.in.h b/gdb/gnulib/import/sys_time.in.h
> +index c556c5d..2a6107f 100644
> +--- a/gdb/gnulib/import/sys_time.in.h
> ++++ b/gdb/gnulib/import/sys_time.in.h
> +@@ -93,20 +93,20 @@ struct timeval
> + #   define gettimeofday rpl_gettimeofday
> + #  endif
> + _GL_FUNCDECL_RPL (gettimeofday, int,
> +-                  (struct timeval *restrict, void *restrict)
> ++                  (struct timeval *__restrict, void *__restrict)
> +                   _GL_ARG_NONNULL ((1)));
> + _GL_CXXALIAS_RPL (gettimeofday, int,
> +-                  (struct timeval *restrict, void *restrict));
> ++                  (struct timeval *__restrict, void *__restrict));
> + # else
> + #  if !@HAVE_GETTIMEOFDAY@
> + _GL_FUNCDECL_SYS (gettimeofday, int,
> +-                  (struct timeval *restrict, void *restrict)
> ++                  (struct timeval *__restrict, void *__restrict)
> +                   _GL_ARG_NONNULL ((1)));
> + #  endif
> + /* Need to cast, because on glibc systems, by default, the second argument is
> +                                                   struct timezone *.  */
> + _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
> +-                       (struct timeval *restrict, void *restrict));
> ++                       (struct timeval *__restrict, void *__restrict));
> + # endif
> + _GL_CXXALIASWARN (gettimeofday);
> + #elif defined GNULIB_POSIXCHECK
> +--
> +2.8.2
> +
> diff --git a/meta/recipes-devtools/gdb/gdb_7.10.1.bb b/meta/recipes-devtools/gdb/gdb_7.11.bb
> similarity index 100%
> rename from meta/recipes-devtools/gdb/gdb_7.10.1.bb
> rename to meta/recipes-devtools/gdb/gdb_7.11.bb
> --
> 2.8.2
> 


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 02/42] glibc: Add recipes for 2.24 release
  2016-05-11 17:35 ` [PATCH 02/42] glibc: Add recipes for 2.24 release Khem Raj
@ 2016-05-12  5:50   ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-12  5:50 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 55690 bytes --]

I accidentally overwrote
http://git.openembedded.org/openembedded-core/commit/?id=33d4c758a5d71435437dde74556d32404d91342f
pushed a v2 to pull branch to fix this

> On May 11, 2016, at 10:35 AM, Khem Raj <raj.khem@gmail.com> wrote:
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../fix_for_centos_5.8.patch                       | 18 --------
> ...tive_2.23.bb => cross-localedef-native_2.24.bb} | 26 ++++++------
> ...glibc-initial_2.23.bb => glibc-initial_2.24.bb} |  0
> .../{glibc-locale_2.23.bb => glibc-locale_2.24.bb} |  0
> .../{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} |  0
> ...glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} |  0
> ...libc-Look-for-host-system-ld.so.cache-as-.patch |  8 ++--
> ...libc-Fix-buffer-overrun-with-a-relocated-.patch |  8 ++--
> ...libc-Raise-the-size-of-arrays-containing-.patch | 34 ++++++---------
> ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch | 10 +++--
> ...500-e5500-e6500-603e-fsqrt-implementation.patch |  6 +--
> ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch |  8 ++--
> ...-Fix-undefined-reference-to-__sqrt_finite.patch |  6 +--
> ...qrt-f-are-now-inline-functions-and-call-o.patch |  6 +--
> ...bug-1443-which-explains-what-the-patch-do.patch |  8 ++--
> ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch | 10 ++---
> ...qrt-f-are-now-inline-functions-and-call-o.patch |  6 +--
> ...ersion-output-matching-grok-gold-s-output.patch | 14 +++----
> ...-configure.ac-handle-correctly-libc_cv_ro.patch |  6 +--
> .../glibc/glibc/0014-Add-unused-attribute.patch    |  8 ++--
> ...thin-the-path-sets-wrong-config-variables.patch | 10 ++---
> ...-timezone-re-written-tzselect-as-posix-sh.patch | 16 ++++----
> ...move-bash-dependency-for-nscd-init-script.patch |  8 ++--
> ...c-Cross-building-and-testing-instructions.patch |  6 +--
> ...019-eglibc-Help-bootstrap-cross-toolchain.patch |  8 ++--
> .../glibc/0020-eglibc-cherry-picked-from.patch     | 18 ++++----
> .../0021-eglibc-Clear-cache-lines-on-ppc8xx.patch  | 10 ++---
> ...0022-eglibc-Resolve-__fpscr_values-on-SH4.patch |  8 ++--
> .../glibc/0023-eglibc-Install-PIC-archives.patch   |  8 ++--
> ...ard-port-cross-locale-generation-support.patch} | 30 +++++++-------
> ...0025-Define-DUMMY_LOCALE_T-if-not-defined.patch | 32 +++++++++++++++
> ...ing-SSE-make-sure-fpmath-is-not-set-to-us.patch | 48 ----------------------
> .../glibc/{glibc_2.23.bb => glibc_2.24.bb}         | 12 +++---
> 33 files changed, 176 insertions(+), 220 deletions(-)
> delete mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
> rename meta/recipes-core/glibc/{cross-localedef-native_2.23.bb => cross-localedef-native_2.24.bb} (79%)
> rename meta/recipes-core/glibc/{glibc-initial_2.23.bb => glibc-initial_2.24.bb} (100%)
> rename meta/recipes-core/glibc/{glibc-locale_2.23.bb => glibc-locale_2.24.bb} (100%)
> rename meta/recipes-core/glibc/{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} (100%)
> rename meta/recipes-core/glibc/{glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} (100%)
> rename meta/recipes-core/glibc/glibc/{0025-eglibc-Forward-port-cross-locale-generation-support.patch => 0024-eglibc-Forward-port-cross-locale-generation-support.patch} (97%)
> create mode 100644 meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
> delete mode 100644 meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
> rename meta/recipes-core/glibc/{glibc_2.23.bb => glibc_2.24.bb} (93%)
> 
> diff --git a/meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch b/meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
> deleted file mode 100644
> index 186a480..0000000
> --- a/meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -Upstream-Status: Inappropriate [other]
> -
> -This is a hack to fix building the locale bits on an older
> -CentOs 5.X machine
> -
> -Index: git/locale/programs/config.h
> -===================================================================
> ---- git/locale/programs/config.h
> -+++ git.orig/locale/programs/config.h
> -@@ -19,6 +19,8 @@
> - #ifndef _LD_CONFIG_H
> - #define _LD_CONFIG_H	1
> -
> -+#define DUMMY_LOCALE_T
> -+
> - /* Use the internal textdomain used for libc messages.  */
> - #define PACKAGE _libc_intl_domainname
> - #ifndef VERSION
> diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.23.bb b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb
> similarity index 79%
> rename from meta/recipes-core/glibc/cross-localedef-native_2.23.bb
> rename to meta/recipes-core/glibc/cross-localedef-native_2.24.bb
> index a6795ed..9b86a32 100644
> --- a/meta/recipes-core/glibc/cross-localedef-native_2.23.bb
> +++ b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb
> @@ -9,25 +9,21 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \
>       file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
> 
> 
> -# Tell autotools that we're working in the localedef directory
> -#
> -AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
> -
> inherit native
> inherit autotools
> 
> FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
> 
> -SRCBRANCH ?= "release/${PV}/master"
> +#SRCBRANCH ?= "release/${PV}/master"
> GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
> +SRCBRANCH ?= "master"
> UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
> 
> +SRCREV_glibc ?= "1ac3eaa6bcc473a56340c24511786ff48a91293e"
> +SRCREV_localedef ?= "29869b6dc11427c5bab839bdb155c85a7c644c71"
> +
> SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
>            git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
> -           file://fix_for_centos_5.8.patch \
> -           ${EGLIBCPATCHES} \
> -"
> -EGLIBCPATCHES = "\
>            file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
>            file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
>            file://0018-eglibc-Cross-building-and-testing-instructions.patch \
> @@ -36,12 +32,9 @@ EGLIBCPATCHES = "\
>            file://0021-eglibc-Clear-cache-lines-on-ppc8xx.patch \
>            file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \
>            file://0023-eglibc-Install-PIC-archives.patch \
> -           file://0025-eglibc-Forward-port-cross-locale-generation-support.patch \
> +           file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \
> +           file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \
> "
> -
> -SRCREV_glibc ?= "e742928c1592b43db6809db4f39e67be151cdd27"
> -SRCREV_localedef ?= "5a81ff9f06a7a808d4c3d37bbf34077a4c5902ed"
> -
> # Makes for a rather long rev (22 characters), but...
> #
> SRCREV_FORMAT = "glibc_localedef"
> @@ -51,6 +44,11 @@ S = "${WORKDIR}/git"
> EXTRA_OECONF = "--with-glibc=${S}"
> CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'"
> 
> +do_configure () {
> +	${S}/localedef/configure ${EXTRA_OECONF}
> +}
> +
> +
> do_install() {
> 	install -d ${D}${bindir}
> 	install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef
> diff --git a/meta/recipes-core/glibc/glibc-initial_2.23.bb b/meta/recipes-core/glibc/glibc-initial_2.24.bb
> similarity index 100%
> rename from meta/recipes-core/glibc/glibc-initial_2.23.bb
> rename to meta/recipes-core/glibc/glibc-initial_2.24.bb
> diff --git a/meta/recipes-core/glibc/glibc-locale_2.23.bb b/meta/recipes-core/glibc/glibc-locale_2.24.bb
> similarity index 100%
> rename from meta/recipes-core/glibc/glibc-locale_2.23.bb
> rename to meta/recipes-core/glibc/glibc-locale_2.24.bb
> diff --git a/meta/recipes-core/glibc/glibc-mtrace_2.23.bb b/meta/recipes-core/glibc/glibc-mtrace_2.24.bb
> similarity index 100%
> rename from meta/recipes-core/glibc/glibc-mtrace_2.23.bb
> rename to meta/recipes-core/glibc/glibc-mtrace_2.24.bb
> diff --git a/meta/recipes-core/glibc/glibc-scripts_2.23.bb b/meta/recipes-core/glibc/glibc-scripts_2.24.bb
> similarity index 100%
> rename from meta/recipes-core/glibc/glibc-scripts_2.23.bb
> rename to meta/recipes-core/glibc/glibc-scripts_2.24.bb
> diff --git a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
> index 97c2800..ca33758 100644
> --- a/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
> +++ b/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
> @@ -1,7 +1,7 @@
> -From 66d04e2cd8badb0984050e4e9f2732f47151fbbf Mon Sep 17 00:00:00 2001
> +From 7e11aafc3a7cb873b3f648740c8acd379597e4d1 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 01:48:24 +0000
> -Subject: [PATCH 01/24] nativesdk-glibc: Look for host system ld.so.cache as
> +Subject: [PATCH 01/25] nativesdk-glibc: Look for host system ld.so.cache as
>  well
> 
> Upstream-Status: Inappropriate [embedded specific]
> @@ -31,7 +31,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/elf/dl-load.c b/elf/dl-load.c
> -index 6fb615e..ee3d1e6 100644
> +index c0d6249..2c73105 100644
> --- a/elf/dl-load.c
> +++ b/elf/dl-load.c
> @@ -2094,6 +2094,14 @@ _dl_map_object (struct link_map *loader, const char *name,
> @@ -65,5 +65,5 @@ index 6fb615e..ee3d1e6 100644
>        if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
>  	_dl_debug_printf ("\n");
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
> index 473b894..5428468 100644
> --- a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
> +++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
> @@ -1,7 +1,7 @@
> -From 179dc5f1e13c3ff96d5f21a2a78c089cf120ceb8 Mon Sep 17 00:00:00 2001
> +From 5fd884dc28d5d84001fae8ffdd8be698bb84143e Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 01:50:00 +0000
> -Subject: [PATCH 02/24] nativesdk-glibc: Fix buffer overrun with a relocated
> +Subject: [PATCH 02/25] nativesdk-glibc: Fix buffer overrun with a relocated
>  SDK
> 
> When ld-linux-*.so.2 is relocated to a path that is longer than the
> @@ -22,7 +22,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 12 insertions(+)
> 
> diff --git a/elf/dl-load.c b/elf/dl-load.c
> -index ee3d1e6..c4a42e9 100644
> +index 2c73105..c7b8797 100644
> --- a/elf/dl-load.c
> +++ b/elf/dl-load.c
> @@ -1793,7 +1793,19 @@ open_path (const char *name, size_t namelen, int mode,
> @@ -46,5 +46,5 @@ index ee3d1e6..c4a42e9 100644
>      {
>        struct r_search_path_elem *this_dir = *dirs;
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
> index 60f9f17..23b9fcb 100644
> --- a/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
> +++ b/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
> @@ -1,7 +1,7 @@
> -From e76048898ae9aa49dc70d6f9b1bbc22082e61fe3 Mon Sep 17 00:00:00 2001
> +From c99892f2018cd7fa0f37b53e6cebec99fa036472 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 01:51:38 +0000
> -Subject: [PATCH 03/24] nativesdk-glibc: Raise the size of arrays containing dl
> +Subject: [PATCH 03/25] nativesdk-glibc: Raise the size of arrays containing dl
>  paths
> 
> This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
> @@ -25,7 +25,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  6 files changed, 13 insertions(+), 9 deletions(-)
> 
> diff --git a/elf/dl-cache.c b/elf/dl-cache.c
> -index dec49bc..862f1d8 100644
> +index cfa335e..daa12ec 100644
> --- a/elf/dl-cache.c
> +++ b/elf/dl-cache.c
> @@ -132,6 +132,10 @@ do									      \
> @@ -40,7 +40,7 @@ index dec49bc..862f1d8 100644
>  internal_function
>  _dl_cache_libcmp (const char *p1, const char *p2)
> diff --git a/elf/dl-load.c b/elf/dl-load.c
> -index c4a42e9..acf6c03 100644
> +index c7b8797..37a1beb 100644
> --- a/elf/dl-load.c
> +++ b/elf/dl-load.c
> @@ -106,8 +106,8 @@ static size_t max_capstrlen attribute_relro;
> @@ -55,7 +55,7 @@ index c4a42e9..acf6c03 100644
>    SYSTEM_DIRS_LEN
>  };
> diff --git a/elf/interp.c b/elf/interp.c
> -index 422ea95e..6d61a36 100644
> +index 9448802..e7e8c70 100644
> --- a/elf/interp.c
> +++ b/elf/interp.c
> @@ -18,5 +18,5 @@
> @@ -66,10 +66,10 @@ index 422ea95e..6d61a36 100644
> +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
>    = RUNTIME_LINKER;
> diff --git a/elf/ldconfig.c b/elf/ldconfig.c
> -index f54ec22..0e78a83 100644
> +index 467ca82..631a2a9 100644
> --- a/elf/ldconfig.c
> +++ b/elf/ldconfig.c
> -@@ -167,6 +167,9 @@ static struct argp argp =
> +@@ -168,6 +168,9 @@ static struct argp argp =
>    options, parse_opt, NULL, doc, NULL, more_help, NULL
>  };
> 
> @@ -80,7 +80,7 @@ index f54ec22..0e78a83 100644
>     a platform.  */
>  static int
> diff --git a/elf/rtld.c b/elf/rtld.c
> -index 52160df..80f0582 100644
> +index 647661c..4e16a43 100644
> --- a/elf/rtld.c
> +++ b/elf/rtld.c
> @@ -99,6 +99,7 @@ uintptr_t __pointer_chk_guard_local
> @@ -107,7 +107,7 @@ index 52160df..80f0582 100644
>        ++_dl_skip_args;
>        --_dl_argc;
> diff --git a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
> -index 70d4aeb..5c726d0 100644
> +index eb2f900..505804e 100644
> --- a/sysdeps/generic/dl-cache.h
> +++ b/sysdeps/generic/dl-cache.h
> @@ -27,10 +27,6 @@
> @@ -121,16 +121,6 @@ index 70d4aeb..5c726d0 100644
>  #ifndef add_system_dir
>  # define add_system_dir(dir) add_dir (dir)
>  #endif
> -Index: git/iconv/gconv_conf.c
> -===================================================================
> ---- git.orig/iconv/gconv_conf.c
> -+++ git/iconv/gconv_conf.c
> -@@ -36,7 +36,7 @@
> -
> -
> - /* This is the default path where we look for module lists.  */
> --static const char default_gconv_path[] = GCONV_PATH;
> -+static char default_gconv_path[4096] __attribute__ ((section (".gccrelocprefix"))) = GCONV_PATH;
> -
> - /* The path elements, as determined by the __gconv_get_path function.
> -    All path elements end in a slash.  */
> +--
> +2.8.2
> +
> diff --git a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
> index 21f04a1..3127de6 100644
> --- a/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
> +++ b/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
> @@ -1,7 +1,7 @@
> -From 2e1638115f0f924ee8235eee9265047054c15cfd Mon Sep 17 00:00:00 2001
> +From a56e7aa2fd10b178b9498f88a7a2ca8aad671a53 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Thu, 31 Dec 2015 14:35:35 -0800
> -Subject: [PATCH 04/24] nativesdk-glibc: Allow 64 bit atomics for x86
> +Subject: [PATCH 04/25] nativesdk-glibc: Allow 64 bit atomics for x86
> 
> The fix consist of allowing 64bit atomic ops for x86.
> This should be safe for i586 and newer CPUs.
> @@ -11,11 +11,13 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> +Upstream-Status: Pending
> +
>  sysdeps/i386/atomic-machine.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sysdeps/i386/atomic-machine.h b/sysdeps/i386/atomic-machine.h
> -index 59f3d34..6f6b7ff 100644
> +index ce62b33..4fe44ea 100644
> --- a/sysdeps/i386/atomic-machine.h
> +++ b/sysdeps/i386/atomic-machine.h
> @@ -54,7 +54,7 @@ typedef uintmax_t uatomic_max_t;
> @@ -28,5 +30,5 @@ index 59f3d34..6f6b7ff 100644
> 
> 
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
> index ba8c92e..dc0dfad 100644
> --- a/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
> +++ b/meta/recipes-core/glibc/glibc/0005-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
> @@ -1,7 +1,7 @@
> -From 7ff57edfe24b4243373fcb896ee0b613938c1ec9 Mon Sep 17 00:00:00 2001
> +From 450473ce27b47cebec2c5c5b611a8c8bed41e6e8 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:01:50 +0000
> -Subject: [PATCH 05/24] fsl e500/e5500/e6500/603e fsqrt implementation
> +Subject: [PATCH 05/25] fsl e500/e5500/e6500/603e fsqrt implementation
> 
> Upstream-Status: Pending
> Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
> @@ -1580,5 +1580,5 @@ index 0000000..04ff8cc
> @@ -0,0 +1 @@
> +powerpc/powerpc64/e6500/fpu
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
> index 086a73d..f267f66 100644
> --- a/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
> +++ b/meta/recipes-core/glibc/glibc/0006-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
> @@ -1,7 +1,7 @@
> -From 61129ef3ee735b300604f75d50e01cb29f4387f4 Mon Sep 17 00:00:00 2001
> +From bb065b78e9e0d3301e64a26e37550a657c885ebc Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:11:22 +0000
> -Subject: [PATCH 06/24] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
> +Subject: [PATCH 06/25] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
>  names
> 
> This bolts in a hook for OE to pass its own version of interpreter
> @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 1 insertion(+)
> 
> diff --git a/elf/readlib.c b/elf/readlib.c
> -index 7fd5b8a..2f5da9f 100644
> +index 8a66ffe..08d56fc 100644
> --- a/elf/readlib.c
> +++ b/elf/readlib.c
> @@ -51,6 +51,7 @@ static struct known_names interpreters[] =
> @@ -29,5 +29,5 @@ index 7fd5b8a..2f5da9f 100644
> 
>  static struct known_names known_libs[] =
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
> index 952784b..612e892 100644
> --- a/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
> +++ b/meta/recipes-core/glibc/glibc/0007-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
> @@ -1,7 +1,7 @@
> -From f936548decac99501f9a4c522a3211d16542fa49 Mon Sep 17 00:00:00 2001
> +From 4a91bbdb11a15f93094695bba4e0849c421fad48 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:15:07 +0000
> -Subject: [PATCH 07/24] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
> +Subject: [PATCH 07/25] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
> 
> on ppc fixes the errors like below
> | ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
> @@ -204,5 +204,5 @@ index 26fa067..9d17512 100644
>  }
> +strong_alias (__ieee754_sqrtf, __sqrtf_finite)
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> index 8d513ab..9e222b7 100644
> --- a/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> +++ b/meta/recipes-core/glibc/glibc/0008-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> @@ -1,7 +1,7 @@
> -From d02704895fdce917e337619a4414042f63edd88b Mon Sep 17 00:00:00 2001
> +From ce2746a1560b4430d89d114e1b65c7be225b4c2a Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:16:38 +0000
> -Subject: [PATCH 08/24] __ieee754_sqrt{,f} are now inline functions and call
> +Subject: [PATCH 08/25] __ieee754_sqrt{,f} are now inline functions and call
>  out __slow versions
> 
> Upstream-Status: Pending
> @@ -383,5 +383,5 @@ index 9d17512..10de1f0 100644
> +
>  strong_alias (__ieee754_sqrtf, __sqrtf_finite)
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
> index 12f24fb..7aa74df 100644
> --- a/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
> +++ b/meta/recipes-core/glibc/glibc/0009-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
> @@ -1,7 +1,7 @@
> -From 502f061d846e58aac7aca67e4e0d6ba9e0763b17 Mon Sep 17 00:00:00 2001
> +From 1b61649e545de76dd79a5e2c39bb16d0c4623160 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:20:09 +0000
> -Subject: [PATCH 09/24] Quote from bug 1443 which explains what the patch does
> +Subject: [PATCH 09/25] Quote from bug 1443 which explains what the patch does
>  :
> 
>   We build some random program and link it with -lust.  When we run it,
> @@ -45,7 +45,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h
> -index 6fb20bd..8805537 100644
> +index 60eee00..7d54d5e 100644
> --- a/sysdeps/arm/dl-machine.h
> +++ b/sysdeps/arm/dl-machine.h
> @@ -499,7 +499,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
> @@ -58,5 +58,5 @@ index 6fb20bd..8805537 100644
> 
>  	case R_ARM_TLS_TPOFF32:
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
> index 77bd7d1..14963a3 100644
> --- a/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
> +++ b/meta/recipes-core/glibc/glibc/0010-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
> @@ -1,7 +1,7 @@
> -From 69a3e30b49d28a7386d18725528652931510cbfc Mon Sep 17 00:00:00 2001
> +From 91af416408b8718b004c83d93a6daa1f34cba48d Mon Sep 17 00:00:00 2001
> From: Ting Liu <b28495@freescale.com>
> Date: Wed, 19 Dec 2012 04:39:57 -0600
> -Subject: [PATCH 10/24] eglibc: run libm-err-tab.pl with specific dirs in ${S}
> +Subject: [PATCH 10/25] eglibc: run libm-err-tab.pl with specific dirs in ${S}
> 
> libm-err-tab.pl will parse all the files named "libm-test-ulps"
> in the given dir recursively. To avoid parsing the one in
> @@ -10,7 +10,7 @@ ${S}/.pc/aarch64-0001-glibc-fsf-v1-eaf6f205.patch/ports/sysdeps/
> aarch64/libm-test-ulps), run libm-err-tab.pl with specific dirs
> in ${S}.
> 
> -Upstream-Status: Inappropriate [OE specific]
> +Upstream-Status: inappropriate [OE specific]
> 
> Signed-off-by: Ting Liu <b28495@freescale.com>
> ---
> @@ -18,7 +18,7 @@ Signed-off-by: Ting Liu <b28495@freescale.com>
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/manual/Makefile b/manual/Makefile
> -index cdb6763..0b32a0a 100644
> +index f2f694f..e062833 100644
> --- a/manual/Makefile
> +++ b/manual/Makefile
> @@ -105,7 +105,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err
> @@ -32,5 +32,5 @@ index cdb6763..0b32a0a 100644
>  	touch $@
> 
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> index 251e5f5..e92d04c 100644
> --- a/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> +++ b/meta/recipes-core/glibc/glibc/0011-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
> @@ -1,7 +1,7 @@
> -From 4cf52971a841304aec30b2e975f81d7ad9d42ef0 Mon Sep 17 00:00:00 2001
> +From 6a71f688471fe0c85f8ad9afc4ee0723a20aae1d Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:24:46 +0000
> -Subject: [PATCH 11/24] __ieee754_sqrt{,f} are now inline functions and call
> +Subject: [PATCH 11/25] __ieee754_sqrt{,f} are now inline functions and call
>  out __slow versions
> 
> Upstream-Status: Pending
> @@ -57,5 +57,5 @@ index 8126535..10de1f0 100644
>  #endif
>  {
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch b/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch
> index 3208a0c..4cba03f 100644
> --- a/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch
> +++ b/meta/recipes-core/glibc/glibc/0012-Make-ld-version-output-matching-grok-gold-s-output.patch
> @@ -1,7 +1,7 @@
> -From b356816d6e005ecda7adbed9627a4315ad39de39 Mon Sep 17 00:00:00 2001
> +From f9d024edb158659e403b51cc9d93da9bca6e5d7b Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:25:45 +0000
> -Subject: [PATCH 12/24] Make ld --version output matching grok gold's output
> +Subject: [PATCH 12/25] Make ld --version output matching grok gold's output
> 
> adapted from from upstream branch roland/gold-vs-libc
> 
> @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> -index aa05d49..6dabd11 100755
> +index 8fe5937..7888a3f 100755
> --- a/configure
> +++ b/configure
> -@@ -4486,7 +4486,7 @@ else
> +@@ -4482,7 +4482,7 @@ else
>    # Found it, now check the version.
>    { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $LD" >&5
>  $as_echo_n "checking version of $LD... " >&6; }
> @@ -27,10 +27,10 @@ index aa05d49..6dabd11 100755
>      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
>      2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
> diff --git a/configure.ac b/configure.ac
> -index ee7a3f1..b4b95b9 100644
> +index 3c766b7..6908a99 100644
> --- a/configure.ac
> +++ b/configure.ac
> -@@ -948,7 +948,7 @@ AC_CHECK_PROG_VER(AS, $AS, --version,
> +@@ -944,7 +944,7 @@ AC_CHECK_PROG_VER(AS, $AS, --version,
>  		  [2.1[0-9][0-9]*|2.2[2-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
>  		  AS=: critic_missing="$critic_missing as")
>  AC_CHECK_PROG_VER(LD, $LD, --version,
> @@ -40,5 +40,5 @@ index ee7a3f1..b4b95b9 100644
>  		  LD=: critic_missing="$critic_missing ld")
> 
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
> index 82fa100..6a82f8d 100644
> --- a/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
> +++ b/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
> @@ -1,7 +1,7 @@
> -From 10003d48f83f7a4f7fa562ed89af904a544b6323 Mon Sep 17 00:00:00 2001
> +From 2ece12093c8ba4cf688d235f35d36f1feb02324c Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:27:10 +0000
> -Subject: [PATCH 13/24] sysdeps/gnu/configure.ac: handle correctly
> +Subject: [PATCH 13/25] sysdeps/gnu/configure.ac: handle correctly
>  $libc_cv_rootsbindir
> 
> Upstream-Status:Pending
> @@ -38,5 +38,5 @@ index 634fe4d..3db1697 100644
>    ;;
>  esac
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
> index ea3e167..d14a6d4 100644
> --- a/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
> +++ b/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
> @@ -1,7 +1,7 @@
> -From cafa8a7ef830e02cdbf928471e06d11054946940 Mon Sep 17 00:00:00 2001
> +From 9fec083dc99d2b524090e1d098e03709eed64a72 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:28:41 +0000
> -Subject: [PATCH 14/24] Add unused attribute
> +Subject: [PATCH 14/25] Add unused attribute
> 
> Helps in avoiding gcc warning when header is is included in
> a source file which does not use both functions
> @@ -17,7 +17,7 @@ Upstream-Status: Pending
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
> -index 80290bc..7890a8e 100644
> +index 95cbce7..191a0dd 100644
> --- a/iconv/gconv_charset.h
> +++ b/iconv/gconv_charset.h
> @@ -21,7 +21,7 @@
> @@ -30,5 +30,5 @@ index 80290bc..7890a8e 100644
>  {
>    int slash_count = 0;
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
> index 90e12b8..8ceccec 100644
> --- a/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
> +++ b/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
> @@ -1,7 +1,7 @@
> -From 4d6bead19874e519752ceeb2a15897ff2ffbe5e8 Mon Sep 17 00:00:00 2001
> +From 1794a97cba0b09b726eebc565c783c7b7c22dfba Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:31:06 +0000
> -Subject: [PATCH 15/24] 'yes' within the path sets wrong config variables
> +Subject: [PATCH 15/25] 'yes' within the path sets wrong config variables
> 
> It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
> but being such a short word to grep it is likely to produce
> @@ -165,7 +165,7 @@ index f05f438..dc86399 100644
>    ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)])
>  if test $libc_cv_nios2_be = yes; then
> diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
> -index dee56aa..f2049ed 100644
> +index a5513fa..283b293 100644
> --- a/sysdeps/unix/sysv/linux/mips/configure
> +++ b/sysdeps/unix/sysv/linux/mips/configure
> @@ -414,11 +414,11 @@ else
> @@ -183,7 +183,7 @@ index dee56aa..f2049ed 100644
>  else
>    libc_cv_mips_nan2008=no
> diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac
> -index 45147c5..4224af1 100644
> +index 9147aa4..7898e24 100644
> --- a/sysdeps/unix/sysv/linux/mips/configure.ac
> +++ b/sysdeps/unix/sysv/linux/mips/configure.ac
> @@ -105,9 +105,9 @@ AC_COMPILE_IFELSE(
> @@ -259,5 +259,5 @@ index 0822915..9a32fdd 100644
>      ], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
>    if test $libc_cv_ppc64_def_call_elf = no; then
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
> index e51b611..e5b5083 100644
> --- a/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
> +++ b/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
> @@ -1,7 +1,7 @@
> -From 3e8586eb3509e2f0d6dfb74be8f89a30b06b56e9 Mon Sep 17 00:00:00 2001
> +From fdb5c9c88e3d1bc5ae6ef9ebcfcf560d3c42f0a6 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:33:03 +0000
> -Subject: [PATCH 16/24] timezone: re-written tzselect as posix sh
> +Subject: [PATCH 16/25] timezone: re-written tzselect as posix sh
> 
> To avoid the bash dependency.
> 
> @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/timezone/Makefile b/timezone/Makefile
> -index 99566cb..b6e757e 100644
> +index dee7568..66a50be 100644
> --- a/timezone/Makefile
> +++ b/timezone/Makefile
> -@@ -122,7 +122,7 @@ $(testdata)/XT%: testdata/XT%
> +@@ -120,7 +120,7 @@ $(testdata)/XT%: testdata/XT%
>  	cp $< $@
> 
>  $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
> @@ -28,7 +28,7 @@ index 99566cb..b6e757e 100644
>  	    -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
>  	    -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
> diff --git a/timezone/tzselect.ksh b/timezone/tzselect.ksh
> -index 9d70691..25f45a8 100755
> +index 2c3b2f4..0c04a61 100755
> --- a/timezone/tzselect.ksh
> +++ b/timezone/tzselect.ksh
> @@ -35,7 +35,7 @@ REPORT_BUGS_TO=tz@iana.org
> @@ -38,8 +38,8 @@ index 9d70691..25f45a8 100755
> -: ${TZDIR=`pwd`}
> +: ${TZDIR=$(pwd)}
> 
> - # Check for awk Posix compliance.
> - ($AWK -v x=y 'BEGIN { exit 123 }') </dev/null >/dev/null 2>&1
> + # Output one argument as-is to standard output.
> + # Safer than 'echo', which can mishandle '\' or leading '-'.
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
> index 0c9ae6c..c8da05d 100644
> --- a/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
> +++ b/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
> @@ -1,7 +1,7 @@
> -From cd9d9fe7316f4ce4ca9d8e67e22f5718879535e4 Mon Sep 17 00:00:00 2001
> +From 88ad88d014a5ee68b0e044d2def5ab13743c8ae0 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Thu, 31 Dec 2015 14:33:02 -0800
> -Subject: [PATCH 17/24] Remove bash dependency for nscd init script
> +Subject: [PATCH 17/25] Remove bash dependency for nscd init script
> 
> The nscd init script uses #! /bin/bash but only really uses one bashism
> (translated strings), so remove them and switch the shell to #!/bin/sh.
> @@ -9,6 +9,8 @@ The nscd init script uses #! /bin/bash but only really uses one bashism
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> +Upstream-Status: Pending
> +
>  nscd/nscd.init | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> @@ -69,5 +71,5 @@ index a882da7..b02986e 100644
>  	;;
>  esac
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
> index e282e60..1750765 100644
> --- a/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
> +++ b/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
> @@ -1,7 +1,7 @@
> -From 8f554f4a1beb39182aad9cd9b5e1da69464dff7e Mon Sep 17 00:00:00 2001
> +From 49c0ad7dc2e02e808ed150296a109b586c34115a Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:42:58 +0000
> -Subject: [PATCH 18/24] eglibc: Cross building and testing instructions
> +Subject: [PATCH 18/25] eglibc: Cross building and testing instructions
> 
> Ported from eglibc
> Upstream-Status: Pending
> @@ -615,5 +615,5 @@ index 0000000..b67b468
> +  simply place copies of these libraries in the top GLIBC build
> +  directory.
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
> index c04e0a1..f983d86 100644
> --- a/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
> +++ b/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
> @@ -1,7 +1,7 @@
> -From c2d49eab20db4ab02b6de62092fedc623d757146 Mon Sep 17 00:00:00 2001
> +From e881face7a10354612bf634b44e09e3bc6462c67 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:49:28 +0000
> -Subject: [PATCH 19/24] eglibc: Help bootstrap cross toolchain
> +Subject: [PATCH 19/25] eglibc: Help bootstrap cross toolchain
> 
> Taken from EGLIBC, r1484 + r1525
> 
> @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  create mode 100644 include/stubs-bootstrap.h
> 
> diff --git a/Makefile b/Makefile
> -index 9a01c93..a6ae003 100644
> +index 32748b3..6d055ba 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -69,9 +69,18 @@ subdir-dirs = include
> @@ -96,5 +96,5 @@ index 0000000..1d2b669
> +   EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
> +   an empty stubs.h like this will do fine for GCC.  */
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch b/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch
> index 4362efa..30c4c69 100644
> --- a/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch
> +++ b/meta/recipes-core/glibc/glibc/0020-eglibc-cherry-picked-from.patch
> @@ -1,7 +1,7 @@
> -From 588d936b9aa65e7cc8b1eb2cad1d209087db43a9 Mon Sep 17 00:00:00 2001
> +From 723a31d3e2627211b39fbcc08f75b3c23c4096c5 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Thu, 31 Dec 2015 15:10:33 -0800
> -Subject: [PATCH 20/24] eglibc: cherry-picked from
> +Subject: [PATCH 20/25] eglibc: cherry-picked from
> 
> http://www.eglibc.org/archives/patches/msg00772.html
> 
> @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/resolv/res_libc.c b/resolv/res_libc.c
> -index a8394e0..981ac7c 100644
> +index a4b376f..3256e12 100644
> --- a/resolv/res_libc.c
> +++ b/resolv/res_libc.c
> -@@ -18,6 +18,7 @@
> +@@ -21,11 +21,13 @@
>  #include <atomic.h>
>  #include <limits.h>
>  #include <sys/types.h>
> @@ -26,15 +26,13 @@ index a8394e0..981ac7c 100644
>  #include <netinet/in.h>
>  #include <arpa/nameser.h>
>  #include <resolv.h>
> -@@ -28,6 +29,7 @@
> -    out) since res_init() should go into libc.so but the rest of that
> -    file should not.  */
> + #include <libc-lock.h>
> 
> +__libc_lock_define_initialized (static, lock);
>  extern unsigned long long int __res_initstamp attribute_hidden;
>  /* We have atomic increment operations on 64-bit platforms.  */
>  #if __WORDSIZE == 64
> -@@ -35,7 +37,6 @@ extern unsigned long long int __res_initstamp attribute_hidden;
> +@@ -33,7 +35,6 @@ extern unsigned long long int __res_initstamp attribute_hidden;
>  # define atomicincunlock(lock) (void) 0
>  # define atomicinc(var) catomic_increment (&(var))
>  #else
> @@ -42,7 +40,7 @@ index a8394e0..981ac7c 100644
>  # define atomicinclock(lock) __libc_lock_lock (lock)
>  # define atomicincunlock(lock) __libc_lock_unlock (lock)
>  # define atomicinc(var) ++var
> -@@ -94,7 +95,18 @@ res_init(void) {
> +@@ -92,7 +93,18 @@ res_init(void) {
>  int
>  __res_maybe_init (res_state resp, int preinit)
>  {
> @@ -62,5 +60,5 @@ index a8394e0..981ac7c 100644
>  			if (resp->nscount > 0)
>  				__res_iclose (resp, true);
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch b/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch
> index 225f22f..8931c9e 100644
> --- a/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch
> +++ b/meta/recipes-core/glibc/glibc/0021-eglibc-Clear-cache-lines-on-ppc8xx.patch
> @@ -1,7 +1,7 @@
> -From b74e34e6f53816ad57b13ba6fd70a97db1bc1eae Mon Sep 17 00:00:00 2001
> +From 9699873820d0347c2f377f0d86bce615d87a5e47 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Thu, 31 Dec 2015 15:15:09 -0800
> -Subject: [PATCH 21/24] eglibc: Clear cache lines on ppc8xx
> +Subject: [PATCH 21/25] eglibc: Clear cache lines on ppc8xx
> 
> 2007-06-13  Nathan Sidwell  <nathan@codesourcery.com>
>             Mark Shinwell  <shinwell@codesourcery.com>
> @@ -21,7 +21,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  2 files changed, 28 insertions(+), 2 deletions(-)
> 
> diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
> -index c2504ff..d50f1cb 100644
> +index 98ec2b3..b384ae0 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
> +++ b/sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
> @@ -24,9 +24,21 @@ int __cache_line_size attribute_hidden;
> @@ -48,7 +48,7 @@ index c2504ff..d50f1cb 100644
>  	break;
> 
> diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
> -index 209a16d..5d8572d 100644
> +index 0efd297..8cc0ef8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c
> +++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c
> @@ -73,11 +73,25 @@ __libc_start_main (int argc, char **argv,
> @@ -79,5 +79,5 @@ index 209a16d..5d8572d 100644
>  	break;
>  #ifndef SHARED
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch b/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch
> index 88b20f6..f53f5ff 100644
> --- a/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch
> +++ b/meta/recipes-core/glibc/glibc/0022-eglibc-Resolve-__fpscr_values-on-SH4.patch
> @@ -1,7 +1,7 @@
> -From 8f483cb1f21ab6431ff99e8d30d56b91607ae918 Mon Sep 17 00:00:00 2001
> +From 8904f4249c930d187e19c7e9d3e73c835d11e18f Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 00:55:53 +0000
> -Subject: [PATCH 22/24] eglibc: Resolve __fpscr_values on SH4
> +Subject: [PATCH 22/25] eglibc: Resolve __fpscr_values on SH4
> 
> 2010-09-29  Nobuhiro Iwamatsu  <iwamatsu@nigauri.org>
>             Andrew Stubbs  <ams@codesourcery.com>
> @@ -33,7 +33,7 @@ index e0938c4..ca1d7da 100644
>      # a*
>      alphasort64;
> diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.S b/sysdeps/unix/sysv/linux/sh/sysdep.S
> -index a02b7e2..b9be326 100644
> +index 0024d79..d1db7e4 100644
> --- a/sysdeps/unix/sysv/linux/sh/sysdep.S
> +++ b/sysdeps/unix/sysv/linux/sh/sysdep.S
> @@ -30,3 +30,14 @@ ENTRY (__syscall_error)
> @@ -52,5 +52,5 @@ index a02b7e2..b9be326 100644
> +weak_alias (___fpscr_values, __fpscr_values)
> +
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch b/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch
> index d95ea3b..f985f3c 100644
> --- a/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch
> +++ b/meta/recipes-core/glibc/glibc/0023-eglibc-Install-PIC-archives.patch
> @@ -1,7 +1,7 @@
> -From 58d424884eed7efde6c90af0cd7c6c37cf9b444a Mon Sep 17 00:00:00 2001
> +From 1947f211fab4001e84bb52868cddbd401e597889 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 01:57:01 +0000
> -Subject: [PATCH 23/24] eglibc: Install PIC archives
> +Subject: [PATCH 23/25] eglibc: Install PIC archives
> 
> Forward port from eglibc
> 
> @@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  1 file changed, 40 insertions(+), 2 deletions(-)
> 
> diff --git a/Makerules b/Makerules
> -index fa24030..1ff4634 100644
> +index 53eabfa..1cd2a53 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -694,6 +694,9 @@ ifeq ($(build-shared),yes)
> @@ -119,5 +119,5 @@ index fa24030..1ff4634 100644
>  install-no-libc.a-nosubdir: install-bin-nosubdir install-bin-script-nosubdir \
>  			    install-rootsbin-nosubdir install-sbin-nosubdir \
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0025-eglibc-Forward-port-cross-locale-generation-support.patch b/meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch
> similarity index 97%
> rename from meta/recipes-core/glibc/glibc/0025-eglibc-Forward-port-cross-locale-generation-support.patch
> rename to meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch
> index 68d1119..c45b557 100644
> --- a/meta/recipes-core/glibc/glibc/0025-eglibc-Forward-port-cross-locale-generation-support.patch
> +++ b/meta/recipes-core/glibc/glibc/0024-eglibc-Forward-port-cross-locale-generation-support.patch
> @@ -1,7 +1,7 @@
> -From a5695930aec68b3f501e475d8705cddbb63f695e Mon Sep 17 00:00:00 2001
> +From 11d7633178301add26a24657e2f1596a2f7dddce Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem@gmail.com>
> Date: Wed, 18 Mar 2015 01:33:49 +0000
> -Subject: [PATCH 25/25] eglibc: Forward port cross locale generation support
> +Subject: [PATCH 24/25] eglibc: Forward port cross locale generation support
> 
> Upstream-Status: Pending
> 
> @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  create mode 100644 locale/catnames.c
> 
> diff --git a/locale/Makefile b/locale/Makefile
> -index 75afbe1..d32523b 100644
> +index c5379e6..c98c675 100644
> --- a/locale/Makefile
> +++ b/locale/Makefile
> @@ -25,7 +25,8 @@ include ../Makeconfig
> @@ -91,7 +91,7 @@ index 0000000..9fad357
> +    [LC_ALL] = sizeof ("LC_ALL") - 1
> +  };
> diff --git a/locale/localeinfo.h b/locale/localeinfo.h
> -index 789da44..4ac9249 100644
> +index 94627f3..d0db77b 100644
> --- a/locale/localeinfo.h
> +++ b/locale/localeinfo.h
> @@ -224,7 +224,7 @@ __libc_tsd_define (extern, __locale_t, LOCALE)
> @@ -104,7 +104,7 @@ index 789da44..4ac9249 100644
>  # define NL_CURRENT_INDIRECT	1
>  #endif
> diff --git a/locale/programs/charmap-dir.c b/locale/programs/charmap-dir.c
> -index cf7adea..ef3b811 100644
> +index 99fcd35..5e528dc 100644
> --- a/locale/programs/charmap-dir.c
> +++ b/locale/programs/charmap-dir.c
> @@ -19,7 +19,9 @@
> @@ -150,7 +150,7 @@ index cf7adea..ef3b811 100644
>    return NULL;
>  }
> diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
> -index dc0fe30..3c88c6d 100644
> +index 1e125f6..3b2867f 100644
> --- a/locale/programs/ld-collate.c
> +++ b/locale/programs/ld-collate.c
> @@ -350,7 +350,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
> @@ -199,7 +199,7 @@ index dc0fe30..3c88c6d 100644
>  			 == runp->wcnext->wcs[runp->nwcs - 1] + 1));
> 
> diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
> -index 3f464ef..b7b6b51 100644
> +index 0fd141c..68136e6 100644
> --- a/locale/programs/ld-ctype.c
> +++ b/locale/programs/ld-ctype.c
> @@ -926,7 +926,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
> @@ -281,7 +281,7 @@ index 3f464ef..b7b6b51 100644
>  	      srunp = srunp->next;
>  	    }
> diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
> -index db490c6..75dc505 100644
> +index 87531bc..5f2c266 100644
> --- a/locale/programs/ld-time.c
> +++ b/locale/programs/ld-time.c
> @@ -215,8 +215,10 @@ No definition for %s category found"), "LC_TIME"));
> @@ -331,7 +331,7 @@ index db490c6..75dc505 100644
>  		}
>  	      else
>  		time->era_entries[idx].wname =
> -@@ -530,7 +532,16 @@ No definition for %s category found"), "LC_TIME"));
> +@@ -534,7 +536,16 @@ No definition for %s category found"), "LC_TIME"));
>    if (time->date_fmt == NULL)
>      time->date_fmt = "%a %b %e %H:%M:%S %Z %Y";
>    if (time->wdate_fmt == NULL)
> @@ -350,7 +350,7 @@ index db490c6..75dc505 100644
> 
> 
> diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
> -index 2e05130..653b68c 100644
> +index b885f65..0afb631 100644
> --- a/locale/programs/linereader.c
> +++ b/locale/programs/linereader.c
> @@ -595,7 +595,7 @@ get_string (struct linereader *lr, const struct charmap_t *charmap,
> @@ -363,7 +363,7 @@ index 2e05130..653b68c 100644
>    size_t bufmax = 56;
> 
> diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
> -index fd6ca51..328d36c 100644
> +index 6becd9a..8ddd080 100644
> --- a/locale/programs/localedef.c
> +++ b/locale/programs/localedef.c
> @@ -114,6 +114,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
> @@ -409,7 +409,7 @@ index fd6ca51..328d36c 100644
>        force_output = 1;
>        break;
> diff --git a/locale/programs/locfile.c b/locale/programs/locfile.c
> -index 33da52e..f790c4c 100644
> +index 32f5cd2..02967b0 100644
> --- a/locale/programs/locfile.c
> +++ b/locale/programs/locfile.c
> @@ -544,6 +544,9 @@ compare_files (const char *filename1, const char *filename2, size_t size,
> @@ -432,7 +432,7 @@ index 33da52e..f790c4c 100644
> 
>  /* Record that FILE's next element is the 32-bit integer VALUE.  */
> diff --git a/locale/programs/locfile.h b/locale/programs/locfile.h
> -index 6fc441b..118b171 100644
> +index a3dd904..2c7763a 100644
> --- a/locale/programs/locfile.h
> +++ b/locale/programs/locfile.h
> @@ -71,6 +71,8 @@ extern void write_all_categories (struct localedef_t *definitions,
> @@ -521,7 +521,7 @@ index 6fc441b..118b171 100644
> +
>  #endif /* locfile.h */
> diff --git a/locale/setlocale.c b/locale/setlocale.c
> -index ead030d..b551332 100644
> +index 69b3141..1cef0be 100644
> --- a/locale/setlocale.c
> +++ b/locale/setlocale.c
> @@ -64,36 +64,6 @@ static char *const _nl_current_used[] =
> @@ -562,5 +562,5 @@ index ead030d..b551332 100644
>  # define WEAK_POSTLOAD(postload) weak_extern (postload)
>  #else
> --
> -2.6.4
> +2.8.2
> 
> diff --git a/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch b/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
> new file mode 100644
> index 0000000..9d60d02
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
> @@ -0,0 +1,32 @@
> +From 89ec25290d34413ce5c8ba6c378e31dbae3a37c0 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Wed, 20 Apr 2016 21:11:00 -0700
> +Subject: [PATCH 25/25] Define DUMMY_LOCALE_T if not defined
> +
> +This is a hack to fix building the locale bits on an older
> +CentOs 5.X machine
> +
> +Upstream-Status: Inappropriate [other]
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + locale/programs/config.h | 3 +++
> + 1 file changed, 3 insertions(+)
> +
> +diff --git a/locale/programs/config.h b/locale/programs/config.h
> +index f606365..0e5f8c3 100644
> +--- a/locale/programs/config.h
> ++++ b/locale/programs/config.h
> +@@ -19,6 +19,9 @@
> + #ifndef _LD_CONFIG_H
> + #define _LD_CONFIG_H	1
> +
> ++#ifndef DUMMY_LOCALE_T
> ++#define DUMMY_LOCALE_T
> ++#endif
> + /* Use the internal textdomain used for libc messages.  */
> + #define PACKAGE _libc_intl_domainname
> + #ifndef VERSION
> +--
> +2.8.2
> +
> diff --git a/meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch b/meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
> deleted file mode 100644
> index 2b889a9..0000000
> --- a/meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -From 97fe7f1b23ea1f17533884b8fa7f7eb40087d558 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Tue, 5 Jan 2016 17:50:00 -0800
> -Subject: [PATCH] When disabling SSE,  make sure -fpmath is not set to use SSE
> - either
> -
> -This fixes errors when we inject sse options through CFLAGS and now
> -that we have -Werror turned on by default this warning turns to become
> -error on x86
> -
> -gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -x c /dev/null -S
> --mno-sse -mno-mmx
> -
> -generates warning
> -/dev/null:1:0: warning: SSE instruction set disabled, using 387
> -arithmetics
> -
> -where as
> -
> -gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -x c /dev/null -S
> --mno-sse -mno-mmx -mfpmath=387
> -
> -Generates no warnings
> -
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> -Upstream-Status: Submitted
> -
> - ChangeLog             | 5 +++++
> - sysdeps/i386/Makefile | 2 +-
> - 2 files changed, 6 insertions(+), 1 deletion(-)
> -
> -diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
> -index 168512f..70153b3 100644
> ---- a/sysdeps/i386/Makefile
> -+++ b/sysdeps/i386/Makefile
> -@@ -89,7 +89,7 @@ ifeq ($(subdir),elf)
> - # the first 3 mm/xmm/ymm/zmm registers are used to pass vector parameters
> - # which must be preserved.
> - CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
> --		   -mno-sse -mno-mmx)
> -+		   -mno-sse -mno-mmx -mfpmath=387)
> -
> - tests-special += $(objpfx)tst-ld-sse-use.out
> - $(objpfx)tst-ld-sse-use.out: ../sysdeps/i386/tst-ld-sse-use.sh $(objpfx)ld.so
> ---
> -2.6.4
> -
> diff --git a/meta/recipes-core/glibc/glibc_2.23.bb b/meta/recipes-core/glibc/glibc_2.24.bb
> similarity index 93%
> rename from meta/recipes-core/glibc/glibc_2.23.bb
> rename to meta/recipes-core/glibc/glibc_2.24.bb
> index 18f4066..77630e3 100644
> --- a/meta/recipes-core/glibc/glibc_2.23.bb
> +++ b/meta/recipes-core/glibc/glibc_2.24.bb
> @@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \
> 
> DEPENDS += "gperf-native"
> 
> -SRCREV ?= "e742928c1592b43db6809db4f39e67be151cdd27"
> +SRCREV ?= "1ac3eaa6bcc473a56340c24511786ff48a91293e"
> 
> -SRCBRANCH ?= "release/${PV}/master"
> +#SRCBRANCH ?= "release/${PV}/master"
> +SRCBRANCH ?= "master"
> 
> GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
> UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
> @@ -34,8 +35,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
>            file://0021-eglibc-Clear-cache-lines-on-ppc8xx.patch \
>            file://0022-eglibc-Resolve-__fpscr_values-on-SH4.patch \
>            file://0023-eglibc-Install-PIC-archives.patch \
> -           file://0025-eglibc-Forward-port-cross-locale-generation-support.patch \
> -           file://0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch \
> +           file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \
> +           file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \
> "
> 
> SRC_URI += "\
> @@ -59,8 +60,7 @@ PACKAGES_DYNAMIC = ""
> BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
> TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
> 
> -GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1"
> -
> +GLIBC_BROKEN_LOCALES = ""
> #
> # We will skip parsing glibc when target system C library selection is not glibc
> # this helps in easing out parsing for non-glibc system libraries
> --
> 2.8.2
> 


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 24/42] python-native: Point to expat in native sysroot
  2016-05-11 17:35 ` [PATCH 24/42] python-native: Point to expat in native sysroot Khem Raj
@ 2016-05-12  6:26   ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-12  6:26 UTC (permalink / raw)
  To: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1648 bytes --]

Added missed dependency on expat-native as well is required pushed a v2 of this patch as well. It was saught during world build on musl


> On May 11, 2016, at 10:35 AM, Khem Raj <raj.khem@gmail.com> wrote:
> 
> This fixes inconsistency where expat dependency is
> then depending upon build host having it or not having it
> 
> Fixes errors like
> WARNING: renaming "pyexpat" since importing it failed: build/lib.linux-x86_64-2.7/pyexpat.so: undefined symbol: XML_SetCommentHandler
> 
> also reported here
> https://dev.openwrt.org/ticket/20087
> 
> This work due to the fact that we use -isystem pointing to native sysroot
> so the search order of native includedir is moved after buildhosts system
> includdirs. Moment we replace it with -I, build falls apart
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> meta/recipes-devtools/python/python-native_2.7.11.bb | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-devtools/python/python-native_2.7.11.bb b/meta/recipes-devtools/python/python-native_2.7.11.bb
> index 4c204a4..add8868 100644
> --- a/meta/recipes-devtools/python/python-native_2.7.11.bb
> +++ b/meta/recipes-devtools/python/python-native_2.7.11.bb
> @@ -27,7 +27,7 @@ inherit native
> 
> RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-core-native python-unittest-native"
> 
> -EXTRA_OECONF_append = " --bindir=${bindir}/${PN}"
> +EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --with-system-expat=${STAGING_DIR_HOST}"
> 
> EXTRA_OEMAKE = '\
>   BUILD_SYS="" \
> --
> 2.8.2
> 


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 00/42] GCC/GDB/Binutils Upgrades
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (41 preceding siblings ...)
  2016-05-11 17:35 ` [PATCH 42/42] gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use Khem Raj
@ 2016-05-12  9:05 ` Ioan-Adrian Ratiu
  2016-05-12 14:19   ` akuster808
  2016-05-13 12:47 ` Richard Purdie
  43 siblings, 1 reply; 77+ messages in thread
From: Ioan-Adrian Ratiu @ 2016-05-12  9:05 UTC (permalink / raw)
  To: Khem Raj; +Cc: Marek Vasut, Dan McGregor, openembedded-core

Hello

Can the gcc 6 fixes be pulled into the krogoth branch as well?

On Wed, 11 May 2016 10:35:25 -0700
Khem Raj <raj.khem@gmail.com> wrote:

> This patchset covers gcc 6 upgrade along with gdb 7.11
> and glibc 2.24 ( upcoming ) release.
> 
> Rest of upgrades are necessaciated by gcc-6 due to backports
> that were already in newer versions of packages
> 
> It has been boot tested with core-image-minimal on all qemu
> machines
> 
> The following changes since commit a5970809a2f01dbd152684266e2a3d946d896620:
> 
>   oeqa/lic-checksum: Update after recent LIC_FILES_CHKSUM changes (2016-05-11 10:33:16 +0100)
> 
> are available in the git repository at:
> 
>   git://git.openembedded.org/openembedded-core-contrib kraj/gcc-6
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-6
> 
> Dan McGregor (2):
>   pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1
>   binutils: disable werror on native build
> 
> Khem Raj (39):
>   gcc: Add gcc6 recipes
>   glibc: Add recipes for 2.24 release
>   glib-2.0: Ignore useless warning found with gcc-6
>   elfutils: Upgrade to 0.166
>   rpm: Fix build with gcc6
>   alsa-tools: Fix build with gcc6
>   lzop: Fix build with gcc-6
>   webkitgtk: Upgrade to 2.12.1
>   oprofile: Fix with gcc6
>   mdadm: Fix gcc 6 warnings
>   nss: Upgrade to 3.23
>   grub: Fix build with gcc-6
>   valgrind: Fix build with gcc6
>   busybox/mdev: Ensure /sys is mounted before using it
>   libc-common.bbclass: Use sed instead of grep
>   conf: bump minimum kernel to 3.2.0
>   systemd: Create missing sysusers offline
>   grub_git: Upgrade to latest tip
>   libunwind: Upgrade to 1.2rc1+
>   linux-yocto: Fix build on ppc with gcc-6
>   linux-yocto: Fix build with gcc6 on mips
>   python-native: Point to expat in native sysroot
>   bitbake.conf: Empty out BUILDSDK_CPPFLAGS
>   strace: Remove pipe.expected
>   musl: Upgrade to tip of tree
>   libgcc: Ensure that gcc configure options are passed to libgcc too
>   libunwind: Upgrade to 1.2rc1+
>   libgcc: Ensure that gcc configure options are passed to libgcc too
>   gdb,strace: Fix builds on ppc/musl
>   libunwind: Add a confgure option for tests
>   gdb: Upgrade to 7.11
>   gdb: Disable binutils components
>   tcmode-default: Bump gcc,glibc,gdb
>   musl: Create symlinks for stub libraries
>   mdadm: Fix build with clang
>   distcc: Upgrade to 3.2
>   ruby: Upgrade to 2.2.5
>   mpfr: Upgrade to 3.1.4
>   gcc-runtime,libgcc: Symlink c++ header and startup files in
>     target_triplet for SDK use
> 
> Marek Vasut (1):
>   bitbake: Oldest kernel for nios2 is 3.19
> 
>  meta/classes/cross-canadian.bbclass                |    1 +
>  meta/classes/libc-common.bbclass                   |    6 +-
>  meta/classes/populate_sdk_base.bbclass             |    2 +-
>  meta/conf/bitbake.conf                             |    7 +-
>  meta/conf/distro/include/tcmode-default.inc        |    6 +-
>  ...ettext-gettext.c-main_context-secondary_c.patch |   39 +
>  meta/recipes-bsp/grub/grub2.inc                    |    1 +
>  meta/recipes-bsp/grub/grub_git.bb                  |    2 +-
>  meta/recipes-core/busybox/files/mdev               |    4 +-
>  .../0001-Do-not-ignore-return-value-of-write.patch |   42 +
>  .../glib-2.0/0002-tests-Ignore-y2k-warnings.patch  |   42 +
>  .../ignore-format-nonliteral-warning.patch         |   39 +
>  meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb      |    7 +-
>  .../fix_for_centos_5.8.patch                       |   18 -
>  ...tive_2.23.bb => cross-localedef-native_2.24.bb} |   26 +-
>  ...glibc-initial_2.23.bb => glibc-initial_2.24.bb} |    0
>  .../{glibc-locale_2.23.bb => glibc-locale_2.24.bb} |    0
>  .../{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} |    0
>  ...glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} |    0
>  ...libc-Look-for-host-system-ld.so.cache-as-.patch |    8 +-
>  ...libc-Fix-buffer-overrun-with-a-relocated-.patch |    8 +-
>  ...libc-Raise-the-size-of-arrays-containing-.patch |   34 +-
>  ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch |   10 +-
>  ...500-e5500-e6500-603e-fsqrt-implementation.patch |    6 +-
>  ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch |    8 +-
>  ...-Fix-undefined-reference-to-__sqrt_finite.patch |    6 +-
>  ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
>  ...bug-1443-which-explains-what-the-patch-do.patch |    8 +-
>  ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch |   10 +-
>  ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
>  ...ersion-output-matching-grok-gold-s-output.patch |   14 +-
>  ...-configure.ac-handle-correctly-libc_cv_ro.patch |    6 +-
>  .../glibc/glibc/0014-Add-unused-attribute.patch    |    8 +-
>  ...thin-the-path-sets-wrong-config-variables.patch |   10 +-
>  ...-timezone-re-written-tzselect-as-posix-sh.patch |   16 +-
>  ...move-bash-dependency-for-nscd-init-script.patch |    8 +-
>  ...c-Cross-building-and-testing-instructions.patch |    6 +-
>  ...019-eglibc-Help-bootstrap-cross-toolchain.patch |    8 +-
>  .../glibc/0020-eglibc-cherry-picked-from.patch     |   18 +-
>  .../0021-eglibc-Clear-cache-lines-on-ppc8xx.patch  |   10 +-
>  ...0022-eglibc-Resolve-__fpscr_values-on-SH4.patch |    8 +-
>  .../glibc/0023-eglibc-Install-PIC-archives.patch   |    8 +-
>  ...ard-port-cross-locale-generation-support.patch} |   30 +-
>  ...0025-Define-DUMMY_LOCALE_T-if-not-defined.patch |   32 +
>  ...ing-SSE-make-sure-fpmath-is-not-set-to-us.patch |   48 -
>  .../glibc/{glibc_2.23.bb => glibc_2.24.bb}         |   12 +-
>  meta/recipes-core/musl/musl.inc                    |    2 +-
>  meta/recipes-core/musl/musl_git.bb                 |    6 +-
>  meta/recipes-core/systemd/systemd_229.bb           |    8 +-
>  meta/recipes-devtools/binutils/binutils_2.26.bb    |    3 +-
>  .../distcc/{distcc_3.1.bb => distcc_3.2.bb}        |    8 +-
>  .../distcc/files/separatebuilddir.patch            |   14 +-
>  ...ferences-between-mips-machine-identifiers.patch |    0
>  ...de-alternatives-for-glibc-assumptions-hel.patch |  488 ++--
>  ...m-Silence-Werror-maybe-uninitialized-fals.patch |    0
>  .../0001-fix-a-stack-usage-warning.patch           |    0
>  .../0001-remove-the-unneed-checking.patch          |    0
>  ...-support-for-mips64-abis-in-mips_retval.c.patch |    0
>  .../0003-Add-mips-n64-relocation-format-hack.patch |    0
>  .../aarch64_uio.patch                              |    0
>  .../arm_backend.diff                               |    0
>  .../elfcmp-fix-self-comparision.patch              |   41 +
>  .../fixheadercheck.patch                           |    0
>  .../hppa_backend.diff                              |    0
>  .../kfreebsd_path.patch                            |    0
>  .../m68k_backend.diff                              |    0
>  .../mips_backend.diff                              |    0
>  .../mips_readelf_w.patch                           |    0
>  .../shadow.patch                                   |    0
>  .../testsuite-ignore-elflint.diff                  |    0
>  .../uclibc-support.patch                           |   37 +-
>  .../{elfutils_0.164.bb => elfutils_0.166.bb}       |    6 +-
>  ...-Symlink-c-header-in-target_triplet-for-S.patch |   49 +
>  meta/recipes-devtools/gcc/gcc-6.1.inc              |  131 +
>  .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch     |   42 +
>  .../gcc/gcc-6.1/0002-uclibc-conf.patch             |   53 +
>  .../0003-gcc-uclibc-locale-ctype_touplow_t.patch   |   87 +
>  .../gcc/gcc-6.1/0004-uclibc-locale.patch           | 2862 ++++++++++++++++++++
>  .../gcc/gcc-6.1/0005-uclibc-locale-no__x.patch     |  257 ++
>  .../gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch |   68 +
>  .../gcc/gcc-6.1/0007-uclibc-locale-update.patch    |  542 ++++
>  .../gcc/gcc-6.1/0008-missing-execinfo_h.patch      |   28 +
>  .../gcc/gcc-6.1/0009-c99-snprintf.patch            |   28 +
>  .../0010-gcc-poison-system-directories.patch       |  192 ++
>  .../gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch   |   39 +
>  .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch |   73 +
>  .../gcc/gcc-6.1/0013-64-bit-multilib-hack.patch    |   85 +
>  .../gcc/gcc-6.1/0014-optional-libstdc.patch        |  125 +
>  ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch |   59 +
>  .../gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch     |   38 +
>  ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch |   96 +
>  .../gcc-6.1/0018-fortran-cross-compile-hack.patch  |   46 +
>  .../gcc/gcc-6.1/0019-cpp-honor-sysroot.patch       |   54 +
>  .../gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch   |   57 +
>  ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch |  234 ++
>  ...0022-gcc-Fix-argument-list-too-long-error.patch |   40 +
>  .../gcc/gcc-6.1/0023-Disable-sdt.patch             |  113 +
>  .../gcc/gcc-6.1/0024-libtool.patch                 |   42 +
>  ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch |   43 +
>  ...tilib-config-files-from-B-instead-of-usin.patch |  102 +
>  ...-libdir-from-.la-which-usually-points-to-.patch |   31 +
>  .../gcc/gcc-6.1/0028-export-CPP.patch              |   53 +
>  ...AltiVec-generation-on-powepc-linux-target.patch |   56 +
>  ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch |   42 +
>  ...Ensure-target-gcc-headers-can-be-included.patch |   98 +
>  ...-t-build-with-disable-dependency-tracking.patch |   54 +
>  ...h-host-directory-during-relink-if-inst_pr.patch |   38 +
>  ...IBS_DIR-replacement-instead-of-hardcoding.patch |   29 +
>  .../0035-aarch64-Add-support-for-musl-ldso.patch   |   28 +
>  ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch |   54 +
>  ...-handle-sysroot-support-for-nativesdk-gcc.patch |  213 ++
>  ...et-sysroot-gcc-version-specific-dirs-with.patch |  102 +
>  ...-various-_FOR_BUILD-and-related-variables.patch |  137 +
>  .../0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch    |   28 +
>  .../gcc/gcc-6.1/0041-ssp_nonshared.patch           |   28 +
>  ...c-libcpp-support-ffile-prefix-map-old-new.patch |  292 ++
>  ...ug-prefix-map-to-replace-ffile-prefix-map.patch |   43 +
>  ...-fdebug-prefix-map-support-to-remap-sourc.patch |   54 +
>  ...45-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch |  125 +
>  ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch |   29 +
>  meta/recipes-devtools/gcc/gcc-common.inc           |    2 +
>  .../recipes-devtools/gcc/gcc-cross-canadian_6.1.bb |    5 +
>  meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb |    2 +
>  meta/recipes-devtools/gcc/gcc-cross_6.1.bb         |    3 +
>  .../gcc/gcc-crosssdk-initial_6.1.bb                |    3 +
>  meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb      |    2 +
>  meta/recipes-devtools/gcc/gcc-runtime.inc          |   12 +
>  meta/recipes-devtools/gcc/gcc-runtime_6.1.bb       |    7 +
>  meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb    |    2 +
>  meta/recipes-devtools/gcc/gcc-source_6.1.bb        |    4 +
>  meta/recipes-devtools/gcc/gcc_6.1.bb               |   15 +
>  meta/recipes-devtools/gcc/libgcc-common.inc        |    9 +-
>  meta/recipes-devtools/gcc/libgcc-initial_6.1.bb    |    2 +
>  meta/recipes-devtools/gcc/libgcc.inc               |   12 +
>  meta/recipes-devtools/gcc/libgcc_6.1.bb            |    2 +
>  meta/recipes-devtools/gcc/libgfortran_6.1.bb       |    3 +
>  .../gdb/{gdb-7.10.1.inc => gdb-7.11.inc}           |    0
>  meta/recipes-devtools/gdb/gdb-common.inc           |   25 +-
>  ...nadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} |    0
>  meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb      |    4 -
>  meta/recipes-devtools/gdb/gdb-cross_7.11.bb        |    2 +
>  meta/recipes-devtools/gdb/gdb.inc                  |    8 -
>  .../gdb/0001-include-sys-types.h-for-mode_t.patch  |   10 +-
>  ...002-make-man-install-relative-to-DESTDIR.patch} |    8 +-
>  ...-linux-nat-Define-_ABIO32-if-not-defined.patch} |    8 +-
>  ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch |   53 +
>  ...-support-for-Renesas-SH-sh4-architecture.patch} |   32 +-
>  ...-libreadline.a-when-using-disable-static.patch} |   21 +-
>  ...gidefs.h.patch => 0007-use-asm-sgidefs.h.patch} |   15 +-
>  ...0008-Use-exorted-definitions-of-SIGRTMIN.patch} |   44 +-
>  ...AGS.patch => 0009-Change-order-of-CFLAGS.patch} |   18 +-
>  .../0010-resolve-restrict-keyword-conflict.patch   |   48 +
>  .../gdb/{gdb_7.10.1.bb => gdb_7.11.bb}             |    0
>  ...e-Move-warning-pragma-outside-of-function.patch |   39 +
>  meta/recipes-devtools/pkgconfig/pkgconfig_git.bb   |    1 +
>  .../python/python-native_2.7.11.bb                 |    2 +-
>  meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch    |   54 +
>  meta/recipes-devtools/rpm/rpm_5.4.16.bb            |    3 +-
>  .../ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb}          |    8 +-
>  ...hen-using-non-glibc-libc-implementation-o.patch |   36 +
>  meta/recipes-devtools/strace/strace_4.11.bb        |    4 +-
>  .../valgrind/valgrind/gcc5-port.patch              |   64 +
>  meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  |    1 +
>  ...dadm.h-Undefine-dprintf-before-redefining.patch |   43 +
>  .../0001-raid6check-Fix-if-else-indentation.patch  |   37 +
>  meta/recipes-extended/mdadm/mdadm_3.4.bb           |    4 +-
>  ...ace-Fix-out-of-bounds-array-access-warnin.patch |   50 +
>  ...oration-of-MSA-context-in-non-MSA-kernels.patch |   76 +
>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |    5 +-
>  meta/recipes-kernel/oprofile/oprofile.inc          |    4 +-
>  .../0001-Fix-FTBFS-problem-with-GCC-6.patch        |   51 +
>  ...idi-Explicitly-cast-constant-to-char-type.patch |   75 +
>  meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb   |    6 +-
>  ...cmake-drop-the-hardcoded-introspection-gt.patch |   19 +-
>  ...bKitMacros-Append-to-I-and-not-to-isystem.patch |  223 ++
>  ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch |   19 +-
>  meta/recipes-sato/webkit/files/musl-fixes.patch    |   48 +
>  ...nable-backtrace-on-linux-when-using-glibc.patch |   39 -
>  ...x-build-with-non-glibc-libraries-on-linux.patch |   61 -
>  meta/recipes-sato/webkit/webkitgtk/clang.patch     |   25 -
>  .../{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb}   |   12 +-
>  ...rf-opcodes-can-cause-references-beyond-th.patch |   29 -
>  ...roduce-build-support-for-aarch64_be-targe.patch |   33 -
>  .../libunwind-1.1/0001-disable-tests.patch         |   31 -
>  ...-wrong-big_endian-flag-in-aarch64_be-case.patch |   34 -
>  .../libunwind/libunwind-1.1/AArch64-port.patch     | 2529 -----------------
>  ...k-failure-on-PowerPC-systems-with-Altivec.patch |   28 -
>  ...-libunwind-to-libgcc_s-rather-than-libgcc.patch |   42 -
>  .../Support-building-with-older-compilers.patch    |   72 -
>  .../0001-Fix-build-on-mips-musl.patch              |   33 +-
>  .../0001-add-knobs-to-disable-enable-tests.patch   |   69 +
>  ...-backtrace-Use-only-with-glibc-and-uclibc.patch |    0
>  .../0001-x86-Stub-out-x86_local_resume.patch       |    0
>  ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch |    0
>  meta/recipes-support/libunwind/libunwind_1.1.bb    |   24 -
>  meta/recipes-support/libunwind/libunwind_git.bb    |   26 +
>  .../recipes-support/lzop/lzop/lzop-1.03-gcc6.patch |   37 +
>  meta/recipes-support/lzop/lzop_1.03.bb             |    6 +-
>  .../{mpfr-3.1.3 => mpfr}/long-long-thumb.patch     |    0
>  .../mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb}          |    5 +-
>  .../nss/{nss_3.21.bb => nss_3.23.bb}               |    8 +-
>  201 files changed, 9095 insertions(+), 3627 deletions(-)
>  create mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
>  delete mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
>  rename meta/recipes-core/glibc/{cross-localedef-native_2.23.bb => cross-localedef-native_2.24.bb} (79%)
>  rename meta/recipes-core/glibc/{glibc-initial_2.23.bb => glibc-initial_2.24.bb} (100%)
>  rename meta/recipes-core/glibc/{glibc-locale_2.23.bb => glibc-locale_2.24.bb} (100%)
>  rename meta/recipes-core/glibc/{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} (100%)
>  rename meta/recipes-core/glibc/{glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} (100%)
>  rename meta/recipes-core/glibc/glibc/{0025-eglibc-Forward-port-cross-locale-generation-support.patch => 0024-eglibc-Forward-port-cross-locale-generation-support.patch} (97%)
>  create mode 100644 meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
>  delete mode 100644 meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
>  rename meta/recipes-core/glibc/{glibc_2.23.bb => glibc_2.24.bb} (93%)
>  rename meta/recipes-devtools/distcc/{distcc_3.1.bb => distcc_3.2.bb} (91%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-Ignore-differences-between-mips-machine-identifiers.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch (71%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-fix-a-stack-usage-warning.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-remove-the-unneed-checking.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0003-Add-mips-n64-relocation-format-hack.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/aarch64_uio.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/arm_backend.diff (100%)
>  create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/fixheadercheck.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/hppa_backend.diff (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/kfreebsd_path.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/m68k_backend.diff (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_backend.diff (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_readelf_w.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/shadow.patch (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/testsuite-ignore-elflint.diff (100%)
>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/uclibc-support.patch (82%)
>  rename meta/recipes-devtools/elfutils/{elfutils_0.164.bb => elfutils_0.166.bb} (94%)
>  create mode 100644 meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1.inc
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc-source_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/gcc_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/libgcc_6.1.bb
>  create mode 100644 meta/recipes-devtools/gcc/libgfortran_6.1.bb
>  rename meta/recipes-devtools/gdb/{gdb-7.10.1.inc => gdb-7.11.inc} (100%)
>  rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} (100%)
>  delete mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
>  create mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.11.bb
>  rename meta/recipes-devtools/gdb/gdb/{0001-make-man-install-relative-to-DESTDIR.patch => 0002-make-man-install-relative-to-DESTDIR.patch} (78%)
>  rename meta/recipes-devtools/gdb/gdb/{0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch => 0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch} (84%)
>  create mode 100644 meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
>  rename meta/recipes-devtools/gdb/gdb/{0003-Add-support-for-Renesas-SH-sh4-architecture.patch => 0005-Add-support-for-Renesas-SH-sh4-architecture.patch} (97%)
>  rename meta/recipes-devtools/gdb/gdb/{force-readline-static.patch => 0006-Dont-disable-libreadline.a-when-using-disable-static.patch} (67%)
>  rename meta/recipes-devtools/gdb/gdb/{0001-use-asm-sgidefs.h.patch => 0007-use-asm-sgidefs.h.patch} (69%)
>  rename meta/recipes-devtools/gdb/gdb/{0001-Use-exported-definitions-of-SIGRTMIN.patch => 0008-Use-exorted-definitions-of-SIGRTMIN.patch} (49%)
>  rename meta/recipes-devtools/gdb/gdb/{0002-Change-order-of-CFLAGS.patch => 0009-Change-order-of-CFLAGS.patch} (69%)
>  create mode 100644 meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
>  rename meta/recipes-devtools/gdb/{gdb_7.10.1.bb => gdb_7.11.bb} (100%)
>  create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch
>  create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
>  rename meta/recipes-devtools/ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb} (86%)
>  create mode 100644 meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
>  create mode 100644 meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch
>  create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
>  create mode 100644 meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch
>  create mode 100644 meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
>  create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch
>  create mode 100644 meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
>  create mode 100644 meta/recipes-sato/webkit/files/musl-fixes.patch
>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/clang.patch
>  rename meta/recipes-sato/webkit/{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb} (92%)
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-Fix-build-on-mips-musl.patch (68%)
>  create mode 100644 meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-backtrace-Use-only-with-glibc-and-uclibc.patch (100%)
>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-x86-Stub-out-x86_local_resume.patch (100%)
>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch (100%)
>  delete mode 100644 meta/recipes-support/libunwind/libunwind_1.1.bb
>  create mode 100644 meta/recipes-support/libunwind/libunwind_git.bb
>  create mode 100644 meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
>  rename meta/recipes-support/mpfr/{mpfr-3.1.3 => mpfr}/long-long-thumb.patch (100%)
>  rename meta/recipes-support/mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb} (75%)
>  rename meta/recipes-support/nss/{nss_3.21.bb => nss_3.23.bb} (97%)
> 



^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it
  2016-05-11 17:35 ` [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it Khem Raj
@ 2016-05-12 12:58   ` Andreas Oberritter
  0 siblings, 0 replies; 77+ messages in thread
From: Andreas Oberritter @ 2016-05-12 12:58 UTC (permalink / raw)
  To: openembedded-core

Dear Khem,

On 11.05.2016 19:35, Khem Raj wrote:
> echo would fail if /sys is not mounted and boot would abort

this sentence still doesn't make sense (hint: /proc).

Regards,
Andreas

> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-core/busybox/files/mdev | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/busybox/files/mdev b/meta/recipes-core/busybox/files/mdev
> index 9625247..8c9c06e 100755
> --- a/meta/recipes-core/busybox/files/mdev
> +++ b/meta/recipes-core/busybox/files/mdev
> @@ -1,10 +1,12 @@
>  #!/bin/sh
> -
> +mount -t proc proc /proc
> +mount -t sysfs sysfs /sys
>  mount -t tmpfs tmpfs /dev  -o size=64k,mode=0755
>  mkdir /dev/pts /dev/shm
>  chmod 777 /dev/shm
>  mount -t devpts devpts /dev/pts
>  touch /dev/mdev.seq
> +#sysctl -w kernel.hotplug=/sbin/mdev
>  echo "/sbin/mdev" > /proc/sys/kernel/hotplug
>  mdev -s
>  
> 



^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-12  4:31           ` Bruce Ashfield
@ 2016-05-12 13:28             ` Bruce Ashfield
  2016-05-12 14:21               ` Khem Raj
  0 siblings, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-05-12 13:28 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer


[-- Attachment #1.1: Type: text/plain, Size: 7494 bytes --]

On Thu, May 12, 2016 at 12:31 AM, Bruce Ashfield <bruce.ashfield@gmail.com>
wrote:

>
>
> On Wed, May 11, 2016 at 5:55 PM, Khem Raj <raj.khem@gmail.com> wrote:
>
>> On Wed, May 11, 2016 at 2:36 PM, Bruce Ashfield
>> <bruce.ashfield@gmail.com> wrote:
>> >
>> >
>> > On Wed, May 11, 2016 at 5:30 PM, Khem Raj <raj.khem@gmail.com> wrote:
>> >>
>> >> On Wed, May 11, 2016 at 2:27 PM, Bruce Ashfield
>> >> <bruce.ashfield@gmail.com> wrote:
>> >> >
>> >> >
>> >> > On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem@gmail.com>
>> wrote:
>> >> >>
>> >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >> >
>> >> >
>> >> >
>> >> > These shouldn't be carried out of tree. So can you drop the
>> linux-yocto
>> >> > changes from the
>> >> > series, and I'll look at getting them integrated later.
>> >>
>> >> I could but, this series switches to using gcc6 which will start to
>> fail.
>> >
>> >
>> > I can coordinate the fix. We just don't carry patches like this for
>> linux
>> > yocto. As you
>> > can see, your series will no longer apply with the consolidated pull
>> > requests that
>> > I just sent.
>>
>> Just include these patches in your pull request and send a v2. I will
>> then drop it from my list.
>> since these patches should work fine with older gcc as well your
>> changes then can go in first
>> or along with my changes.
>>
>
> Sounds good. I'll have them out first thing in the morning Thursday.
>

The patches are not integrated into linux-yocto-4.4 and I added the patch
I've
attached o my zedd/kernel poky-contrib branch:

Bruce


>
> Bruce
>
>
>>
>> >
>> > Bruce
>> >
>> >>
>> >>
>> >> >
>> >> > Bruce
>> >> >
>> >> >>
>> >> >> ---
>> >> >>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
>> >> >> ++++++++++++++++++++++
>> >> >>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
>> >> >>  2 files changed, 53 insertions(+), 1 deletion(-)
>> >> >>  create mode 100644
>> >> >>
>> >> >>
>> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >>
>> >> >> diff --git
>> >> >>
>> >> >>
>> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >>
>> >> >>
>> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >> new file mode 100644
>> >> >> index 0000000..05315ed
>> >> >> --- /dev/null
>> >> >> +++
>> >> >>
>> >> >>
>> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >> @@ -0,0 +1,50 @@
>> >> >> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00
>> 2001
>> >> >> +From: Khem Raj <raj.khem@gmail.com>
>> >> >> +Date: Mon, 25 Apr 2016 05:47:01 +0000
>> >> >> +Subject: [PATCH V2] powerpc/ptrace: Fix out of bounds array access
>> >> >> warning
>> >> >> +
>> >> >> +gcc-6 correctly warns about a out of bounds access
>> >> >> +
>> >> >> +arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an
>> >> >> offset
>> >> >> greater than size of 'u64[32][1] {aka long long unsigned
>> int[32][1]}'
>> >> >> [-Warray-bounds]
>> >> >> +        offsetof(struct thread_fp_state, fpr[32][0]));
>> >> >> +                        ^
>> >> >> +
>> >> >> +check the end of array instead of beginning of next element to fix
>> >> >> this
>> >> >> +
>> >> >> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> >> >> +Cc: Kees Cook <keescook@chromium.org>
>> >> >> +Cc: Michael Ellerman <mpe@ellerman.id.au>
>> >> >> +Cc: Segher Boessenkool <segher@kernel.crashing.org>
>> >> >> +---
>> >> >> +Changes from v1 to v2:
>> >> >> +
>> >> >> +- Check for fpr[32] instead of fpr[31][1]
>> >> >> +
>> >> >> + arch/powerpc/kernel/ptrace.c | 4 ++--
>> >> >> + 1 file changed, 2 insertions(+), 2 deletions(-)
>> >> >> +
>> >> >> +diff --git a/arch/powerpc/kernel/ptrace.c
>> >> >> b/arch/powerpc/kernel/ptrace.c
>> >> >> +index 737c0d0..b38fd08 100644
>> >> >> +--- a/arch/powerpc/kernel/ptrace.c
>> >> >> ++++ b/arch/powerpc/kernel/ptrace.c
>> >> >> +@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target,
>> >> >> const
>> >> >> struct user_regset *regset,
>> >> >> +
>> >> >> + #else
>> >> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
>> >> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
>> >> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
>> >> >> +
>> >> >> +       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
>> >> >> +                                  &target->thread.fp_state, 0, -1);
>> >> >> +@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target,
>> >> >> const
>> >> >> struct user_regset *regset,
>> >> >> +       return 0;
>> >> >> + #else
>> >> >> +       BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
>> >> >> +-                   offsetof(struct thread_fp_state, fpr[32][0]));
>> >> >> ++                   offsetof(struct thread_fp_state, fpr[32]));
>> >> >> +
>> >> >> +       return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
>> >> >> +                                 &target->thread.fp_state, 0, -1);
>> >> >> +--
>> >> >> +1.9.1
>> >> >> +
>> >> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> index b74903e..fbb592a 100644
>> >> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> @@ -22,7 +22,9 @@ SRCREV_machine ?=
>> >> >> "b18090556c1d1b449233cd555c27a04d38272d6d"
>> >> >>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
>> >> >>
>> >> >>  SRC_URI =
>> >> >>
>> >> >> "git://
>> git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}
>> <http://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=$%7BKBRANCH%7D>
>> ;
>> >> >> \
>> >> >> -
>> >> >>
>> >> >> git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=$%7BKMETA%7D>
>> "
>> >> >> +
>> >> >>
>> >> >> git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=$%7BKMETA%7D>
>> >> >> \
>> >> >> +
>> >> >>
>> file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >> \
>> >> >> +"
>> >> >>
>> >> >>  LINUX_VERSION ?= "4.4.3"
>> >> >>
>> >> >> --
>> >> >> 2.8.2
>> >> >>
>> >> >> --
>> >> >> _______________________________________________
>> >> >> Openembedded-core mailing list
>> >> >> Openembedded-core@lists.openembedded.org
>> >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > "Thou shalt not follow the NULL pointer, for chaos and madness await
>> >> > thee at
>> >> > its end"
>> >
>> >
>> >
>> >
>> > --
>> > "Thou shalt not follow the NULL pointer, for chaos and madness await
>> thee at
>> > its end"
>>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee
> at its end"
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #1.2: Type: text/html, Size: 12417 bytes --]

[-- Attachment #2: 0001-linux-yocto-4.4-gcc6-build-fixes-powerpc-and-mips.patch --]
[-- Type: application/octet-stream, Size: 4017 bytes --]

From 1f7a13193c013d5b8095124a678fb431a9ddbd4c Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@windriver.com>
Date: Thu, 12 May 2016 01:05:53 -0400
Subject: [PATCH] linux-yocto/4.4: gcc6 build fixes (powerpc and mips)

Khem provided fixes to fix gcc6 build issues, these are safe for
all gcc versions, so we integrate them directly.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb   |  4 ++--
 meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb |  4 ++--
 meta/recipes-kernel/linux/linux-yocto_4.4.bb      | 18 +++++++++---------
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
index 5e3937409b1e..feef29f0f964 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
@@ -2,8 +2,8 @@ KBRANCH ?= "standard/preempt-rt"
 
 require recipes-kernel/linux/linux-yocto.inc
 
-SRCREV_machine ?= "449fe1dca2c1f972f1ec02091a20691f3e19a28b"
-SRCREV_meta ?= "b7ce076447c0e3cc07f8d3ed4a11070fdeae41e6"
+SRCREV_machine ?= "7ef3fe56827bd9c20021e3a52bc36ebd4c6b2ce3"
+SRCREV_meta ?= "d6ee402d461048cf1afd10375fee5769c06d21d6"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
index abafe756eb7a..93ffe189cea7 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
@@ -9,8 +9,8 @@ LINUX_VERSION ?= "4.4.10"
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "fe7ff38448d530db27ac31cbb086cb6fdf94bb7f"
-SRCREV_meta ?= "b7ce076447c0e3cc07f8d3ed4a11070fdeae41e6"
+SRCREV_machine ?= "578ff2a88676d20439dbf3877768370d06a22d8f"
+SRCREV_meta ?= "d6ee402d461048cf1afd10375fee5769c06d21d6"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
index a665b5ce8807..a98f9fa9a9c3 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
@@ -11,15 +11,15 @@ KBRANCH_qemux86  ?= "standard/base"
 KBRANCH_qemux86-64 ?= "standard/base"
 KBRANCH_qemumips64 ?= "standard/mti-malta64"
 
-SRCREV_machine_qemuarm ?= "bdda97014e55200e704ecd8d112da09176dcb7dc"
-SRCREV_machine_qemuarm64 ?= "fe7ff38448d530db27ac31cbb086cb6fdf94bb7f"
-SRCREV_machine_qemumips ?= "f60887555f78ae5f5338d41181e848082109429b"
-SRCREV_machine_qemuppc ?= "fe7ff38448d530db27ac31cbb086cb6fdf94bb7f"
-SRCREV_machine_qemux86 ?= "fe7ff38448d530db27ac31cbb086cb6fdf94bb7f"
-SRCREV_machine_qemux86-64 ?= "fe7ff38448d530db27ac31cbb086cb6fdf94bb7f"
-SRCREV_machine_qemumips64 ?= "b783512062c5081fa9b01e89e811d0508e62895f"
-SRCREV_machine ?= "fe7ff38448d530db27ac31cbb086cb6fdf94bb7f"
-SRCREV_meta ?= "b7ce076447c0e3cc07f8d3ed4a11070fdeae41e6"
+SRCREV_machine_qemuarm ?= "1d343b327d97843de4a32fda9015bc87a46dea9b"
+SRCREV_machine_qemuarm64 ?= "578ff2a88676d20439dbf3877768370d06a22d8f"
+SRCREV_machine_qemumips ?= "f89dd8336dcb0b7bf0291aee7ee33531564ea3b5"
+SRCREV_machine_qemuppc ?= "578ff2a88676d20439dbf3877768370d06a22d8f"
+SRCREV_machine_qemux86 ?= "578ff2a88676d20439dbf3877768370d06a22d8f"
+SRCREV_machine_qemux86-64 ?= "578ff2a88676d20439dbf3877768370d06a22d8f"
+SRCREV_machine_qemumips64 ?= "5faa3c8de491435842024b24b6a95fccdbe3f72a"
+SRCREV_machine ?= "578ff2a88676d20439dbf3877768370d06a22d8f"
+SRCREV_meta ?= "d6ee402d461048cf1afd10375fee5769c06d21d6"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 77+ messages in thread

* Re: [PATCH 00/42] GCC/GDB/Binutils Upgrades
  2016-05-12  9:05 ` [PATCH 00/42] GCC/GDB/Binutils Upgrades Ioan-Adrian Ratiu
@ 2016-05-12 14:19   ` akuster808
  2016-05-12 14:33     ` Ioan-Adrian Ratiu
  0 siblings, 1 reply; 77+ messages in thread
From: akuster808 @ 2016-05-12 14:19 UTC (permalink / raw)
  To: Ioan-Adrian Ratiu, Khem Raj; +Cc: Marek Vasut, Dan McGregor, openembedded-core



On 05/12/2016 02:05 AM, Ioan-Adrian Ratiu wrote:
> Hello
> 
> Can the gcc 6 fixes be pulled into the krogoth branch as well?

GCC 6 is new so we wont be pull that over to Krogoth. Any fixes you are
interested in, patches are welcome.

- armin

> 
> On Wed, 11 May 2016 10:35:25 -0700
> Khem Raj <raj.khem@gmail.com> wrote:
> 
>> This patchset covers gcc 6 upgrade along with gdb 7.11
>> and glibc 2.24 ( upcoming ) release.
>>
>> Rest of upgrades are necessaciated by gcc-6 due to backports
>> that were already in newer versions of packages
>>
>> It has been boot tested with core-image-minimal on all qemu
>> machines
>>
>> The following changes since commit a5970809a2f01dbd152684266e2a3d946d896620:
>>
>>   oeqa/lic-checksum: Update after recent LIC_FILES_CHKSUM changes (2016-05-11 10:33:16 +0100)
>>
>> are available in the git repository at:
>>
>>   git://git.openembedded.org/openembedded-core-contrib kraj/gcc-6
>>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-6
>>
>> Dan McGregor (2):
>>   pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1
>>   binutils: disable werror on native build
>>
>> Khem Raj (39):
>>   gcc: Add gcc6 recipes
>>   glibc: Add recipes for 2.24 release
>>   glib-2.0: Ignore useless warning found with gcc-6
>>   elfutils: Upgrade to 0.166
>>   rpm: Fix build with gcc6
>>   alsa-tools: Fix build with gcc6
>>   lzop: Fix build with gcc-6
>>   webkitgtk: Upgrade to 2.12.1
>>   oprofile: Fix with gcc6
>>   mdadm: Fix gcc 6 warnings
>>   nss: Upgrade to 3.23
>>   grub: Fix build with gcc-6
>>   valgrind: Fix build with gcc6
>>   busybox/mdev: Ensure /sys is mounted before using it
>>   libc-common.bbclass: Use sed instead of grep
>>   conf: bump minimum kernel to 3.2.0
>>   systemd: Create missing sysusers offline
>>   grub_git: Upgrade to latest tip
>>   libunwind: Upgrade to 1.2rc1+
>>   linux-yocto: Fix build on ppc with gcc-6
>>   linux-yocto: Fix build with gcc6 on mips
>>   python-native: Point to expat in native sysroot
>>   bitbake.conf: Empty out BUILDSDK_CPPFLAGS
>>   strace: Remove pipe.expected
>>   musl: Upgrade to tip of tree
>>   libgcc: Ensure that gcc configure options are passed to libgcc too
>>   libunwind: Upgrade to 1.2rc1+
>>   libgcc: Ensure that gcc configure options are passed to libgcc too
>>   gdb,strace: Fix builds on ppc/musl
>>   libunwind: Add a confgure option for tests
>>   gdb: Upgrade to 7.11
>>   gdb: Disable binutils components
>>   tcmode-default: Bump gcc,glibc,gdb
>>   musl: Create symlinks for stub libraries
>>   mdadm: Fix build with clang
>>   distcc: Upgrade to 3.2
>>   ruby: Upgrade to 2.2.5
>>   mpfr: Upgrade to 3.1.4
>>   gcc-runtime,libgcc: Symlink c++ header and startup files in
>>     target_triplet for SDK use
>>
>> Marek Vasut (1):
>>   bitbake: Oldest kernel for nios2 is 3.19
>>
>>  meta/classes/cross-canadian.bbclass                |    1 +
>>  meta/classes/libc-common.bbclass                   |    6 +-
>>  meta/classes/populate_sdk_base.bbclass             |    2 +-
>>  meta/conf/bitbake.conf                             |    7 +-
>>  meta/conf/distro/include/tcmode-default.inc        |    6 +-
>>  ...ettext-gettext.c-main_context-secondary_c.patch |   39 +
>>  meta/recipes-bsp/grub/grub2.inc                    |    1 +
>>  meta/recipes-bsp/grub/grub_git.bb                  |    2 +-
>>  meta/recipes-core/busybox/files/mdev               |    4 +-
>>  .../0001-Do-not-ignore-return-value-of-write.patch |   42 +
>>  .../glib-2.0/0002-tests-Ignore-y2k-warnings.patch  |   42 +
>>  .../ignore-format-nonliteral-warning.patch         |   39 +
>>  meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb      |    7 +-
>>  .../fix_for_centos_5.8.patch                       |   18 -
>>  ...tive_2.23.bb => cross-localedef-native_2.24.bb} |   26 +-
>>  ...glibc-initial_2.23.bb => glibc-initial_2.24.bb} |    0
>>  .../{glibc-locale_2.23.bb => glibc-locale_2.24.bb} |    0
>>  .../{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} |    0
>>  ...glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} |    0
>>  ...libc-Look-for-host-system-ld.so.cache-as-.patch |    8 +-
>>  ...libc-Fix-buffer-overrun-with-a-relocated-.patch |    8 +-
>>  ...libc-Raise-the-size-of-arrays-containing-.patch |   34 +-
>>  ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch |   10 +-
>>  ...500-e5500-e6500-603e-fsqrt-implementation.patch |    6 +-
>>  ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch |    8 +-
>>  ...-Fix-undefined-reference-to-__sqrt_finite.patch |    6 +-
>>  ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
>>  ...bug-1443-which-explains-what-the-patch-do.patch |    8 +-
>>  ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch |   10 +-
>>  ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
>>  ...ersion-output-matching-grok-gold-s-output.patch |   14 +-
>>  ...-configure.ac-handle-correctly-libc_cv_ro.patch |    6 +-
>>  .../glibc/glibc/0014-Add-unused-attribute.patch    |    8 +-
>>  ...thin-the-path-sets-wrong-config-variables.patch |   10 +-
>>  ...-timezone-re-written-tzselect-as-posix-sh.patch |   16 +-
>>  ...move-bash-dependency-for-nscd-init-script.patch |    8 +-
>>  ...c-Cross-building-and-testing-instructions.patch |    6 +-
>>  ...019-eglibc-Help-bootstrap-cross-toolchain.patch |    8 +-
>>  .../glibc/0020-eglibc-cherry-picked-from.patch     |   18 +-
>>  .../0021-eglibc-Clear-cache-lines-on-ppc8xx.patch  |   10 +-
>>  ...0022-eglibc-Resolve-__fpscr_values-on-SH4.patch |    8 +-
>>  .../glibc/0023-eglibc-Install-PIC-archives.patch   |    8 +-
>>  ...ard-port-cross-locale-generation-support.patch} |   30 +-
>>  ...0025-Define-DUMMY_LOCALE_T-if-not-defined.patch |   32 +
>>  ...ing-SSE-make-sure-fpmath-is-not-set-to-us.patch |   48 -
>>  .../glibc/{glibc_2.23.bb => glibc_2.24.bb}         |   12 +-
>>  meta/recipes-core/musl/musl.inc                    |    2 +-
>>  meta/recipes-core/musl/musl_git.bb                 |    6 +-
>>  meta/recipes-core/systemd/systemd_229.bb           |    8 +-
>>  meta/recipes-devtools/binutils/binutils_2.26.bb    |    3 +-
>>  .../distcc/{distcc_3.1.bb => distcc_3.2.bb}        |    8 +-
>>  .../distcc/files/separatebuilddir.patch            |   14 +-
>>  ...ferences-between-mips-machine-identifiers.patch |    0
>>  ...de-alternatives-for-glibc-assumptions-hel.patch |  488 ++--
>>  ...m-Silence-Werror-maybe-uninitialized-fals.patch |    0
>>  .../0001-fix-a-stack-usage-warning.patch           |    0
>>  .../0001-remove-the-unneed-checking.patch          |    0
>>  ...-support-for-mips64-abis-in-mips_retval.c.patch |    0
>>  .../0003-Add-mips-n64-relocation-format-hack.patch |    0
>>  .../aarch64_uio.patch                              |    0
>>  .../arm_backend.diff                               |    0
>>  .../elfcmp-fix-self-comparision.patch              |   41 +
>>  .../fixheadercheck.patch                           |    0
>>  .../hppa_backend.diff                              |    0
>>  .../kfreebsd_path.patch                            |    0
>>  .../m68k_backend.diff                              |    0
>>  .../mips_backend.diff                              |    0
>>  .../mips_readelf_w.patch                           |    0
>>  .../shadow.patch                                   |    0
>>  .../testsuite-ignore-elflint.diff                  |    0
>>  .../uclibc-support.patch                           |   37 +-
>>  .../{elfutils_0.164.bb => elfutils_0.166.bb}       |    6 +-
>>  ...-Symlink-c-header-in-target_triplet-for-S.patch |   49 +
>>  meta/recipes-devtools/gcc/gcc-6.1.inc              |  131 +
>>  .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch     |   42 +
>>  .../gcc/gcc-6.1/0002-uclibc-conf.patch             |   53 +
>>  .../0003-gcc-uclibc-locale-ctype_touplow_t.patch   |   87 +
>>  .../gcc/gcc-6.1/0004-uclibc-locale.patch           | 2862 ++++++++++++++++++++
>>  .../gcc/gcc-6.1/0005-uclibc-locale-no__x.patch     |  257 ++
>>  .../gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch |   68 +
>>  .../gcc/gcc-6.1/0007-uclibc-locale-update.patch    |  542 ++++
>>  .../gcc/gcc-6.1/0008-missing-execinfo_h.patch      |   28 +
>>  .../gcc/gcc-6.1/0009-c99-snprintf.patch            |   28 +
>>  .../0010-gcc-poison-system-directories.patch       |  192 ++
>>  .../gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch   |   39 +
>>  .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch |   73 +
>>  .../gcc/gcc-6.1/0013-64-bit-multilib-hack.patch    |   85 +
>>  .../gcc/gcc-6.1/0014-optional-libstdc.patch        |  125 +
>>  ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch |   59 +
>>  .../gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch     |   38 +
>>  ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch |   96 +
>>  .../gcc-6.1/0018-fortran-cross-compile-hack.patch  |   46 +
>>  .../gcc/gcc-6.1/0019-cpp-honor-sysroot.patch       |   54 +
>>  .../gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch   |   57 +
>>  ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch |  234 ++
>>  ...0022-gcc-Fix-argument-list-too-long-error.patch |   40 +
>>  .../gcc/gcc-6.1/0023-Disable-sdt.patch             |  113 +
>>  .../gcc/gcc-6.1/0024-libtool.patch                 |   42 +
>>  ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch |   43 +
>>  ...tilib-config-files-from-B-instead-of-usin.patch |  102 +
>>  ...-libdir-from-.la-which-usually-points-to-.patch |   31 +
>>  .../gcc/gcc-6.1/0028-export-CPP.patch              |   53 +
>>  ...AltiVec-generation-on-powepc-linux-target.patch |   56 +
>>  ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch |   42 +
>>  ...Ensure-target-gcc-headers-can-be-included.patch |   98 +
>>  ...-t-build-with-disable-dependency-tracking.patch |   54 +
>>  ...h-host-directory-during-relink-if-inst_pr.patch |   38 +
>>  ...IBS_DIR-replacement-instead-of-hardcoding.patch |   29 +
>>  .../0035-aarch64-Add-support-for-musl-ldso.patch   |   28 +
>>  ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch |   54 +
>>  ...-handle-sysroot-support-for-nativesdk-gcc.patch |  213 ++
>>  ...et-sysroot-gcc-version-specific-dirs-with.patch |  102 +
>>  ...-various-_FOR_BUILD-and-related-variables.patch |  137 +
>>  .../0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch    |   28 +
>>  .../gcc/gcc-6.1/0041-ssp_nonshared.patch           |   28 +
>>  ...c-libcpp-support-ffile-prefix-map-old-new.patch |  292 ++
>>  ...ug-prefix-map-to-replace-ffile-prefix-map.patch |   43 +
>>  ...-fdebug-prefix-map-support-to-remap-sourc.patch |   54 +
>>  ...45-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch |  125 +
>>  ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch |   29 +
>>  meta/recipes-devtools/gcc/gcc-common.inc           |    2 +
>>  .../recipes-devtools/gcc/gcc-cross-canadian_6.1.bb |    5 +
>>  meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb |    2 +
>>  meta/recipes-devtools/gcc/gcc-cross_6.1.bb         |    3 +
>>  .../gcc/gcc-crosssdk-initial_6.1.bb                |    3 +
>>  meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb      |    2 +
>>  meta/recipes-devtools/gcc/gcc-runtime.inc          |   12 +
>>  meta/recipes-devtools/gcc/gcc-runtime_6.1.bb       |    7 +
>>  meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb    |    2 +
>>  meta/recipes-devtools/gcc/gcc-source_6.1.bb        |    4 +
>>  meta/recipes-devtools/gcc/gcc_6.1.bb               |   15 +
>>  meta/recipes-devtools/gcc/libgcc-common.inc        |    9 +-
>>  meta/recipes-devtools/gcc/libgcc-initial_6.1.bb    |    2 +
>>  meta/recipes-devtools/gcc/libgcc.inc               |   12 +
>>  meta/recipes-devtools/gcc/libgcc_6.1.bb            |    2 +
>>  meta/recipes-devtools/gcc/libgfortran_6.1.bb       |    3 +
>>  .../gdb/{gdb-7.10.1.inc => gdb-7.11.inc}           |    0
>>  meta/recipes-devtools/gdb/gdb-common.inc           |   25 +-
>>  ...nadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} |    0
>>  meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb      |    4 -
>>  meta/recipes-devtools/gdb/gdb-cross_7.11.bb        |    2 +
>>  meta/recipes-devtools/gdb/gdb.inc                  |    8 -
>>  .../gdb/0001-include-sys-types.h-for-mode_t.patch  |   10 +-
>>  ...002-make-man-install-relative-to-DESTDIR.patch} |    8 +-
>>  ...-linux-nat-Define-_ABIO32-if-not-defined.patch} |    8 +-
>>  ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch |   53 +
>>  ...-support-for-Renesas-SH-sh4-architecture.patch} |   32 +-
>>  ...-libreadline.a-when-using-disable-static.patch} |   21 +-
>>  ...gidefs.h.patch => 0007-use-asm-sgidefs.h.patch} |   15 +-
>>  ...0008-Use-exorted-definitions-of-SIGRTMIN.patch} |   44 +-
>>  ...AGS.patch => 0009-Change-order-of-CFLAGS.patch} |   18 +-
>>  .../0010-resolve-restrict-keyword-conflict.patch   |   48 +
>>  .../gdb/{gdb_7.10.1.bb => gdb_7.11.bb}             |    0
>>  ...e-Move-warning-pragma-outside-of-function.patch |   39 +
>>  meta/recipes-devtools/pkgconfig/pkgconfig_git.bb   |    1 +
>>  .../python/python-native_2.7.11.bb                 |    2 +-
>>  meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch    |   54 +
>>  meta/recipes-devtools/rpm/rpm_5.4.16.bb            |    3 +-
>>  .../ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb}          |    8 +-
>>  ...hen-using-non-glibc-libc-implementation-o.patch |   36 +
>>  meta/recipes-devtools/strace/strace_4.11.bb        |    4 +-
>>  .../valgrind/valgrind/gcc5-port.patch              |   64 +
>>  meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  |    1 +
>>  ...dadm.h-Undefine-dprintf-before-redefining.patch |   43 +
>>  .../0001-raid6check-Fix-if-else-indentation.patch  |   37 +
>>  meta/recipes-extended/mdadm/mdadm_3.4.bb           |    4 +-
>>  ...ace-Fix-out-of-bounds-array-access-warnin.patch |   50 +
>>  ...oration-of-MSA-context-in-non-MSA-kernels.patch |   76 +
>>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |    5 +-
>>  meta/recipes-kernel/oprofile/oprofile.inc          |    4 +-
>>  .../0001-Fix-FTBFS-problem-with-GCC-6.patch        |   51 +
>>  ...idi-Explicitly-cast-constant-to-char-type.patch |   75 +
>>  meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb   |    6 +-
>>  ...cmake-drop-the-hardcoded-introspection-gt.patch |   19 +-
>>  ...bKitMacros-Append-to-I-and-not-to-isystem.patch |  223 ++
>>  ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch |   19 +-
>>  meta/recipes-sato/webkit/files/musl-fixes.patch    |   48 +
>>  ...nable-backtrace-on-linux-when-using-glibc.patch |   39 -
>>  ...x-build-with-non-glibc-libraries-on-linux.patch |   61 -
>>  meta/recipes-sato/webkit/webkitgtk/clang.patch     |   25 -
>>  .../{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb}   |   12 +-
>>  ...rf-opcodes-can-cause-references-beyond-th.patch |   29 -
>>  ...roduce-build-support-for-aarch64_be-targe.patch |   33 -
>>  .../libunwind-1.1/0001-disable-tests.patch         |   31 -
>>  ...-wrong-big_endian-flag-in-aarch64_be-case.patch |   34 -
>>  .../libunwind/libunwind-1.1/AArch64-port.patch     | 2529 -----------------
>>  ...k-failure-on-PowerPC-systems-with-Altivec.patch |   28 -
>>  ...-libunwind-to-libgcc_s-rather-than-libgcc.patch |   42 -
>>  .../Support-building-with-older-compilers.patch    |   72 -
>>  .../0001-Fix-build-on-mips-musl.patch              |   33 +-
>>  .../0001-add-knobs-to-disable-enable-tests.patch   |   69 +
>>  ...-backtrace-Use-only-with-glibc-and-uclibc.patch |    0
>>  .../0001-x86-Stub-out-x86_local_resume.patch       |    0
>>  ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch |    0
>>  meta/recipes-support/libunwind/libunwind_1.1.bb    |   24 -
>>  meta/recipes-support/libunwind/libunwind_git.bb    |   26 +
>>  .../recipes-support/lzop/lzop/lzop-1.03-gcc6.patch |   37 +
>>  meta/recipes-support/lzop/lzop_1.03.bb             |    6 +-
>>  .../{mpfr-3.1.3 => mpfr}/long-long-thumb.patch     |    0
>>  .../mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb}          |    5 +-
>>  .../nss/{nss_3.21.bb => nss_3.23.bb}               |    8 +-
>>  201 files changed, 9095 insertions(+), 3627 deletions(-)
>>  create mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
>>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
>>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
>>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
>>  delete mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
>>  rename meta/recipes-core/glibc/{cross-localedef-native_2.23.bb => cross-localedef-native_2.24.bb} (79%)
>>  rename meta/recipes-core/glibc/{glibc-initial_2.23.bb => glibc-initial_2.24.bb} (100%)
>>  rename meta/recipes-core/glibc/{glibc-locale_2.23.bb => glibc-locale_2.24.bb} (100%)
>>  rename meta/recipes-core/glibc/{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} (100%)
>>  rename meta/recipes-core/glibc/{glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} (100%)
>>  rename meta/recipes-core/glibc/glibc/{0025-eglibc-Forward-port-cross-locale-generation-support.patch => 0024-eglibc-Forward-port-cross-locale-generation-support.patch} (97%)
>>  create mode 100644 meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
>>  delete mode 100644 meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
>>  rename meta/recipes-core/glibc/{glibc_2.23.bb => glibc_2.24.bb} (93%)
>>  rename meta/recipes-devtools/distcc/{distcc_3.1.bb => distcc_3.2.bb} (91%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-Ignore-differences-between-mips-machine-identifiers.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch (71%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-fix-a-stack-usage-warning.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-remove-the-unneed-checking.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0003-Add-mips-n64-relocation-format-hack.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/aarch64_uio.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/arm_backend.diff (100%)
>>  create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/fixheadercheck.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/hppa_backend.diff (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/kfreebsd_path.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/m68k_backend.diff (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_backend.diff (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_readelf_w.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/shadow.patch (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/testsuite-ignore-elflint.diff (100%)
>>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/uclibc-support.patch (82%)
>>  rename meta/recipes-devtools/elfutils/{elfutils_0.164.bb => elfutils_0.166.bb} (94%)
>>  create mode 100644 meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1.inc
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-source_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/gcc_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/libgcc_6.1.bb
>>  create mode 100644 meta/recipes-devtools/gcc/libgfortran_6.1.bb
>>  rename meta/recipes-devtools/gdb/{gdb-7.10.1.inc => gdb-7.11.inc} (100%)
>>  rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} (100%)
>>  delete mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
>>  create mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.11.bb
>>  rename meta/recipes-devtools/gdb/gdb/{0001-make-man-install-relative-to-DESTDIR.patch => 0002-make-man-install-relative-to-DESTDIR.patch} (78%)
>>  rename meta/recipes-devtools/gdb/gdb/{0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch => 0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch} (84%)
>>  create mode 100644 meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
>>  rename meta/recipes-devtools/gdb/gdb/{0003-Add-support-for-Renesas-SH-sh4-architecture.patch => 0005-Add-support-for-Renesas-SH-sh4-architecture.patch} (97%)
>>  rename meta/recipes-devtools/gdb/gdb/{force-readline-static.patch => 0006-Dont-disable-libreadline.a-when-using-disable-static.patch} (67%)
>>  rename meta/recipes-devtools/gdb/gdb/{0001-use-asm-sgidefs.h.patch => 0007-use-asm-sgidefs.h.patch} (69%)
>>  rename meta/recipes-devtools/gdb/gdb/{0001-Use-exported-definitions-of-SIGRTMIN.patch => 0008-Use-exorted-definitions-of-SIGRTMIN.patch} (49%)
>>  rename meta/recipes-devtools/gdb/gdb/{0002-Change-order-of-CFLAGS.patch => 0009-Change-order-of-CFLAGS.patch} (69%)
>>  create mode 100644 meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
>>  rename meta/recipes-devtools/gdb/{gdb_7.10.1.bb => gdb_7.11.bb} (100%)
>>  create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch
>>  create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
>>  rename meta/recipes-devtools/ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb} (86%)
>>  create mode 100644 meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
>>  create mode 100644 meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch
>>  create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
>>  create mode 100644 meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch
>>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch
>>  create mode 100644 meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
>>  create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch
>>  create mode 100644 meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
>>  create mode 100644 meta/recipes-sato/webkit/files/musl-fixes.patch
>>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
>>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
>>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/clang.patch
>>  rename meta/recipes-sato/webkit/{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb} (92%)
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
>>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-Fix-build-on-mips-musl.patch (68%)
>>  create mode 100644 meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
>>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-backtrace-Use-only-with-glibc-and-uclibc.patch (100%)
>>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-x86-Stub-out-x86_local_resume.patch (100%)
>>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch (100%)
>>  delete mode 100644 meta/recipes-support/libunwind/libunwind_1.1.bb
>>  create mode 100644 meta/recipes-support/libunwind/libunwind_git.bb
>>  create mode 100644 meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
>>  rename meta/recipes-support/mpfr/{mpfr-3.1.3 => mpfr}/long-long-thumb.patch (100%)
>>  rename meta/recipes-support/mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb} (75%)
>>  rename meta/recipes-support/nss/{nss_3.21.bb => nss_3.23.bb} (97%)
>>
> 


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-12 13:28             ` Bruce Ashfield
@ 2016-05-12 14:21               ` Khem Raj
  2016-05-12 14:27                 ` Bruce Ashfield
  0 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-12 14:21 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Thu, May 12, 2016 at 6:28 AM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
>
> The patches are not integrated into linux-yocto-4.4 and I added the patch
> I've
> attached o my zedd/kernel poky-contrib branch:

Nice, is this branch already proposed for merge ?


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-12 14:21               ` Khem Raj
@ 2016-05-12 14:27                 ` Bruce Ashfield
  2016-05-12 14:27                   ` Khem Raj
  0 siblings, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-05-12 14:27 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 599 bytes --]

On Thu, May 12, 2016 at 10:21 AM, Khem Raj <raj.khem@gmail.com> wrote:

> On Thu, May 12, 2016 at 6:28 AM, Bruce Ashfield
> <bruce.ashfield@gmail.com> wrote:
> >
> > The patches are not integrated into linux-yocto-4.4 and I added the patch
> > I've
> > attached o my zedd/kernel poky-contrib branch:
>
> Nice, is this branch already proposed for merge ?
>

Yes. I stacked it on top of the -stable updates I sent yesterday, so it is
proposed to merge
for master and krogoth.

Bruce




-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"

[-- Attachment #2: Type: text/html, Size: 1132 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-12 14:27                 ` Bruce Ashfield
@ 2016-05-12 14:27                   ` Khem Raj
  2016-05-12 15:52                     ` Khem Raj
  0 siblings, 1 reply; 77+ messages in thread
From: Khem Raj @ 2016-05-12 14:27 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Thu, May 12, 2016 at 7:27 AM, Bruce Ashfield
<bruce.ashfield@gmail.com> wrote:
>
>
> On Thu, May 12, 2016 at 10:21 AM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> On Thu, May 12, 2016 at 6:28 AM, Bruce Ashfield
>> <bruce.ashfield@gmail.com> wrote:
>> >
>> > The patches are not integrated into linux-yocto-4.4 and I added the
>> > patch
>> > I've
>> > attached o my zedd/kernel poky-contrib branch:
>>
>> Nice, is this branch already proposed for merge ?
>
>
> Yes. I stacked it on top of the -stable updates I sent yesterday, so it is
> proposed to merge
> for master and krogoth.


perfect thanks

>
> Bruce
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at
> its end"


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 00/42] GCC/GDB/Binutils Upgrades
  2016-05-12 14:19   ` akuster808
@ 2016-05-12 14:33     ` Ioan-Adrian Ratiu
  0 siblings, 0 replies; 77+ messages in thread
From: Ioan-Adrian Ratiu @ 2016-05-12 14:33 UTC (permalink / raw)
  To: akuster808; +Cc: Marek Vasut, openembedded-core, Dan McGregor

On Thu, 12 May 2016 07:19:50 -0700
akuster808 <akuster808@gmail.com> wrote:

> On 05/12/2016 02:05 AM, Ioan-Adrian Ratiu wrote:
> > Hello
> > 
> > Can the gcc 6 fixes be pulled into the krogoth branch as well?  
> 
> GCC 6 is new so we wont be pull that over to Krogoth. Any fixes you are
> interested in, patches are welcome.

I'm not talking about putting gcc 6 inside the krogoth branches, I'm
talking about using gcc 6 on the native system which builds the krogoth
branches, specifically about the patches which fix the -native packages
which are compiled using the native gcc 6.

Khem's patches for master apply cleanly and fix the -native build errors,
I'll pick and resend them for Krogoth if you want, but they are identical.

Ionel

> 
> - armin
> 
> > 
> > On Wed, 11 May 2016 10:35:25 -0700
> > Khem Raj <raj.khem@gmail.com> wrote:
> >   
> >> This patchset covers gcc 6 upgrade along with gdb 7.11
> >> and glibc 2.24 ( upcoming ) release.
> >>
> >> Rest of upgrades are necessaciated by gcc-6 due to backports
> >> that were already in newer versions of packages
> >>
> >> It has been boot tested with core-image-minimal on all qemu
> >> machines
> >>
> >> The following changes since commit a5970809a2f01dbd152684266e2a3d946d896620:
> >>
> >>   oeqa/lic-checksum: Update after recent LIC_FILES_CHKSUM changes (2016-05-11 10:33:16 +0100)
> >>
> >> are available in the git repository at:
> >>
> >>   git://git.openembedded.org/openembedded-core-contrib kraj/gcc-6
> >>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-6
> >>
> >> Dan McGregor (2):
> >>   pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1
> >>   binutils: disable werror on native build
> >>
> >> Khem Raj (39):
> >>   gcc: Add gcc6 recipes
> >>   glibc: Add recipes for 2.24 release
> >>   glib-2.0: Ignore useless warning found with gcc-6
> >>   elfutils: Upgrade to 0.166
> >>   rpm: Fix build with gcc6
> >>   alsa-tools: Fix build with gcc6
> >>   lzop: Fix build with gcc-6
> >>   webkitgtk: Upgrade to 2.12.1
> >>   oprofile: Fix with gcc6
> >>   mdadm: Fix gcc 6 warnings
> >>   nss: Upgrade to 3.23
> >>   grub: Fix build with gcc-6
> >>   valgrind: Fix build with gcc6
> >>   busybox/mdev: Ensure /sys is mounted before using it
> >>   libc-common.bbclass: Use sed instead of grep
> >>   conf: bump minimum kernel to 3.2.0
> >>   systemd: Create missing sysusers offline
> >>   grub_git: Upgrade to latest tip
> >>   libunwind: Upgrade to 1.2rc1+
> >>   linux-yocto: Fix build on ppc with gcc-6
> >>   linux-yocto: Fix build with gcc6 on mips
> >>   python-native: Point to expat in native sysroot
> >>   bitbake.conf: Empty out BUILDSDK_CPPFLAGS
> >>   strace: Remove pipe.expected
> >>   musl: Upgrade to tip of tree
> >>   libgcc: Ensure that gcc configure options are passed to libgcc too
> >>   libunwind: Upgrade to 1.2rc1+
> >>   libgcc: Ensure that gcc configure options are passed to libgcc too
> >>   gdb,strace: Fix builds on ppc/musl
> >>   libunwind: Add a confgure option for tests
> >>   gdb: Upgrade to 7.11
> >>   gdb: Disable binutils components
> >>   tcmode-default: Bump gcc,glibc,gdb
> >>   musl: Create symlinks for stub libraries
> >>   mdadm: Fix build with clang
> >>   distcc: Upgrade to 3.2
> >>   ruby: Upgrade to 2.2.5
> >>   mpfr: Upgrade to 3.1.4
> >>   gcc-runtime,libgcc: Symlink c++ header and startup files in
> >>     target_triplet for SDK use
> >>
> >> Marek Vasut (1):
> >>   bitbake: Oldest kernel for nios2 is 3.19
> >>
> >>  meta/classes/cross-canadian.bbclass                |    1 +
> >>  meta/classes/libc-common.bbclass                   |    6 +-
> >>  meta/classes/populate_sdk_base.bbclass             |    2 +-
> >>  meta/conf/bitbake.conf                             |    7 +-
> >>  meta/conf/distro/include/tcmode-default.inc        |    6 +-
> >>  ...ettext-gettext.c-main_context-secondary_c.patch |   39 +
> >>  meta/recipes-bsp/grub/grub2.inc                    |    1 +
> >>  meta/recipes-bsp/grub/grub_git.bb                  |    2 +-
> >>  meta/recipes-core/busybox/files/mdev               |    4 +-
> >>  .../0001-Do-not-ignore-return-value-of-write.patch |   42 +
> >>  .../glib-2.0/0002-tests-Ignore-y2k-warnings.patch  |   42 +
> >>  .../ignore-format-nonliteral-warning.patch         |   39 +
> >>  meta/recipes-core/glib-2.0/glib-2.0_2.46.2.bb      |    7 +-
> >>  .../fix_for_centos_5.8.patch                       |   18 -
> >>  ...tive_2.23.bb => cross-localedef-native_2.24.bb} |   26 +-
> >>  ...glibc-initial_2.23.bb => glibc-initial_2.24.bb} |    0
> >>  .../{glibc-locale_2.23.bb => glibc-locale_2.24.bb} |    0
> >>  .../{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} |    0
> >>  ...glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} |    0
> >>  ...libc-Look-for-host-system-ld.so.cache-as-.patch |    8 +-
> >>  ...libc-Fix-buffer-overrun-with-a-relocated-.patch |    8 +-
> >>  ...libc-Raise-the-size-of-arrays-containing-.patch |   34 +-
> >>  ...ivesdk-glibc-Allow-64-bit-atomics-for-x86.patch |   10 +-
> >>  ...500-e5500-e6500-603e-fsqrt-implementation.patch |    6 +-
> >>  ...-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch |    8 +-
> >>  ...-Fix-undefined-reference-to-__sqrt_finite.patch |    6 +-
> >>  ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
> >>  ...bug-1443-which-explains-what-the-patch-do.patch |    8 +-
> >>  ...n-libm-err-tab.pl-with-specific-dirs-in-S.patch |   10 +-
> >>  ...qrt-f-are-now-inline-functions-and-call-o.patch |    6 +-
> >>  ...ersion-output-matching-grok-gold-s-output.patch |   14 +-
> >>  ...-configure.ac-handle-correctly-libc_cv_ro.patch |    6 +-
> >>  .../glibc/glibc/0014-Add-unused-attribute.patch    |    8 +-
> >>  ...thin-the-path-sets-wrong-config-variables.patch |   10 +-
> >>  ...-timezone-re-written-tzselect-as-posix-sh.patch |   16 +-
> >>  ...move-bash-dependency-for-nscd-init-script.patch |    8 +-
> >>  ...c-Cross-building-and-testing-instructions.patch |    6 +-
> >>  ...019-eglibc-Help-bootstrap-cross-toolchain.patch |    8 +-
> >>  .../glibc/0020-eglibc-cherry-picked-from.patch     |   18 +-
> >>  .../0021-eglibc-Clear-cache-lines-on-ppc8xx.patch  |   10 +-
> >>  ...0022-eglibc-Resolve-__fpscr_values-on-SH4.patch |    8 +-
> >>  .../glibc/0023-eglibc-Install-PIC-archives.patch   |    8 +-
> >>  ...ard-port-cross-locale-generation-support.patch} |   30 +-
> >>  ...0025-Define-DUMMY_LOCALE_T-if-not-defined.patch |   32 +
> >>  ...ing-SSE-make-sure-fpmath-is-not-set-to-us.patch |   48 -
> >>  .../glibc/{glibc_2.23.bb => glibc_2.24.bb}         |   12 +-
> >>  meta/recipes-core/musl/musl.inc                    |    2 +-
> >>  meta/recipes-core/musl/musl_git.bb                 |    6 +-
> >>  meta/recipes-core/systemd/systemd_229.bb           |    8 +-
> >>  meta/recipes-devtools/binutils/binutils_2.26.bb    |    3 +-
> >>  .../distcc/{distcc_3.1.bb => distcc_3.2.bb}        |    8 +-
> >>  .../distcc/files/separatebuilddir.patch            |   14 +-
> >>  ...ferences-between-mips-machine-identifiers.patch |    0
> >>  ...de-alternatives-for-glibc-assumptions-hel.patch |  488 ++--
> >>  ...m-Silence-Werror-maybe-uninitialized-fals.patch |    0
> >>  .../0001-fix-a-stack-usage-warning.patch           |    0
> >>  .../0001-remove-the-unneed-checking.patch          |    0
> >>  ...-support-for-mips64-abis-in-mips_retval.c.patch |    0
> >>  .../0003-Add-mips-n64-relocation-format-hack.patch |    0
> >>  .../aarch64_uio.patch                              |    0
> >>  .../arm_backend.diff                               |    0
> >>  .../elfcmp-fix-self-comparision.patch              |   41 +
> >>  .../fixheadercheck.patch                           |    0
> >>  .../hppa_backend.diff                              |    0
> >>  .../kfreebsd_path.patch                            |    0
> >>  .../m68k_backend.diff                              |    0
> >>  .../mips_backend.diff                              |    0
> >>  .../mips_readelf_w.patch                           |    0
> >>  .../shadow.patch                                   |    0
> >>  .../testsuite-ignore-elflint.diff                  |    0
> >>  .../uclibc-support.patch                           |   37 +-
> >>  .../{elfutils_0.164.bb => elfutils_0.166.bb}       |    6 +-
> >>  ...-Symlink-c-header-in-target_triplet-for-S.patch |   49 +
> >>  meta/recipes-devtools/gcc/gcc-6.1.inc              |  131 +
> >>  .../0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch     |   42 +
> >>  .../gcc/gcc-6.1/0002-uclibc-conf.patch             |   53 +
> >>  .../0003-gcc-uclibc-locale-ctype_touplow_t.patch   |   87 +
> >>  .../gcc/gcc-6.1/0004-uclibc-locale.patch           | 2862 ++++++++++++++++++++
> >>  .../gcc/gcc-6.1/0005-uclibc-locale-no__x.patch     |  257 ++
> >>  .../gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch |   68 +
> >>  .../gcc/gcc-6.1/0007-uclibc-locale-update.patch    |  542 ++++
> >>  .../gcc/gcc-6.1/0008-missing-execinfo_h.patch      |   28 +
> >>  .../gcc/gcc-6.1/0009-c99-snprintf.patch            |   28 +
> >>  .../0010-gcc-poison-system-directories.patch       |  192 ++
> >>  .../gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch   |   39 +
> >>  .../0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch |   73 +
> >>  .../gcc/gcc-6.1/0013-64-bit-multilib-hack.patch    |   85 +
> >>  .../gcc/gcc-6.1/0014-optional-libstdc.patch        |  125 +
> >>  ...0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch |   59 +
> >>  .../gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch     |   38 +
> >>  ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch |   96 +
> >>  .../gcc-6.1/0018-fortran-cross-compile-hack.patch  |   46 +
> >>  .../gcc/gcc-6.1/0019-cpp-honor-sysroot.patch       |   54 +
> >>  .../gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch   |   57 +
> >>  ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch |  234 ++
> >>  ...0022-gcc-Fix-argument-list-too-long-error.patch |   40 +
> >>  .../gcc/gcc-6.1/0023-Disable-sdt.patch             |  113 +
> >>  .../gcc/gcc-6.1/0024-libtool.patch                 |   42 +
> >>  ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch |   43 +
> >>  ...tilib-config-files-from-B-instead-of-usin.patch |  102 +
> >>  ...-libdir-from-.la-which-usually-points-to-.patch |   31 +
> >>  .../gcc/gcc-6.1/0028-export-CPP.patch              |   53 +
> >>  ...AltiVec-generation-on-powepc-linux-target.patch |   56 +
> >>  ...-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch |   42 +
> >>  ...Ensure-target-gcc-headers-can-be-included.patch |   98 +
> >>  ...-t-build-with-disable-dependency-tracking.patch |   54 +
> >>  ...h-host-directory-during-relink-if-inst_pr.patch |   38 +
> >>  ...IBS_DIR-replacement-instead-of-hardcoding.patch |   29 +
> >>  .../0035-aarch64-Add-support-for-musl-ldso.patch   |   28 +
> >>  ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch |   54 +
> >>  ...-handle-sysroot-support-for-nativesdk-gcc.patch |  213 ++
> >>  ...et-sysroot-gcc-version-specific-dirs-with.patch |  102 +
> >>  ...-various-_FOR_BUILD-and-related-variables.patch |  137 +
> >>  .../0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch    |   28 +
> >>  .../gcc/gcc-6.1/0041-ssp_nonshared.patch           |   28 +
> >>  ...c-libcpp-support-ffile-prefix-map-old-new.patch |  292 ++
> >>  ...ug-prefix-map-to-replace-ffile-prefix-map.patch |   43 +
> >>  ...-fdebug-prefix-map-support-to-remap-sourc.patch |   54 +
> >>  ...45-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch |  125 +
> >>  ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch |   29 +
> >>  meta/recipes-devtools/gcc/gcc-common.inc           |    2 +
> >>  .../recipes-devtools/gcc/gcc-cross-canadian_6.1.bb |    5 +
> >>  meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb |    2 +
> >>  meta/recipes-devtools/gcc/gcc-cross_6.1.bb         |    3 +
> >>  .../gcc/gcc-crosssdk-initial_6.1.bb                |    3 +
> >>  meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb      |    2 +
> >>  meta/recipes-devtools/gcc/gcc-runtime.inc          |   12 +
> >>  meta/recipes-devtools/gcc/gcc-runtime_6.1.bb       |    7 +
> >>  meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb    |    2 +
> >>  meta/recipes-devtools/gcc/gcc-source_6.1.bb        |    4 +
> >>  meta/recipes-devtools/gcc/gcc_6.1.bb               |   15 +
> >>  meta/recipes-devtools/gcc/libgcc-common.inc        |    9 +-
> >>  meta/recipes-devtools/gcc/libgcc-initial_6.1.bb    |    2 +
> >>  meta/recipes-devtools/gcc/libgcc.inc               |   12 +
> >>  meta/recipes-devtools/gcc/libgcc_6.1.bb            |    2 +
> >>  meta/recipes-devtools/gcc/libgfortran_6.1.bb       |    3 +
> >>  .../gdb/{gdb-7.10.1.inc => gdb-7.11.inc}           |    0
> >>  meta/recipes-devtools/gdb/gdb-common.inc           |   25 +-
> >>  ...nadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} |    0
> >>  meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb      |    4 -
> >>  meta/recipes-devtools/gdb/gdb-cross_7.11.bb        |    2 +
> >>  meta/recipes-devtools/gdb/gdb.inc                  |    8 -
> >>  .../gdb/0001-include-sys-types.h-for-mode_t.patch  |   10 +-
> >>  ...002-make-man-install-relative-to-DESTDIR.patch} |    8 +-
> >>  ...-linux-nat-Define-_ABIO32-if-not-defined.patch} |    8 +-
> >>  ...Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch |   53 +
> >>  ...-support-for-Renesas-SH-sh4-architecture.patch} |   32 +-
> >>  ...-libreadline.a-when-using-disable-static.patch} |   21 +-
> >>  ...gidefs.h.patch => 0007-use-asm-sgidefs.h.patch} |   15 +-
> >>  ...0008-Use-exorted-definitions-of-SIGRTMIN.patch} |   44 +-
> >>  ...AGS.patch => 0009-Change-order-of-CFLAGS.patch} |   18 +-
> >>  .../0010-resolve-restrict-keyword-conflict.patch   |   48 +
> >>  .../gdb/{gdb_7.10.1.bb => gdb_7.11.bb}             |    0
> >>  ...e-Move-warning-pragma-outside-of-function.patch |   39 +
> >>  meta/recipes-devtools/pkgconfig/pkgconfig_git.bb   |    1 +
> >>  .../python/python-native_2.7.11.bb                 |    2 +-
> >>  meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch    |   54 +
> >>  meta/recipes-devtools/rpm/rpm_5.4.16.bb            |    3 +-
> >>  .../ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb}          |    8 +-
> >>  ...hen-using-non-glibc-libc-implementation-o.patch |   36 +
> >>  meta/recipes-devtools/strace/strace_4.11.bb        |    4 +-
> >>  .../valgrind/valgrind/gcc5-port.patch              |   64 +
> >>  meta/recipes-devtools/valgrind/valgrind_3.11.0.bb  |    1 +
> >>  ...dadm.h-Undefine-dprintf-before-redefining.patch |   43 +
> >>  .../0001-raid6check-Fix-if-else-indentation.patch  |   37 +
> >>  meta/recipes-extended/mdadm/mdadm_3.4.bb           |    4 +-
> >>  ...ace-Fix-out-of-bounds-array-access-warnin.patch |   50 +
> >>  ...oration-of-MSA-context-in-non-MSA-kernels.patch |   76 +
> >>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |    5 +-
> >>  meta/recipes-kernel/oprofile/oprofile.inc          |    4 +-
> >>  .../0001-Fix-FTBFS-problem-with-GCC-6.patch        |   51 +
> >>  ...idi-Explicitly-cast-constant-to-char-type.patch |   75 +
> >>  meta/recipes-multimedia/alsa/alsa-tools_1.1.0.bb   |    6 +-
> >>  ...cmake-drop-the-hardcoded-introspection-gt.patch |   19 +-
> >>  ...bKitMacros-Append-to-I-and-not-to-isystem.patch |  223 ++
> >>  ...ng-introspection-files-add-CMAKE_C_FLAGS-.patch |   19 +-
> >>  meta/recipes-sato/webkit/files/musl-fixes.patch    |   48 +
> >>  ...nable-backtrace-on-linux-when-using-glibc.patch |   39 -
> >>  ...x-build-with-non-glibc-libraries-on-linux.patch |   61 -
> >>  meta/recipes-sato/webkit/webkitgtk/clang.patch     |   25 -
> >>  .../{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb}   |   12 +-
> >>  ...rf-opcodes-can-cause-references-beyond-th.patch |   29 -
> >>  ...roduce-build-support-for-aarch64_be-targe.patch |   33 -
> >>  .../libunwind-1.1/0001-disable-tests.patch         |   31 -
> >>  ...-wrong-big_endian-flag-in-aarch64_be-case.patch |   34 -
> >>  .../libunwind/libunwind-1.1/AArch64-port.patch     | 2529 -----------------
> >>  ...k-failure-on-PowerPC-systems-with-Altivec.patch |   28 -
> >>  ...-libunwind-to-libgcc_s-rather-than-libgcc.patch |   42 -
> >>  .../Support-building-with-older-compilers.patch    |   72 -
> >>  .../0001-Fix-build-on-mips-musl.patch              |   33 +-
> >>  .../0001-add-knobs-to-disable-enable-tests.patch   |   69 +
> >>  ...-backtrace-Use-only-with-glibc-and-uclibc.patch |    0
> >>  .../0001-x86-Stub-out-x86_local_resume.patch       |    0
> >>  ...Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch |    0
> >>  meta/recipes-support/libunwind/libunwind_1.1.bb    |   24 -
> >>  meta/recipes-support/libunwind/libunwind_git.bb    |   26 +
> >>  .../recipes-support/lzop/lzop/lzop-1.03-gcc6.patch |   37 +
> >>  meta/recipes-support/lzop/lzop_1.03.bb             |    6 +-
> >>  .../{mpfr-3.1.3 => mpfr}/long-long-thumb.patch     |    0
> >>  .../mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb}          |    5 +-
> >>  .../nss/{nss_3.21.bb => nss_3.23.bb}               |    8 +-
> >>  201 files changed, 9095 insertions(+), 3627 deletions(-)
> >>  create mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch
> >>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-ignore-return-value-of-write.patch
> >>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Ignore-y2k-warnings.patch
> >>  create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/ignore-format-nonliteral-warning.patch
> >>  delete mode 100644 meta/recipes-core/glibc/cross-localedef-native/fix_for_centos_5.8.patch
> >>  rename meta/recipes-core/glibc/{cross-localedef-native_2.23.bb => cross-localedef-native_2.24.bb} (79%)
> >>  rename meta/recipes-core/glibc/{glibc-initial_2.23.bb => glibc-initial_2.24.bb} (100%)
> >>  rename meta/recipes-core/glibc/{glibc-locale_2.23.bb => glibc-locale_2.24.bb} (100%)
> >>  rename meta/recipes-core/glibc/{glibc-mtrace_2.23.bb => glibc-mtrace_2.24.bb} (100%)
> >>  rename meta/recipes-core/glibc/{glibc-scripts_2.23.bb => glibc-scripts_2.24.bb} (100%)
> >>  rename meta/recipes-core/glibc/glibc/{0025-eglibc-Forward-port-cross-locale-generation-support.patch => 0024-eglibc-Forward-port-cross-locale-generation-support.patch} (97%)
> >>  create mode 100644 meta/recipes-core/glibc/glibc/0025-Define-DUMMY_LOCALE_T-if-not-defined.patch
> >>  delete mode 100644 meta/recipes-core/glibc/glibc/0026-When-disabling-SSE-make-sure-fpmath-is-not-set-to-us.patch
> >>  rename meta/recipes-core/glibc/{glibc_2.23.bb => glibc_2.24.bb} (93%)
> >>  rename meta/recipes-devtools/distcc/{distcc_3.1.bb => distcc_3.2.bb} (91%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-Ignore-differences-between-mips-machine-identifiers.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-build-Provide-alternatives-for-glibc-assumptions-hel.patch (71%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-elf_getarsym-Silence-Werror-maybe-uninitialized-fals.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-fix-a-stack-usage-warning.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0001-remove-the-unneed-checking.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/0003-Add-mips-n64-relocation-format-hack.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/aarch64_uio.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/arm_backend.diff (100%)
> >>  create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.166/elfcmp-fix-self-comparision.patch
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/fixheadercheck.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/hppa_backend.diff (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/kfreebsd_path.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/m68k_backend.diff (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_backend.diff (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/mips_readelf_w.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/shadow.patch (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/testsuite-ignore-elflint.diff (100%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils-0.164 => elfutils-0.166}/uclibc-support.patch (82%)
> >>  rename meta/recipes-devtools/elfutils/{elfutils_0.164.bb => elfutils_0.166.bb} (94%)
> >>  create mode 100644 meta/recipes-devtools/gcc/0001-gcc-runtime-Symlink-c-header-in-target_triplet-for-S.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1.inc
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0002-uclibc-conf.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0003-gcc-uclibc-locale-ctype_touplow_t.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0004-uclibc-locale.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0005-uclibc-locale-no__x.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0006-uclibc-locale-wchar_fix.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0007-uclibc-locale-update.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0008-missing-execinfo_h.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0009-c99-snprintf.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0010-gcc-poison-system-directories.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0011-gcc-poison-dir-extend.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0013-64-bit-multilib-hack.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0014-optional-libstdc.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0016-COLLECT_GCC_OPTIONS.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0018-fortran-cross-compile-hack.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0019-cpp-honor-sysroot.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0020-MIPS64-Default-to-N64-ABI.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0022-gcc-Fix-argument-list-too-long-error.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0023-Disable-sdt.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0024-libtool.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0028-export-CPP.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0031-Ensure-target-gcc-headers-can-be-included.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0035-aarch64-Add-support-for-musl-ldso.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0037-handle-sysroot-support-for-nativesdk-gcc.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0039-Fix-various-_FOR_BUILD-and-related-variables.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0041-ssp_nonshared.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.1/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross-canadian_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross-initial_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-cross_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-crosssdk_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-runtime_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-sanitizers_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc-source_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/gcc_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/libgcc-initial_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/libgcc_6.1.bb
> >>  create mode 100644 meta/recipes-devtools/gcc/libgfortran_6.1.bb
> >>  rename meta/recipes-devtools/gdb/{gdb-7.10.1.inc => gdb-7.11.inc} (100%)
> >>  rename meta/recipes-devtools/gdb/{gdb-cross-canadian_7.10.1.bb => gdb-cross-canadian_7.11.bb} (100%)
> >>  delete mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.10.1.bb
> >>  create mode 100644 meta/recipes-devtools/gdb/gdb-cross_7.11.bb
> >>  rename meta/recipes-devtools/gdb/gdb/{0001-make-man-install-relative-to-DESTDIR.patch => 0002-make-man-install-relative-to-DESTDIR.patch} (78%)
> >>  rename meta/recipes-devtools/gdb/gdb/{0001-mips-linux-nat-Define-_ABIO32-if-not-defined.patch => 0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch} (84%)
> >>  create mode 100644 meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
> >>  rename meta/recipes-devtools/gdb/gdb/{0003-Add-support-for-Renesas-SH-sh4-architecture.patch => 0005-Add-support-for-Renesas-SH-sh4-architecture.patch} (97%)
> >>  rename meta/recipes-devtools/gdb/gdb/{force-readline-static.patch => 0006-Dont-disable-libreadline.a-when-using-disable-static.patch} (67%)
> >>  rename meta/recipes-devtools/gdb/gdb/{0001-use-asm-sgidefs.h.patch => 0007-use-asm-sgidefs.h.patch} (69%)
> >>  rename meta/recipes-devtools/gdb/gdb/{0001-Use-exported-definitions-of-SIGRTMIN.patch => 0008-Use-exorted-definitions-of-SIGRTMIN.patch} (49%)
> >>  rename meta/recipes-devtools/gdb/gdb/{0002-Change-order-of-CFLAGS.patch => 0009-Change-order-of-CFLAGS.patch} (69%)
> >>  create mode 100644 meta/recipes-devtools/gdb/gdb/0010-resolve-restrict-keyword-conflict.patch
> >>  rename meta/recipes-devtools/gdb/{gdb_7.10.1.bb => gdb_7.11.bb} (100%)
> >>  create mode 100644 meta/recipes-devtools/pkgconfig/pkgconfig/0001-gdate-Move-warning-pragma-outside-of-function.patch
> >>  create mode 100644 meta/recipes-devtools/rpm/rpm/gcc6-stdlib.patch
> >>  rename meta/recipes-devtools/ruby/{ruby_2.2.2.bb => ruby_2.2.5.bb} (86%)
> >>  create mode 100644 meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
> >>  create mode 100644 meta/recipes-devtools/valgrind/valgrind/gcc5-port.patch
> >>  create mode 100644 meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
> >>  create mode 100644 meta/recipes-extended/mdadm/files/0001-raid6check-Fix-if-else-indentation.patch
> >>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
> >>  create mode 100644 meta/recipes-kernel/linux/linux-yocto/v2-MIPS-Prevent-restoration-of-MSA-context-in-non-MSA-kernels.patch
> >>  create mode 100644 meta/recipes-kernel/oprofile/oprofile/0001-Fix-FTBFS-problem-with-GCC-6.patch
> >>  create mode 100644 meta/recipes-multimedia/alsa/alsa-tools/0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch
> >>  create mode 100644 meta/recipes-sato/webkit/files/0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch
> >>  create mode 100644 meta/recipes-sato/webkit/files/musl-fixes.patch
> >>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Enable-backtrace-on-linux-when-using-glibc.patch
> >>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-non-glibc-libraries-on-linux.patch
> >>  delete mode 100644 meta/recipes-sato/webkit/webkitgtk/clang.patch
> >>  rename meta/recipes-sato/webkit/{webkitgtk_2.10.7.bb => webkitgtk_2.12.1.bb} (92%)
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/AArch64-port.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Link-libunwind-to-libgcc_s-rather-than-libgcc.patch
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind-1.1/Support-building-with-older-compilers.patch
> >>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-Fix-build-on-mips-musl.patch (68%)
> >>  create mode 100644 meta/recipes-support/libunwind/libunwind/0001-add-knobs-to-disable-enable-tests.patch
> >>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-backtrace-Use-only-with-glibc-and-uclibc.patch (100%)
> >>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/0001-x86-Stub-out-x86_local_resume.patch (100%)
> >>  rename meta/recipes-support/libunwind/{libunwind-1.1 => libunwind}/Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch (100%)
> >>  delete mode 100644 meta/recipes-support/libunwind/libunwind_1.1.bb
> >>  create mode 100644 meta/recipes-support/libunwind/libunwind_git.bb
> >>  create mode 100644 meta/recipes-support/lzop/lzop/lzop-1.03-gcc6.patch
> >>  rename meta/recipes-support/mpfr/{mpfr-3.1.3 => mpfr}/long-long-thumb.patch (100%)
> >>  rename meta/recipes-support/mpfr/{mpfr_3.1.3.bb => mpfr_3.1.4.bb} (75%)
> >>  rename meta/recipes-support/nss/{nss_3.21.bb => nss_3.23.bb} (97%)
> >>  
> >   



^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6
  2016-05-12 14:27                   ` Khem Raj
@ 2016-05-12 15:52                     ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-12 15:52 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer

On Thu, May 12, 2016 at 7:27 AM, Khem Raj <raj.khem@gmail.com> wrote:
> On Thu, May 12, 2016 at 7:27 AM, Bruce Ashfield
> <bruce.ashfield@gmail.com> wrote:
>>
>>
>> On Thu, May 12, 2016 at 10:21 AM, Khem Raj <raj.khem@gmail.com> wrote:
>>>
>>> On Thu, May 12, 2016 at 6:28 AM, Bruce Ashfield
>>> <bruce.ashfield@gmail.com> wrote:
>>> >
>>> > The patches are not integrated into linux-yocto-4.4 and I added the
>>> > patch
>>> > I've
>>> > attached o my zedd/kernel poky-contrib branch:
>>>
>>> Nice, is this branch already proposed for merge ?
>>
>>
>> Yes. I stacked it on top of the -stable updates I sent yesterday, so it is
>> proposed to merge
>> for master and krogoth.
>

I have now merged your pull branch into mine and dropped my kernel
patches from my original pull requests.

http://git.openembedded.org/openembedded-core-contrib/log/?h=kraj/gcc-6


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 18/42] conf: bump minimum kernel to 3.2.0
  2016-05-11 17:35 ` [PATCH 18/42] conf: bump minimum kernel to 3.2.0 Khem Raj
@ 2016-05-12 17:18   ` Ruslan Bilovol
  2016-05-12 18:26     ` Khem Raj
  0 siblings, 1 reply; 77+ messages in thread
From: Ruslan Bilovol @ 2016-05-12 17:18 UTC (permalink / raw)
  To: Khem Raj, openembedded-core

Hi,

On 05/11/2016 08:35 PM, Khem Raj wrote:
> glibc 2.24 have raised the bar for minimum supported kernel
> for more details see
>
> http://repo.or.cz/glibc.git/commit/5b4ecd3f95695ef593e4474b4ab5a117291ba5fc
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>   meta/classes/populate_sdk_base.bbclass | 2 +-
>   meta/conf/bitbake.conf                 | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index 008bb57..645a7f4 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -90,7 +90,7 @@ SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK
>   # Some archs override this, we need the nativesdk version
>   # turns out this is hard to get from the datastore due to TRANSLATED_TARGET_ARCH
>   # manipulation.
> -SDK_OLDEST_KERNEL = "2.6.32"
> +SDK_OLDEST_KERNEL = "3.2.0"
>   
>   fakeroot python do_populate_sdk() {
>       from oe.sdk import populate_sdk
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 8e02e91..07d171d 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -403,7 +403,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
>   # Kernel info.
>   ##################################################################
>   
> -OLDEST_KERNEL = "2.6.32"
> +OLDEST_KERNEL = "3.2.0"
>   OLDEST_KERNEL_aarch64 = "3.14"
>   STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
>   STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
Could you please keep 2.6.32 for i386/x86_64? In mentioned glibc commit
http://repo.or.cz/glibc.git/commit/5b4ecd3f95695ef593e4474b4ab5a117291ba5fc
I see that Linux v3.2 is required for all architectures except x86 / x86_64.
Currently we build OE and use SDK on x86_64 hosts and some of them
run Linux based on kernel 2.6.32 so we would like to still have ability
to use OE/SDK on such machines

Thanks,
Ruslan


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 18/42] conf: bump minimum kernel to 3.2.0
  2016-05-12 17:18   ` Ruslan Bilovol
@ 2016-05-12 18:26     ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-12 18:26 UTC (permalink / raw)
  To: Ruslan Bilovol; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2396 bytes --]


> On May 12, 2016, at 10:18 AM, Ruslan Bilovol <rbilovol@cisco.com> wrote:
> 
> Hi,
> 
> On 05/11/2016 08:35 PM, Khem Raj wrote:
>> glibc 2.24 have raised the bar for minimum supported kernel
>> for more details see
>> 
>> http://repo.or.cz/glibc.git/commit/5b4ecd3f95695ef593e4474b4ab5a117291ba5fc
>> 
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  meta/classes/populate_sdk_base.bbclass | 2 +-
>>  meta/conf/bitbake.conf                 | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
>> index 008bb57..645a7f4 100644
>> --- a/meta/classes/populate_sdk_base.bbclass
>> +++ b/meta/classes/populate_sdk_base.bbclass
>> @@ -90,7 +90,7 @@ SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; tar_sdk; ${SDK
>>  # Some archs override this, we need the nativesdk version
>>  # turns out this is hard to get from the datastore due to TRANSLATED_TARGET_ARCH
>>  # manipulation.
>> -SDK_OLDEST_KERNEL = "2.6.32"
>> +SDK_OLDEST_KERNEL = "3.2.0"
>>    fakeroot python do_populate_sdk() {
>>      from oe.sdk import populate_sdk
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index 8e02e91..07d171d 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -403,7 +403,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
>>  # Kernel info.
>>  ##################################################################
>>  -OLDEST_KERNEL = "2.6.32"
>> +OLDEST_KERNEL = "3.2.0"
>>  OLDEST_KERNEL_aarch64 = "3.14"
>>  STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
>>  STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
> Could you please keep 2.6.32 for i386/x86_64? In mentioned glibc commit
> http://repo.or.cz/glibc.git/commit/5b4ecd3f95695ef593e4474b4ab5a117291ba5fc
> I see that Linux v3.2 is required for all architectures except x86 / x86_64.
> Currently we build OE and use SDK on x86_64 hosts and some of them
> run Linux based on kernel 2.6.32 so we would like to still have ability
> to use OE/SDK on such machines
> 

this is for sdkhost and build host, then lets not hold x86 targets for that
you can override the OLDEST_KERNEL for native and nativesdk glibc
in your local config metadata.

> Thanks,
> Ruslan


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 19/42] systemd: Create missing sysusers offline
  2016-05-11 17:35 ` [PATCH 19/42] systemd: Create missing sysusers offline Khem Raj
@ 2016-05-13 12:44   ` Richard Purdie
  0 siblings, 0 replies; 77+ messages in thread
From: Richard Purdie @ 2016-05-13 12:44 UTC (permalink / raw)
  To: Khem Raj, openembedded-core

On Wed, 2016-05-11 at 10:35 -0700, Khem Raj wrote:
> Some system users which are needed by systemd components were missing
> create these users knobbed with relevant packageconfig
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-core/systemd/systemd_229.bb | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)

This still breaks on the autobuilder so I dropped it from -next:

https://autobuilder.yoctoproject.org/main/builders/nightly-qa-systemd/b
uilds/759

Cheers,

Richard


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 00/42] GCC/GDB/Binutils Upgrades
  2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
                   ` (42 preceding siblings ...)
  2016-05-12  9:05 ` [PATCH 00/42] GCC/GDB/Binutils Upgrades Ioan-Adrian Ratiu
@ 2016-05-13 12:47 ` Richard Purdie
  2016-05-13 16:48   ` Khem Raj
  43 siblings, 1 reply; 77+ messages in thread
From: Richard Purdie @ 2016-05-13 12:47 UTC (permalink / raw)
  To: Khem Raj, openembedded-core; +Cc: Marek Vasut, Dan McGregor

On Wed, 2016-05-11 at 10:35 -0700, Khem Raj wrote:
> This patchset covers gcc 6 upgrade along with gdb 7.11
> and glibc 2.24 ( upcoming ) release.
> 
> Rest of upgrades are necessaciated by gcc-6 due to backports
> that were already in newer versions of packages
> 
> It has been boot tested with core-image-minimal on all qemu
> machines
> 
> The following changes since commit
> a5970809a2f01dbd152684266e2a3d946d896620:
> 
>   oeqa/lic-checksum: Update after recent LIC_FILES_CHKSUM changes
> (2016-05-11 10:33:16 +0100)
> 
> are available in the git repository at:
> 
>   git://git.openembedded.org/openembedded-core-contrib kraj/gcc-6
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log
> /?h=kraj/gcc-6

I went through and included a subset of this into -next, with a view to
getting the basic pieces out the way. There were a number of pieces I
didn't get in the first pass, either due to v2's which I couldn't
easily update to, a failure on the autobuilder, or that the change was
significant and I wanted to get the "easy" bulk of the patches out the
way before for example the gcc version switch.

If you could therefore rebase against master, fix the systemd issue and
resend what is left that would be extremely helpful, thanks!

Cheers,

Richard


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 00/42] GCC/GDB/Binutils Upgrades
  2016-05-13 12:47 ` Richard Purdie
@ 2016-05-13 16:48   ` Khem Raj
  0 siblings, 0 replies; 77+ messages in thread
From: Khem Raj @ 2016-05-13 16:48 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Marek Vasut, Dan McGregor, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1574 bytes --]


> On May 13, 2016, at 5:47 AM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> 
> On Wed, 2016-05-11 at 10:35 -0700, Khem Raj wrote:
>> This patchset covers gcc 6 upgrade along with gdb 7.11
>> and glibc 2.24 ( upcoming ) release.
>> 
>> Rest of upgrades are necessaciated by gcc-6 due to backports
>> that were already in newer versions of packages
>> 
>> It has been boot tested with core-image-minimal on all qemu
>> machines
>> 
>> The following changes since commit
>> a5970809a2f01dbd152684266e2a3d946d896620:
>> 
>>  oeqa/lic-checksum: Update after recent LIC_FILES_CHKSUM changes
>> (2016-05-11 10:33:16 +0100)
>> 
>> are available in the git repository at:
>> 
>>  git://git.openembedded.org/openembedded-core-contrib kraj/gcc-6
>>  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log
>> /?h=kraj/gcc-6
> 
> I went through and included a subset of this into -next, with a view to
> getting the basic pieces out the way. There were a number of pieces I
> didn't get in the first pass, either due to v2's which I couldn't
> easily update to, a failure on the autobuilder, or that the change was
> significant and I wanted to get the "easy" bulk of the patches out the
> way before for example the gcc version switch.
> 
> If you could therefore rebase against master, fix the systemd issue and
> resend what is left that would be extremely helpful, thanks!

I have rebased with master, dropped systemd patch and added a rpi fix
sent another pull request with remaining patches.

Thank you
-Khem


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-05-11 17:35 ` [PATCH 01/42] gcc: Add gcc6 recipes Khem Raj
@ 2016-05-31  8:12   ` Jussi Kukkonen
  2016-05-31 22:20     ` Paul Eggleton
  0 siblings, 1 reply; 77+ messages in thread
From: Jussi Kukkonen @ 2016-05-31  8:12 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 536 bytes --]

On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:

> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> +BASEURI ?= "git://
> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
>

I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download comes
from? It increased the size of my downloads-directory by >30% -- and I must
have quite a bit of old junk in that directory already.

Is there no other solution to this than a 2.5G git copy (honest question, I
don't know gcc)?

Jussi

[-- Attachment #2: Type: text/html, Size: 1084 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-05-31  8:12   ` Jussi Kukkonen
@ 2016-05-31 22:20     ` Paul Eggleton
  2016-05-31 22:23       ` Paul Eggleton
  0 siblings, 1 reply; 77+ messages in thread
From: Paul Eggleton @ 2016-05-31 22:20 UTC (permalink / raw)
  To: openembedded-core

On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> > +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> > +BASEURI ?= "git://
> > github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> 
> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download comes
> from? It increased the size of my downloads-directory by >30% -- and I must
> have quite a bit of old junk in that directory already.
> 
> Is there no other solution to this than a 2.5G git copy (honest question, I
> don't know gcc)?

We went down this road before and it wasn't great for users. There is at least 
a tarball for 6.1, we'd presumably need some patches on top of that (~43 if we 
were to simply take what's in the gcc-6-branch between 6.1 and bd9a826, minus 
the "daily bumps").

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-05-31 22:20     ` Paul Eggleton
@ 2016-05-31 22:23       ` Paul Eggleton
  2016-06-02 16:05         ` Martin Jansa
  0 siblings, 1 reply; 77+ messages in thread
From: Paul Eggleton @ 2016-05-31 22:23 UTC (permalink / raw)
  To: openembedded-core

On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> > On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> > > +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> > > +BASEURI ?= "git://
> > > github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> > 
> > I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download comes
> > from? It increased the size of my downloads-directory by >30% -- and I
> > must
> > have quite a bit of old junk in that directory already.
> > 
> > Is there no other solution to this than a 2.5G git copy (honest question,
> > I
> > don't know gcc)?
> 
> We went down this road before and it wasn't great for users. There is at
> least a tarball for 6.1, we'd presumably need some patches on top of that
> (~43 if we were to simply take what's in the gcc-6-branch between 6.1 and
> bd9a826, minus the "daily bumps").

Perhaps that was a little unclear - when I say "we went down this road before" 
I'm agreeing with Jussi - we pointed to a git branch in a previous release 
with the same resulting huge download for everyone, something I think we 
should avoid if at all possible.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-05-31 22:23       ` Paul Eggleton
@ 2016-06-02 16:05         ` Martin Jansa
  2016-06-02 19:15           ` Paul Eggleton
  0 siblings, 1 reply; 77+ messages in thread
From: Martin Jansa @ 2016-06-02 16:05 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2912 bytes --]

On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
> > On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> > > On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> > > > +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> > > > +BASEURI ?= "git://
> > > > github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> > > 
> > > I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download comes
> > > from? It increased the size of my downloads-directory by >30% -- and I
> > > must
> > > have quite a bit of old junk in that directory already.
> > > 
> > > Is there no other solution to this than a 2.5G git copy (honest question,
> > > I
> > > don't know gcc)?
> > 
> > We went down this road before and it wasn't great for users. There is at
> > least a tarball for 6.1, we'd presumably need some patches on top of that
> > (~43 if we were to simply take what's in the gcc-6-branch between 6.1 and
> > bd9a826, minus the "daily bumps").
> 
> Perhaps that was a little unclear - when I say "we went down this road before" 
> I'm agreeing with Jussi - we pointed to a git branch in a previous release 
> with the same resulting huge download for everyone, something I think we 
> should avoid if at all possible.

Maybe it's biggest but at least there is only one copy of it:

top 10 in my downloads (archives and then git clones).

823M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
831M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
893M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
934M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
969M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
1.2G    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz

2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz

854M    /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git

877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git

> 
> Cheers,
> Paul
> 
> -- 
> 
> Paul Eggleton
> Intel Open Source Technology Centre
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 16:05         ` Martin Jansa
@ 2016-06-02 19:15           ` Paul Eggleton
  2016-06-02 19:19             ` Bruce Ashfield
  0 siblings, 1 reply; 77+ messages in thread
From: Paul Eggleton @ 2016-06-02 19:15 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Bruce Ashfield, openembedded-core

On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
> > On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
> > > On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> > > > On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> > > > > +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> > > > > +BASEURI ?= "git://
> > > > > github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> > > > 
> > > > I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
> > > > comes from? It increased the size of my downloads-directory by >30% --
> > > > and I must have quite a bit of old junk in that directory already.
> > > > 
> > > > Is there no other solution to this than a 2.5G git copy (honest
> > > > question, I don't know gcc)?
> > > 
> > > We went down this road before and it wasn't great for users. There is at
> > > least a tarball for 6.1, we'd presumably need some patches on top of
> > > that (~43 if we were to simply take what's in the gcc-6-branch between
> > > 6.1 and bd9a826, minus the "daily bumps").
> > 
> > Perhaps that was a little unclear - when I say "we went down this road
> > before" I'm agreeing with Jussi - we pointed to a git branch in a
> > previous release with the same resulting huge download for everyone,
> > something I think we should avoid if at all possible.
> 
> Maybe it's biggest but at least there is only one copy of it:
> 
> top 10 in my downloads (archives and then git clones).
> 
> 823M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
> 831M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
> 893M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
> 934M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
> 969M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
> 1.2G    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
> 
> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
> 
> 854M    /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
> 
> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git

No argument from me there - it does seem a little wasteful given that there 
must be a huge overlap between those repos.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 19:15           ` Paul Eggleton
@ 2016-06-02 19:19             ` Bruce Ashfield
  2016-06-02 19:24               ` Paul Eggleton
  0 siblings, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-06-02 19:19 UTC (permalink / raw)
  To: Paul Eggleton, Martin Jansa; +Cc: openembedded-core

On 2016-06-02 3:15 PM, Paul Eggleton wrote:
> On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
>> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
>>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
>>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
>>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
>>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
>>>>>> +BASEURI ?= "git://
>>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
>>>>>
>>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
>>>>> comes from? It increased the size of my downloads-directory by >30% --
>>>>> and I must have quite a bit of old junk in that directory already.
>>>>>
>>>>> Is there no other solution to this than a 2.5G git copy (honest
>>>>> question, I don't know gcc)?
>>>>
>>>> We went down this road before and it wasn't great for users. There is at
>>>> least a tarball for 6.1, we'd presumably need some patches on top of
>>>> that (~43 if we were to simply take what's in the gcc-6-branch between
>>>> 6.1 and bd9a826, minus the "daily bumps").
>>>
>>> Perhaps that was a little unclear - when I say "we went down this road
>>> before" I'm agreeing with Jussi - we pointed to a git branch in a
>>> previous release with the same resulting huge download for everyone,
>>> something I think we should avoid if at all possible.
>>
>> Maybe it's biggest but at least there is only one copy of it:
>>
>> top 10 in my downloads (archives and then git clones).
>>
>> 823M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
>> 831M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
>> 893M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
>> 934M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
>> 969M    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
>> 1.2G    /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
>>
>> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
>>
>> 854M    /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
>>
>> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
>> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
>> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
>> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
>> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
>> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
>> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
>
> No argument from me there - it does seem a little wasteful given that there
> must be a huge overlap between those repos.

In other build systems, I've simply been able to reference a common
repository for the majority of the blobs. That isn't an option with
oe/bitbake (as far as I know).

We could also do shallow clones, but I'm also unsure of how well that
is supported.

With the amount of series that are completely rebased and dynamic in
content, the trees do need to be separate per version. It becomes
completely un-bisectable and maintainable any other way.

Bruce

>
> Cheers,
> Paul
>



^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 19:19             ` Bruce Ashfield
@ 2016-06-02 19:24               ` Paul Eggleton
  2016-06-02 19:30                 ` Bruce Ashfield
  2016-06-02 22:18                 ` Christopher Larson
  0 siblings, 2 replies; 77+ messages in thread
From: Paul Eggleton @ 2016-06-02 19:24 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Chris Larson, openembedded-core

On Thu, 02 Jun 2016 15:19:37 Bruce Ashfield wrote:
> On 2016-06-02 3:15 PM, Paul Eggleton wrote:
> > On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
> >> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
> >>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
> >>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> >>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> >>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> >>>>>> +BASEURI ?= "git://
> >>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> >>>>> 
> >>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
> >>>>> comes from? It increased the size of my downloads-directory by >30% --
> >>>>> and I must have quite a bit of old junk in that directory already.
> >>>>> 
> >>>>> Is there no other solution to this than a 2.5G git copy (honest
> >>>>> question, I don't know gcc)?
> >>>> 
> >>>> We went down this road before and it wasn't great for users. There is
> >>>> at
> >>>> least a tarball for 6.1, we'd presumably need some patches on top of
> >>>> that (~43 if we were to simply take what's in the gcc-6-branch between
> >>>> 6.1 and bd9a826, minus the "daily bumps").
> >>> 
> >>> Perhaps that was a little unclear - when I say "we went down this road
> >>> before" I'm agreeing with Jussi - we pointed to a git branch in a
> >>> previous release with the same resulting huge download for everyone,
> >>> something I think we should avoid if at all possible.
> >> 
> >> Maybe it's biggest but at least there is only one copy of it:
> >> 
> >> top 10 in my downloads (archives and then git clones).
> >> 
> >> 823M   
> >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
> >> 831M   
> >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
> >> 893M   
> >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
> >> 934M   
> >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
> >> 969M   
> >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
> >> 1.2G   
> >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
> >> 
> >> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
> >> 
> >> 854M    /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
> >> 
> >> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
> >> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
> >> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
> >> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
> >> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
> >> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
> >> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
> > 
> > No argument from me there - it does seem a little wasteful given that
> > there must be a huge overlap between those repos.
> 
> In other build systems, I've simply been able to reference a common
> repository for the majority of the blobs. That isn't an option with
> oe/bitbake (as far as I know).

It's possible we could add functionality along those lines to at least save 
download time; disk usage would probably be unaffected though.

> We could also do shallow clones, but I'm also unsure of how well that
> is supported.

I know Chris looked into adding this, I don't recall how far he got.
 
> With the amount of series that are completely rebased and dynamic in
> content, the trees do need to be separate per version. It becomes
> completely un-bisectable and maintainable any other way.

Bisectability is function of how the branch is managed, not the repository - 
surely? Perhaps I'm missing something.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 19:24               ` Paul Eggleton
@ 2016-06-02 19:30                 ` Bruce Ashfield
  2016-06-02 19:38                   ` Paul Eggleton
  2016-06-02 22:18                 ` Christopher Larson
  1 sibling, 1 reply; 77+ messages in thread
From: Bruce Ashfield @ 2016-06-02 19:30 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: Chris Larson, openembedded-core

On 2016-06-02 3:24 PM, Paul Eggleton wrote:
> On Thu, 02 Jun 2016 15:19:37 Bruce Ashfield wrote:
>> On 2016-06-02 3:15 PM, Paul Eggleton wrote:
>>> On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
>>>> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
>>>>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
>>>>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
>>>>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
>>>>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
>>>>>>>> +BASEURI ?= "git://
>>>>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
>>>>>>>
>>>>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
>>>>>>> comes from? It increased the size of my downloads-directory by >30% --
>>>>>>> and I must have quite a bit of old junk in that directory already.
>>>>>>>
>>>>>>> Is there no other solution to this than a 2.5G git copy (honest
>>>>>>> question, I don't know gcc)?
>>>>>>
>>>>>> We went down this road before and it wasn't great for users. There is
>>>>>> at
>>>>>> least a tarball for 6.1, we'd presumably need some patches on top of
>>>>>> that (~43 if we were to simply take what's in the gcc-6-branch between
>>>>>> 6.1 and bd9a826, minus the "daily bumps").
>>>>>
>>>>> Perhaps that was a little unclear - when I say "we went down this road
>>>>> before" I'm agreeing with Jussi - we pointed to a git branch in a
>>>>> previous release with the same resulting huge download for everyone,
>>>>> something I think we should avoid if at all possible.
>>>>
>>>> Maybe it's biggest but at least there is only one copy of it:
>>>>
>>>> top 10 in my downloads (archives and then git clones).
>>>>
>>>> 823M
>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
>>>> 831M
>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
>>>> 893M
>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
>>>> 934M
>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
>>>> 969M
>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
>>>> 1.2G
>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
>>>>
>>>> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
>>>>
>>>> 854M    /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
>>>>
>>>> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
>>>> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
>>>> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
>>>> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
>>>> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
>>>> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
>>>> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
>>>
>>> No argument from me there - it does seem a little wasteful given that
>>> there must be a huge overlap between those repos.
>>
>> In other build systems, I've simply been able to reference a common
>> repository for the majority of the blobs. That isn't an option with
>> oe/bitbake (as far as I know).
>
> It's possible we could add functionality along those lines to at least save
> download time; disk usage would probably be unaffected though.

Nope. Disk usage goes down as well. With alternate objects, each
repo is only the size of what is unique to the repo.

>
>> We could also do shallow clones, but I'm also unsure of how well that
>> is supported.
>
> I know Chris looked into adding this, I don't recall how far he got.
>
>> With the amount of series that are completely rebased and dynamic in
>> content, the trees do need to be separate per version. It becomes
>> completely un-bisectable and maintainable any other way.
>
> Bisectability is function of how the branch is managed, not the repository -
> surely? Perhaps I'm missing something.

Terminology perhaps? branch, repository .. whatever. They are all
the same.

Granularity of kernel commits. Over time with features like lttng,
aufs, preempt-rt, backports, etc, etc, It becomes impossible to 
integrate new features and kernel updates without conflicts.

You end up with a tree riddled with merge commits, reverts and other
garbage that obscure the real changes.

I've lived that life, and its a not fun.

Bruce

>
> Cheers,
> Paul
>



^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 19:30                 ` Bruce Ashfield
@ 2016-06-02 19:38                   ` Paul Eggleton
  2016-06-02 19:43                     ` Bruce Ashfield
  0 siblings, 1 reply; 77+ messages in thread
From: Paul Eggleton @ 2016-06-02 19:38 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: Chris Larson, openembedded-core

On Thu, 02 Jun 2016 15:30:14 Bruce Ashfield wrote:
> On 2016-06-02 3:24 PM, Paul Eggleton wrote:
> > On Thu, 02 Jun 2016 15:19:37 Bruce Ashfield wrote:
> >> On 2016-06-02 3:15 PM, Paul Eggleton wrote:
> >>> On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
> >>>> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
> >>>>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
> >>>>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> >>>>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> >>>>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> >>>>>>>> +BASEURI ?= "git://
> >>>>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> >>>>>>> 
> >>>>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
> >>>>>>> comes from? It increased the size of my downloads-directory by >30%
> >>>>>>> --
> >>>>>>> and I must have quite a bit of old junk in that directory already.
> >>>>>>> 
> >>>>>>> Is there no other solution to this than a 2.5G git copy (honest
> >>>>>>> question, I don't know gcc)?
> >>>>>> 
> >>>>>> We went down this road before and it wasn't great for users. There is
> >>>>>> at
> >>>>>> least a tarball for 6.1, we'd presumably need some patches on top of
> >>>>>> that (~43 if we were to simply take what's in the gcc-6-branch
> >>>>>> between
> >>>>>> 6.1 and bd9a826, minus the "daily bumps").
> >>>>> 
> >>>>> Perhaps that was a little unclear - when I say "we went down this road
> >>>>> before" I'm agreeing with Jussi - we pointed to a git branch in a
> >>>>> previous release with the same resulting huge download for everyone,
> >>>>> something I think we should avoid if at all possible.
> >>>> 
> >>>> Maybe it's biggest but at least there is only one copy of it:
> >>>> 
> >>>> top 10 in my downloads (archives and then git clones).
> >>>> 
> >>>> 823M
> >>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
> >>>> 831M
> >>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
> >>>> 893M
> >>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
> >>>> 934M
> >>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
> >>>> 969M
> >>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
> >>>> 1.2G
> >>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
> >>>> 
> >>>> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
> >>>> 
> >>>> 854M   
> >>>> /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
> >>>> 
> >>>> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
> >>>> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
> >>>> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
> >>>> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
> >>>> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
> >>>> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
> >>>> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
> >>> 
> >>> No argument from me there - it does seem a little wasteful given that
> >>> there must be a huge overlap between those repos.
> >> 
> >> In other build systems, I've simply been able to reference a common
> >> repository for the majority of the blobs. That isn't an option with
> >> oe/bitbake (as far as I know).
> > 
> > It's possible we could add functionality along those lines to at least
> > save download time; disk usage would probably be unaffected though.
> 
> Nope. Disk usage goes down as well. With alternate objects, each
> repo is only the size of what is unique to the repo.

I guess it depends on how you do it. Reducing both would be ideal, of course.
 
> >> We could also do shallow clones, but I'm also unsure of how well that
> >> is supported.
> > 
> > I know Chris looked into adding this, I don't recall how far he got.
> > 
> >> With the amount of series that are completely rebased and dynamic in
> >> content, the trees do need to be separate per version. It becomes
> >> completely un-bisectable and maintainable any other way.
> > 
> > Bisectability is function of how the branch is managed, not the repository
> > - surely? Perhaps I'm missing something.
> 
> Terminology perhaps? branch, repository .. whatever. They are all
> the same.
> 
> Granularity of kernel commits. Over time with features like lttng,
> aufs, preempt-rt, backports, etc, etc, It becomes impossible to
> integrate new features and kernel updates without conflicts.
> 
> You end up with a tree riddled with merge commits, reverts and other
> garbage that obscure the real changes.
> 
> I've lived that life, and its a not fun.

I don't think anyone would want to move to that model, I agree it's ugly. It 
seems to me that one repo doesn't mandate that though - all it would require 
would be unique branch names, so you'd end up multiplying the number of 
standard/xxx branches by the number of versions. We should definitely try 
going down the alternate objects / shallow clones routes first before 
potentially breaking people's workflow however.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 19:38                   ` Paul Eggleton
@ 2016-06-02 19:43                     ` Bruce Ashfield
  0 siblings, 0 replies; 77+ messages in thread
From: Bruce Ashfield @ 2016-06-02 19:43 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: Chris Larson, openembedded-core

On 2016-06-02 3:38 PM, Paul Eggleton wrote:
> On Thu, 02 Jun 2016 15:30:14 Bruce Ashfield wrote:
>> On 2016-06-02 3:24 PM, Paul Eggleton wrote:
>>> On Thu, 02 Jun 2016 15:19:37 Bruce Ashfield wrote:
>>>> On 2016-06-02 3:15 PM, Paul Eggleton wrote:
>>>>> On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
>>>>>> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
>>>>>>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
>>>>>>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
>>>>>>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
>>>>>>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
>>>>>>>>>> +BASEURI ?= "git://
>>>>>>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
>>>>>>>>>
>>>>>>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
>>>>>>>>> comes from? It increased the size of my downloads-directory by >30%
>>>>>>>>> --
>>>>>>>>> and I must have quite a bit of old junk in that directory already.
>>>>>>>>>
>>>>>>>>> Is there no other solution to this than a 2.5G git copy (honest
>>>>>>>>> question, I don't know gcc)?
>>>>>>>>
>>>>>>>> We went down this road before and it wasn't great for users. There is
>>>>>>>> at
>>>>>>>> least a tarball for 6.1, we'd presumably need some patches on top of
>>>>>>>> that (~43 if we were to simply take what's in the gcc-6-branch
>>>>>>>> between
>>>>>>>> 6.1 and bd9a826, minus the "daily bumps").
>>>>>>>
>>>>>>> Perhaps that was a little unclear - when I say "we went down this road
>>>>>>> before" I'm agreeing with Jussi - we pointed to a git branch in a
>>>>>>> previous release with the same resulting huge download for everyone,
>>>>>>> something I think we should avoid if at all possible.
>>>>>>
>>>>>> Maybe it's biggest but at least there is only one copy of it:
>>>>>>
>>>>>> top 10 in my downloads (archives and then git clones).
>>>>>>
>>>>>> 823M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
>>>>>> 831M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
>>>>>> 893M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
>>>>>> 934M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
>>>>>> 969M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
>>>>>> 1.2G
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
>>>>>>
>>>>>> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
>>>>>>
>>>>>> 854M
>>>>>> /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
>>>>>>
>>>>>> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
>>>>>> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
>>>>>> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
>>>>>> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
>>>>>> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
>>>>>> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
>>>>>> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
>>>>>
>>>>> No argument from me there - it does seem a little wasteful given that
>>>>> there must be a huge overlap between those repos.
>>>>
>>>> In other build systems, I've simply been able to reference a common
>>>> repository for the majority of the blobs. That isn't an option with
>>>> oe/bitbake (as far as I know).
>>>
>>> It's possible we could add functionality along those lines to at least
>>> save download time; disk usage would probably be unaffected though.
>>
>> Nope. Disk usage goes down as well. With alternate objects, each
>> repo is only the size of what is unique to the repo.
>
> I guess it depends on how you do it. Reducing both would be ideal, of course.
>

Both can absolutely be reduced.

In the past, I've had a korg pristine clone available. That's your
big fetch (download and disk), after that all kernel clones refer
to it. They are only 10's of Megabytes on disk and on the wire after
that.

>>>> We could also do shallow clones, but I'm also unsure of how well that
>>>> is supported.
>>>
>>> I know Chris looked into adding this, I don't recall how far he got.
>>>
>>>> With the amount of series that are completely rebased and dynamic in
>>>> content, the trees do need to be separate per version. It becomes
>>>> completely un-bisectable and maintainable any other way.
>>>
>>> Bisectability is function of how the branch is managed, not the repository
>>> - surely? Perhaps I'm missing something.
>>
>> Terminology perhaps? branch, repository .. whatever. They are all
>> the same.
>>
>> Granularity of kernel commits. Over time with features like lttng,
>> aufs, preempt-rt, backports, etc, etc, It becomes impossible to
>> integrate new features and kernel updates without conflicts.
>>
>> You end up with a tree riddled with merge commits, reverts and other
>> garbage that obscure the real changes.
>>
>> I've lived that life, and its a not fun.
>
> I don't think anyone would want to move to that model, I agree it's ugly. It
> seems to me that one repo doesn't mandate that though - all it would require
> would be unique branch names, so you'd end up multiplying the number of
> standard/xxx branches by the number of versions. We should definitely try
> going down the alternate objects / shallow clones routes first before
> potentially breaking people's workflow however.

Yep. I've also tried that, in fact, that's where we started. You
can have a jungle of branches .. and it can definitely work. But
I keep getting pressed to reduce branches, not add more. But if
push came to shove .. it definitely is viable (and less nasty than
the alternatives).

Bruce

>
> Cheers,
> Paul
>



^ permalink raw reply	[flat|nested] 77+ messages in thread

* Re: [PATCH 01/42] gcc: Add gcc6 recipes
  2016-06-02 19:24               ` Paul Eggleton
  2016-06-02 19:30                 ` Bruce Ashfield
@ 2016-06-02 22:18                 ` Christopher Larson
  1 sibling, 0 replies; 77+ messages in thread
From: Christopher Larson @ 2016-06-02 22:18 UTC (permalink / raw)
  To: Paul Eggleton
  Cc: Bruce Ashfield, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 5182 bytes --]

On Thu, Jun 2, 2016 at 12:24 PM, Paul Eggleton <
paul.eggleton@linux.intel.com> wrote:

> On Thu, 02 Jun 2016 15:19:37 Bruce Ashfield wrote:
> > On 2016-06-02 3:15 PM, Paul Eggleton wrote:
> > > On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
> > >> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
> > >>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
> > >>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
> > >>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
> > >>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
> > >>>>>> +BASEURI ?= "git://
> > >>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
> > >>>>>
> > >>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz
> download
> > >>>>> comes from? It increased the size of my downloads-directory by
> >30% --
> > >>>>> and I must have quite a bit of old junk in that directory already.
> > >>>>>
> > >>>>> Is there no other solution to this than a 2.5G git copy (honest
> > >>>>> question, I don't know gcc)?
> > >>>>
> > >>>> We went down this road before and it wasn't great for users. There
> is
> > >>>> at
> > >>>> least a tarball for 6.1, we'd presumably need some patches on top of
> > >>>> that (~43 if we were to simply take what's in the gcc-6-branch
> between
> > >>>> 6.1 and bd9a826, minus the "daily bumps").
> > >>>
> > >>> Perhaps that was a little unclear - when I say "we went down this
> road
> > >>> before" I'm agreeing with Jussi - we pointed to a git branch in a
> > >>> previous release with the same resulting huge download for everyone,
> > >>> something I think we should avoid if at all possible.
> > >>
> > >> Maybe it's biggest but at least there is only one copy of it:
> > >>
> > >> top 10 in my downloads (archives and then git clones).
> > >>
> > >> 823M
> > >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
> > >> 831M
> > >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
> > >> 893M
> > >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
> > >> 934M
> > >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
> > >> 969M
> > >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
> > >> 1.2G
> > >> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
> > >>
> > >> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
> > >>
> > >> 854M
> /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
> > >>
> > >> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
> > >> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
> > >> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
> > >> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
> > >> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
> > >> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
> > >> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
> > >
> > > No argument from me there - it does seem a little wasteful given that
> > > there must be a huge overlap between those repos.
> >
> > In other build systems, I've simply been able to reference a common
> > repository for the majority of the blobs. That isn't an option with
> > oe/bitbake (as far as I know).
>
> It's possible we could add functionality along those lines to at least save
> download time; disk usage would probably be unaffected though.
>
> > We could also do shallow clones, but I'm also unsure of how well that
> > is supported.
>
> I know Chris looked into adding this, I don't recall how far he got.


I did work on shallow support, yes.

Shallow mirror tarball support is on the bitbake list awaiting Richard's
review and merge for 2.2, assuming there are no major objections. There is
a caveat, however. Since git's shallow clone capability is limited to
specifying the depth, we can't really do shallow *clones*, as we don't know
the distance from branch HEAD to SRCREV at the time we're going to clone.

What we can support is shallow mirror tarballs, where a mirror is populated
with shallow mirror tarballs which the user's build will fetch, if
available, instead of full mirror tarballs, and this is what my patch
series implements. Of course, each time the recipe SRCREVs change, we'd get
new shallow tarballs that'd need fetching, enough of those would outweigh
the benefits vs just doing a straight up front clone, but I think the
benefit is clear. A shallow kernel tarball for a repo of this sort is
around 100 megs instead of a gig.

We've been using it at mentor for a while now with good results, so far.
I'd love to see someone other than us test out the patches, though, or give
some feedback on either the concept or the code :) See "[master][PATCH 0/3]
Implement support for shallow git mirror tarballs" on the bitbake-devel
list.
-- 
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics

[-- Attachment #2: Type: text/html, Size: 6981 bytes --]

^ permalink raw reply	[flat|nested] 77+ messages in thread

end of thread, other threads:[~2016-06-02 22:19 UTC | newest]

Thread overview: 77+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
2016-05-11 17:35 ` [PATCH 01/42] gcc: Add gcc6 recipes Khem Raj
2016-05-31  8:12   ` Jussi Kukkonen
2016-05-31 22:20     ` Paul Eggleton
2016-05-31 22:23       ` Paul Eggleton
2016-06-02 16:05         ` Martin Jansa
2016-06-02 19:15           ` Paul Eggleton
2016-06-02 19:19             ` Bruce Ashfield
2016-06-02 19:24               ` Paul Eggleton
2016-06-02 19:30                 ` Bruce Ashfield
2016-06-02 19:38                   ` Paul Eggleton
2016-06-02 19:43                     ` Bruce Ashfield
2016-06-02 22:18                 ` Christopher Larson
2016-05-11 17:35 ` [PATCH 02/42] glibc: Add recipes for 2.24 release Khem Raj
2016-05-12  5:50   ` Khem Raj
2016-05-11 17:35 ` [PATCH 03/42] glib-2.0: Ignore useless warning found with gcc-6 Khem Raj
2016-05-11 17:35 ` [PATCH 04/42] elfutils: Upgrade to 0.166 Khem Raj
2016-05-11 17:35 ` [PATCH 05/42] rpm: Fix build with gcc6 Khem Raj
2016-05-11 17:35 ` [PATCH 06/42] alsa-tools: " Khem Raj
2016-05-11 17:35 ` [PATCH 07/42] lzop: Fix build with gcc-6 Khem Raj
2016-05-11 17:35 ` [PATCH 08/42] webkitgtk: Upgrade to 2.12.1 Khem Raj
2016-05-11 17:35 ` [PATCH 09/42] oprofile: Fix with gcc6 Khem Raj
2016-05-11 17:35 ` [PATCH 10/42] mdadm: Fix gcc 6 warnings Khem Raj
2016-05-11 17:35 ` [PATCH 11/42] nss: Upgrade to 3.23 Khem Raj
2016-05-11 17:35 ` [PATCH 12/42] pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1 Khem Raj
2016-05-11 17:35 ` [PATCH 13/42] binutils: disable werror on native build Khem Raj
2016-05-11 17:35 ` [PATCH 14/42] grub: Fix build with gcc-6 Khem Raj
2016-05-11 17:35 ` [PATCH 15/42] valgrind: Fix build with gcc6 Khem Raj
2016-05-11 17:35 ` [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it Khem Raj
2016-05-12 12:58   ` Andreas Oberritter
2016-05-11 17:35 ` [PATCH 17/42] libc-common.bbclass: Use sed instead of grep Khem Raj
2016-05-11 17:35 ` [PATCH 18/42] conf: bump minimum kernel to 3.2.0 Khem Raj
2016-05-12 17:18   ` Ruslan Bilovol
2016-05-12 18:26     ` Khem Raj
2016-05-11 17:35 ` [PATCH 19/42] systemd: Create missing sysusers offline Khem Raj
2016-05-13 12:44   ` Richard Purdie
2016-05-11 17:35 ` [PATCH 20/42] grub_git: Upgrade to latest tip Khem Raj
2016-05-11 17:35 ` [PATCH 21/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
2016-05-11 17:35 ` [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6 Khem Raj
2016-05-11 21:27   ` Bruce Ashfield
2016-05-11 21:30     ` Khem Raj
2016-05-11 21:36       ` Bruce Ashfield
2016-05-11 21:55         ` Khem Raj
2016-05-12  4:31           ` Bruce Ashfield
2016-05-12 13:28             ` Bruce Ashfield
2016-05-12 14:21               ` Khem Raj
2016-05-12 14:27                 ` Bruce Ashfield
2016-05-12 14:27                   ` Khem Raj
2016-05-12 15:52                     ` Khem Raj
2016-05-11 17:35 ` [PATCH 23/42] linux-yocto: Fix build with gcc6 on mips Khem Raj
2016-05-11 17:35 ` [PATCH 24/42] python-native: Point to expat in native sysroot Khem Raj
2016-05-12  6:26   ` Khem Raj
2016-05-11 17:35 ` [PATCH 25/42] bitbake.conf: Empty out BUILDSDK_CPPFLAGS Khem Raj
2016-05-11 17:35 ` [PATCH 26/42] strace: Remove pipe.expected Khem Raj
2016-05-11 17:42   ` Khem Raj
2016-05-11 17:35 ` [PATCH 27/42] musl: Upgrade to tip of tree Khem Raj
2016-05-11 17:35 ` [PATCH 28/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
2016-05-11 17:35 ` [PATCH 29/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
2016-05-11 17:35 ` [PATCH 30/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
2016-05-11 17:35 ` [PATCH 31/42] gdb,strace: Fix builds on ppc/musl Khem Raj
2016-05-11 17:35 ` [PATCH 32/42] libunwind: Add a confgure option for tests Khem Raj
2016-05-11 17:35 ` [PATCH 33/42] gdb: Upgrade to 7.11 Khem Raj
2016-05-12  5:48   ` Khem Raj
2016-05-11 17:35 ` [PATCH 34/42] gdb: Disable binutils components Khem Raj
2016-05-11 17:35 ` [PATCH 35/42] tcmode-default: Bump gcc,glibc,gdb Khem Raj
2016-05-11 17:35 ` [PATCH 36/42] bitbake: Oldest kernel for nios2 is 3.19 Khem Raj
2016-05-11 17:35 ` [PATCH 37/42] musl: Create symlinks for stub libraries Khem Raj
2016-05-11 17:35 ` [PATCH 38/42] mdadm: Fix build with clang Khem Raj
2016-05-11 17:35 ` [PATCH 39/42] distcc: Upgrade to 3.2 Khem Raj
2016-05-11 17:35 ` [PATCH 40/42] ruby: Upgrade to 2.2.5 Khem Raj
2016-05-11 17:35 ` [PATCH 41/42] mpfr: Upgrade to 3.1.4 Khem Raj
2016-05-11 17:35 ` [PATCH 42/42] gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use Khem Raj
2016-05-12  9:05 ` [PATCH 00/42] GCC/GDB/Binutils Upgrades Ioan-Adrian Ratiu
2016-05-12 14:19   ` akuster808
2016-05-12 14:33     ` Ioan-Adrian Ratiu
2016-05-13 12:47 ` Richard Purdie
2016-05-13 16:48   ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.