[OE-core] [PATCH] uclibc: Upgrade to tip of master

Khem Raj raj.khem at gmail.com
Mon Aug 17 09:39:56 UTC 2015


> On Aug 16, 2015, at 9:28 PM, Khem Raj <raj.khem at gmail.com> wrote:
> 
> Drop upstreamed patches convert the rest to git am'able patches
> 

This patch has couple of issues, that I found

not-using gold linker failed to link
libuargp needed to be forward ported to accomodate builsys changes to pass module specific CFLAGS
I have sent out a v2 which fixes these issues and builds are ok.

> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> meta/recipes-core/uclibc/uclibc-git.inc            |  38 +--
> .../0001-Add-eventfd_read-and-eventfd_write.patch  | 120 --------
> ...IPTOS_CLASS_-macros-according-to-RFC-2474.patch |  75 -----
> .../0001-Disable-lrount_tes-function.patch         |  37 +++
> ...nt.c-wtent.c-move-functions-from-utxent.c.patch | 319 ---------------------
> ...1-atexit_old-Do-not-add-it-to-shared-libc.patch |  44 ---
> ...-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch |  28 --
> ...rk-Hide-pthread_atfork-in-shared-versions.patch |  74 -----
> .../uclibc-git/0001-timex-Sync-with-glibc.patch    |  33 ---
> ...Add-implementation-for-copysignl-for-ppc.patch} |  33 ++-
> .../uclibc-git/0002-wire-setns-syscall.patch       |  68 -----
> ...rt.patch => 0003-Add-argp-implementation.patch} | 311 +++++++++++---------
> ...dded-headers-file-needed-by-argp-sources.patch} |  27 +-
> ...t-localised-optimizations-this-helps-to-h.patch |  29 ++
> .../0006-Always-use-O2-for-compiling-fork.c.patch  |  32 +++
> ...ldso-limited-support-for-ORIGIN-in-rpath.patch} |  12 +-
> ...rk-Hide-pthread_atfork-in-shared-versions.patch |  36 +++
> ...rt-Use-nodefaultlibs-instead-of-nostdlib.patch} |  29 +-
> .../uclibc-git/compile-arm-fork-with-O2.patch      |  21 --
> .../ldso-mark-_dl_exit-as-noreturn.patch           |  48 ----
> .../uclibc-git/remove_attribute_optimize_Os.patch  |  19 --
> .../uclibc-git/uclibc_enable_log2_test.patch       |  35 ---
> meta/recipes-core/uclibc/uclibc.inc                |   2 +-
> 23 files changed, 381 insertions(+), 1089 deletions(-)
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Add-eventfd_read-and-eventfd_write.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch
> create mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0001-timex-Sync-with-glibc.patch
> rename meta/recipes-core/uclibc/uclibc-git/{powerpc_copysignl.patch => 0002-Add-implementation-for-copysignl-for-ppc.patch} (73%)
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/0002-wire-setns-syscall.patch
> rename meta/recipes-core/uclibc/uclibc-git/{argp-support.patch => 0003-Add-argp-implementation.patch} (96%)
> rename meta/recipes-core/uclibc/uclibc-git/{argp-headers.patch => 0004-Added-headers-file-needed-by-argp-sources.patch} (97%)
> create mode 100644 meta/recipes-core/uclibc/uclibc-git/0005-Dont-support-localised-optimizations-this-helps-to-h.patch
> create mode 100644 meta/recipes-core/uclibc/uclibc-git/0006-Always-use-O2-for-compiling-fork.c.patch
> rename meta/recipes-core/uclibc/uclibc-git/{0001-ldso-limited-support-for-ORIGIN-in-rpath.patch => 0007-ldso-limited-support-for-ORIGIN-in-rpath.patch} (96%)
> create mode 100644 meta/recipes-core/uclibc/uclibc-git/0008-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
> rename meta/recipes-core/uclibc/uclibc-git/{0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch => 0009-librt-Use-nodefaultlibs-instead-of-nostdlib.patch} (50%)
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/compile-arm-fork-with-O2.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/ldso-mark-_dl_exit-as-noreturn.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/remove_attribute_optimize_Os.patch
> delete mode 100644 meta/recipes-core/uclibc/uclibc-git/uclibc_enable_log2_test.patch
> 
> diff --git a/meta/recipes-core/uclibc/uclibc-git.inc b/meta/recipes-core/uclibc/uclibc-git.inc
> index 3c48940..8db3b9e 100644
> --- a/meta/recipes-core/uclibc/uclibc-git.inc
> +++ b/meta/recipes-core/uclibc/uclibc-git.inc
> @@ -1,30 +1,22 @@
> -SRCREV = "48a0006012679ff0eda6f256da958d73a924fb57"
> +SRCREV = "ca1c74d67dd115d059a875150e10b8560a9c35a8"
> 
> PV = "0.9.33+git${SRCPV}"
> 
> FILESEXTRAPATHS =. "${FILE_DIRNAME}/uclibc-git:"
> 
> SRC_URI = "git://uclibc.org/uClibc.git;branch=master \
> -	file://uClibc.machine \
> -	file://uClibc.distro \
> -	file://obstack.cfg \
> -	file://locale.cfg \
> -	file://uclibc_enable_log2_test.patch \
> -	file://powerpc_copysignl.patch \
> -	file://argp-support.patch \
> -	file://argp-headers.patch \
> -	file://remove_attribute_optimize_Os.patch \
> -	file://compile-arm-fork-with-O2.patch \
> -	file://0001-ldso-limited-support-for-ORIGIN-in-rpath.patch \
> -	file://0001-atexit_old-Do-not-add-it-to-shared-libc.patch \
> -	file://0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch \
> -	file://0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \
> -	file://0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch \
> -	file://0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch \
> -	file://0001-Add-eventfd_read-and-eventfd_write.patch \
> -	file://0002-wire-setns-syscall.patch \
> -	file://0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch \
> -	file://0001-timex-Sync-with-glibc.patch \
> -	file://ldso-mark-_dl_exit-as-noreturn.patch \
> -	"
> +        file://uClibc.machine \
> +        file://uClibc.distro \
> +        file://obstack.cfg \
> +        file://locale.cfg \
> +        file://0001-Disable-lrount_tes-function.patch \
> +        file://0002-Add-implementation-for-copysignl-for-ppc.patch \
> +        file://0003-Add-argp-implementation.patch \
> +        file://0004-Added-headers-file-needed-by-argp-sources.patch \
> +        file://0005-Dont-support-localised-optimizations-this-helps-to-h.patch \
> +        file://0006-Always-use-O2-for-compiling-fork.c.patch \
> +        file://0007-ldso-limited-support-for-ORIGIN-in-rpath.patch \
> +        file://0008-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch \
> +        file://0009-librt-Use-nodefaultlibs-instead-of-nostdlib.patch \
> +"
> S = "${WORKDIR}/git"
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Add-eventfd_read-and-eventfd_write.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Add-eventfd_read-and-eventfd_write.patch
> deleted file mode 100644
> index dd0efc0..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-Add-eventfd_read-and-eventfd_write.patch
> +++ /dev/null
> @@ -1,120 +0,0 @@
> -From e3aae24ede969e2dede1aa19c2ee520cab71ce11 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Thu, 20 Feb 2014 00:30:18 -0800
> -Subject: [PATCH 1/3] Add eventfd_read() and eventfd_write()
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> ----
> - libc/sysdeps/linux/common/Makefile.in     |  2 ++
> - libc/sysdeps/linux/common/eventfd_read.c  | 27 +++++++++++++++++++++++++++
> - libc/sysdeps/linux/common/eventfd_write.c | 28 ++++++++++++++++++++++++++++
> - libc/sysdeps/linux/common/sys/eventfd.h   |  4 ----
> - 4 files changed, 57 insertions(+), 4 deletions(-)
> - create mode 100644 libc/sysdeps/linux/common/eventfd_read.c
> - create mode 100644 libc/sysdeps/linux/common/eventfd_write.c
> -
> -diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
> -index dbf0b0f..45d2e21 100644
> ---- a/libc/sysdeps/linux/common/Makefile.in
> -+++ b/libc/sysdeps/linux/common/Makefile.in
> -@@ -25,6 +25,8 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
> - 	capset.c \
> - 	dup3.c \
> - 	eventfd.c \
> -+	eventfd_read.c \
> -+	eventfd_write.c \
> - 	inotify.c \
> - 	ioperm.c \
> - 	iopl.c \
> -diff --git a/libc/sysdeps/linux/common/eventfd_read.c b/libc/sysdeps/linux/common/eventfd_read.c
> -new file mode 100644
> -index 0000000..75f2aaa
> ---- /dev/null
> -+++ b/libc/sysdeps/linux/common/eventfd_read.c
> -@@ -0,0 +1,27 @@
> -+/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
> -+   This file is part of the GNU C Library.
> -+
> -+   The GNU C Library is free software; you can redistribute it and/or
> -+   modify it under the terms of the GNU Lesser General Public
> -+   License as published by the Free Software Foundation; either
> -+   version 2.1 of the License, or (at your option) any later version.
> -+
> -+   The GNU C 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
> -+   Lesser General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Lesser General Public
> -+   License along with the GNU C Library; if not, see
> -+   <http://www.gnu.org/licenses/>.  */
> -+
> -+#include <errno.h>
> -+#include <unistd.h>
> -+#include <sys/eventfd.h>
> -+
> -+
> -+int
> -+eventfd_read (int fd, eventfd_t *value)
> -+{
> -+  return read (fd, value, sizeof (eventfd_t)) != sizeof (eventfd_t) ? -1 : 0;
> -+}
> -diff --git a/libc/sysdeps/linux/common/eventfd_write.c b/libc/sysdeps/linux/common/eventfd_write.c
> -new file mode 100644
> -index 0000000..e1509cf
> ---- /dev/null
> -+++ b/libc/sysdeps/linux/common/eventfd_write.c
> -@@ -0,0 +1,28 @@
> -+/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
> -+   This file is part of the GNU C Library.
> -+
> -+   The GNU C Library is free software; you can redistribute it and/or
> -+   modify it under the terms of the GNU Lesser General Public
> -+   License as published by the Free Software Foundation; either
> -+   version 2.1 of the License, or (at your option) any later version.
> -+
> -+   The GNU C 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
> -+   Lesser General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Lesser General Public
> -+   License along with the GNU C Library; if not, see
> -+   <http://www.gnu.org/licenses/>.  */
> -+
> -+#include <errno.h>
> -+#include <unistd.h>
> -+#include <sys/eventfd.h>
> -+
> -+
> -+int
> -+eventfd_write (int fd, eventfd_t value)
> -+{
> -+  return write (fd, &value,
> -+		sizeof (eventfd_t)) != sizeof (eventfd_t) ? -1 : 0;
> -+}
> -diff --git a/libc/sysdeps/linux/common/sys/eventfd.h b/libc/sysdeps/linux/common/sys/eventfd.h
> -index 1bf785f..91b265b 100644
> ---- a/libc/sysdeps/linux/common/sys/eventfd.h
> -+++ b/libc/sysdeps/linux/common/sys/eventfd.h
> -@@ -33,16 +33,12 @@ __BEGIN_DECLS
> -    value to COUNT.  */
> - extern int eventfd (int __count, int __flags) __THROW;
> -
> --#if 0 /* not (yet) implemented in uClibc */
> --
> - /* Read event counter and possibly wait for events.  */
> - extern int eventfd_read (int __fd, eventfd_t *__value);
> -
> - /* Increment event counter.  */
> - extern int eventfd_write (int __fd, eventfd_t __value);
> -
> --#endif
> --
> - __END_DECLS
> -
> - #endif /* sys/eventfd.h */
> ---
> -1.9.0
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch
> deleted file mode 100644
> index d613823..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-Define-IPTOS_CLASS_-macros-according-to-RFC-2474.patch
> +++ /dev/null
> @@ -1,75 +0,0 @@
> -From be8ed13a90c528adfbe3c8543946bb2c5a2ad713 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Mon, 25 Aug 2014 15:50:36 -0700
> -Subject: [PATCH] Define IPTOS_CLASS_* macros according to RFC 2474
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-status: Pending
> ----
> - include/netinet/ip.h | 42 ++++++++++++++++++++++++++++++------------
> - 1 file changed, 30 insertions(+), 12 deletions(-)
> -
> -diff --git a/include/netinet/ip.h b/include/netinet/ip.h
> -index 19e1249..3fe58b9 100644
> ---- a/include/netinet/ip.h
> -+++ b/include/netinet/ip.h
> -@@ -188,7 +188,25 @@ struct ip_timestamp
> - #define	IPTOS_DSCP_EF		0xb8
> -
> - /*
> -- * Definitions for IP type of service (ip_tos)
> -+ * In RFC 2474, Section 4.2.2.1, the Class Selector Codepoints subsume
> -+ * the old ToS Precedence values.
> -+ */
> -+#define	IPTOS_CLASS_MASK		0xe0
> -+#define	IPTOS_CLASS(class)		((class) & IPTOS_CLASS_MASK)
> -+#define	IPTOS_CLASS_CS0			0x00
> -+#define	IPTOS_CLASS_CS1			0x20
> -+#define	IPTOS_CLASS_CS2			0x40
> -+#define	IPTOS_CLASS_CS3			0x60
> -+#define	IPTOS_CLASS_CS4			0x80
> -+#define	IPTOS_CLASS_CS5			0xa0
> -+#define	IPTOS_CLASS_CS6			0xc0
> -+#define	IPTOS_CLASS_CS7			0xe0
> -+
> -+#define	IPTOS_CLASS_DEFAULT		IPTOS_CLASS_CS0
> -+
> -+/*
> -+ * Definitions for IP type of service (ip_tos) [deprecated; use DSCP
> -+ * and CS definitions above instead.]
> -  */
> - #define	IPTOS_TOS_MASK		0x1E
> - #define	IPTOS_TOS(tos)		((tos) & IPTOS_TOS_MASK)
> -@@ -199,18 +217,18 @@ struct ip_timestamp
> - #define	IPTOS_MINCOST		IPTOS_LOWCOST
> -
> - /*
> -- * Definitions for IP precedence (also in ip_tos) (hopefully unused)
> -+ * Definitions for IP precedence (also in ip_tos) [also deprecated.]
> -  */
> --#define	IPTOS_PREC_MASK			0xe0
> --#define	IPTOS_PREC(tos)                ((tos) & IPTOS_PREC_MASK)
> --#define	IPTOS_PREC_NETCONTROL		0xe0
> --#define	IPTOS_PREC_INTERNETCONTROL	0xc0
> --#define	IPTOS_PREC_CRITIC_ECP		0xa0
> --#define	IPTOS_PREC_FLASHOVERRIDE	0x80
> --#define	IPTOS_PREC_FLASH		0x60
> --#define	IPTOS_PREC_IMMEDIATE		0x40
> --#define	IPTOS_PREC_PRIORITY		0x20
> --#define	IPTOS_PREC_ROUTINE		0x00
> -+#define	IPTOS_PREC_MASK			IPTOS_CLASS_MASK
> -+#define	IPTOS_PREC(tos)			IPTOS_CLASS(tos)
> -+#define	IPTOS_PREC_NETCONTROL		IPTOS_CLASS_CS7
> -+#define	IPTOS_PREC_INTERNETCONTROL	IPTOS_CLASS_CS6
> -+#define	IPTOS_PREC_CRITIC_ECP		IPTOS_CLASS_CS5
> -+#define	IPTOS_PREC_FLASHOVERRIDE	IPTOS_CLASS_CS4
> -+#define	IPTOS_PREC_FLASH		IPTOS_CLASS_CS3
> -+#define	IPTOS_PREC_IMMEDIATE		IPTOS_CLASS_CS2
> -+#define	IPTOS_PREC_PRIORITY		IPTOS_CLASS_CS1
> -+#define	IPTOS_PREC_ROUTINE		IPTOS_CLASS_CS0
> -
> - /*
> -  * Definitions for options.
> ---
> -2.1.0
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch
> new file mode 100644
> index 0000000..ec6b3fa
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/0001-Disable-lrount_tes-function.patch
> @@ -0,0 +1,37 @@
> +From 14b865b3438d0df29b4969148678d8fa8943e1ef Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sun, 16 Aug 2015 20:49:33 -0700
> +Subject: [PATCH 1/9] Disable lrount_tes() function
> +
> +Its not used anyway, avoids some strict compiler warnings
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> +Upstream-Status: Pending
> +
> + test/math/libm-test.inc | 2 --
> + 1 file changed, 2 deletions(-)
> +
> +diff --git a/test/math/libm-test.inc b/test/math/libm-test.inc
> +index f50b48b..6d70a95 100644
> +--- a/test/math/libm-test.inc
> ++++ b/test/math/libm-test.inc
> +@@ -3470,7 +3470,6 @@ logb_test (void)
> + }
> +
> +
> +-#if 0
> + static void
> + lround_test (void)
> + {
> +@@ -3605,7 +3604,6 @@ llround_test (void)
> +
> +   END (llround);
> + }
> +-#endif
> +
> + static void
> + modf_test (void)
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch b/meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch
> deleted file mode 100644
> index 4ac765c..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-Revert-utent.c-wtent.c-move-functions-from-utxent.c.patch
> +++ /dev/null
> @@ -1,319 +0,0 @@
> -Upstream-Status: Pending
> -
> -From 096abf14d2dc978607ccd8a0d7f42da65d8991f3 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Sun, 9 Sep 2012 22:00:04 -0700
> -Subject: [PATCH] Revert "utent.c, wtent.c: move functions from utxent.c"
> -
> -This reverts commit 84135275cfeebc0b233c1c96eeada4d4178a0b18.
> ----
> - include/utmp.h          |    8 +++++
> - libc/misc/utmp/utent.c  |   80 +++++++++++------------------------------------
> - libc/misc/utmp/utxent.c |    4 +--
> - libc/misc/utmp/wtent.c  |   14 ++-------
> - 4 files changed, 30 insertions(+), 76 deletions(-)
> -
> -Index: git/include/utmp.h
> -===================================================================
> ---- git.orig/include/utmp.h	2013-01-21 16:37:18.000000000 -0800
> -+++ git/include/utmp.h	2013-01-21 16:40:56.987583099 -0800
> -@@ -56,30 +56,37 @@
> - /* Append entry UTMP to the wtmp-like file WTMP_FILE.  */
> - extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp)
> -      __THROW;
> -+libc_hidden_proto(updwtmp)
> -
> - /* Change name of the utmp file to be examined.  */
> - extern int utmpname (const char *__file) __THROW;
> -+libc_hidden_proto(utmpname)
> -
> - /* Read next entry from a utmp-like file.  */
> - extern struct utmp *getutent (void) __THROW;
> -+libc_hidden_proto(getutent)
> -
> - /* Reset the input stream to the beginning of the file.  */
> - extern void setutent (void) __THROW;
> -+libc_hidden_proto(setutent)
> -
> - /* Close the current open file.  */
> - extern void endutent (void) __THROW;
> -+libc_hidden_proto(endutent)
> -
> - /* Search forward from the current point in the utmp file until the
> -    next entry with a ut_type matching ID->ut_type.  */
> - extern struct utmp *getutid (const struct utmp *__id) __THROW;
> -+libc_hidden_proto(getutid)
> -
> - /* Search forward from the current point in the utmp file until the
> -    next entry with a ut_line matching LINE->ut_line.  */
> - extern struct utmp *getutline (const struct utmp *__line) __THROW;
> -+libc_hidden_proto(getutline)
> -
> - /* Write out entry pointed to by UTMP_PTR into the utmp file.  */
> - extern struct utmp *pututline (const struct utmp *__utmp_ptr) __THROW;
> --
> -+libc_hidden_proto(pututline)
> -
> - #if 0 /* def	__USE_MISC */
> - /* Reentrant versions of the file for handling utmp files.  */
> -Index: git/libc/misc/utmp/utent.c
> -===================================================================
> ---- git.orig/libc/misc/utmp/utent.c	2013-01-21 16:37:18.000000000 -0800
> -+++ git/libc/misc/utmp/utent.c	2013-01-21 16:38:14.035578638 -0800
> -@@ -19,9 +19,6 @@
> - #include <errno.h>
> - #include <string.h>
> - #include <utmp.h>
> --#ifdef __UCLIBC_HAS_UTMPX__
> --# include <utmpx.h>
> --#endif
> - #include <not-cancel.h>
> -
> - #include <bits/uClibc_mutex.h>
> -@@ -34,7 +31,7 @@
> - static const char *static_ut_name = default_file_name;
> -
> - /* This function must be called with the LOCK held */
> --static void __setutent_unlocked(void)
> -+static void __setutent(void)
> - {
> -     if (static_fd < 0) {
> - 	static_fd = open_not_cancel_2(static_ut_name, O_RDWR | O_CLOEXEC);
> -@@ -53,24 +50,19 @@
> -     lseek(static_fd, 0, SEEK_SET);
> - }
> - #if defined __UCLIBC_HAS_THREADS__
> --static void __setutent(void)
> -+void setutent(void)
> - {
> -     __UCLIBC_MUTEX_LOCK(utmplock);
> --    __setutent_unlocked();
> -+    __setutent();
> -     __UCLIBC_MUTEX_UNLOCK(utmplock);
> - }
> - #else
> --static void __setutent(void);
> --strong_alias(__setutent_unlocked,__setutent)
> --#endif
> - strong_alias(__setutent,setutent)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --strong_alias(__setutent,setutxent)
> - #endif
> -+libc_hidden_def(setutent)
> -
> - /* This function must be called with the LOCK held */
> --static struct utmp *__getutent_unlocked(void)
> -+static struct utmp *__getutent(void)
> - {
> -     if (static_fd < 0) {
> - 	__setutent();
> -@@ -86,27 +78,19 @@
> -     return NULL;
> - }
> - #if defined __UCLIBC_HAS_THREADS__
> --static struct utmp *__getutent(void)
> -+struct utmp *getutent(void)
> - {
> -     struct utmp *ret;
> -
> -     __UCLIBC_MUTEX_LOCK(utmplock);
> --    ret = __getutent_unlocked();
> -+    ret = __getutent();
> -     __UCLIBC_MUTEX_UNLOCK(utmplock);
> -     return ret;
> - }
> - #else
> --static struct utmp *__getutent(void);
> --strong_alias(__getutent_unlocked,__getutent)
> --#endif
> - strong_alias(__getutent,getutent)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --struct utmpx *getutxent(void)
> --{
> --	return (struct utmpx *) __getutent ();
> --}
> - #endif
> -+libc_hidden_def(getutent)
> -
> - static void __endutent(void)
> - {
> -@@ -117,13 +101,10 @@
> -     __UCLIBC_MUTEX_UNLOCK(utmplock);
> - }
> - strong_alias(__endutent,endutent)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --strong_alias(__endutent,endutxent)
> --#endif
> -+libc_hidden_def(endutent)
> -
> - /* This function must be called with the LOCK held */
> --static struct utmp *__getutid_unlocked(const struct utmp *utmp_entry)
> -+static struct utmp *__getutid(const struct utmp *utmp_entry)
> - {
> -     struct utmp *lutmp;
> -     unsigned type;
> -@@ -133,7 +114,7 @@
> -     type = utmp_entry->ut_type - 1;
> -     type /= 4;
> -
> --    while ((lutmp = __getutent_unlocked()) != NULL) {
> -+    while ((lutmp = __getutent()) != NULL) {
> - 	if (type == 0 && lutmp->ut_type == utmp_entry->ut_type)	{
> - 	    /* one of RUN_LVL, BOOT_TIME, NEW_TIME, OLD_TIME */
> - 	    return lutmp;
> -@@ -147,34 +128,26 @@
> -     return NULL;
> - }
> - #if defined __UCLIBC_HAS_THREADS__
> --static struct utmp *__getutid(const struct utmp *utmp_entry)
> -+struct utmp *getutid(const struct utmp *utmp_entry)
> - {
> -     struct utmp *ret;
> -
> -     __UCLIBC_MUTEX_LOCK(utmplock);
> --    ret = __getutid_unlocked(utmp_entry);
> -+    ret = __getutid(utmp_entry);
> -     __UCLIBC_MUTEX_UNLOCK(utmplock);
> -     return ret;
> - }
> - #else
> --static struct utmp *__getutid(const struct utmp *utmp_entry);
> --strong_alias(__getutid_unlocked,__getutid)
> --#endif
> - strong_alias(__getutid,getutid)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --struct utmpx *getutxid(const struct utmpx *utmp_entry)
> --{
> --	return (struct utmpx *) __getutid ((const struct utmp *) utmp_entry);
> --}
> - #endif
> -+libc_hidden_def(getutid)
> -
> - static struct utmp *__getutline(const struct utmp *utmp_entry)
> - {
> -     struct utmp *lutmp;
> -
> -     __UCLIBC_MUTEX_LOCK(utmplock);
> --    while ((lutmp = __getutent_unlocked()) != NULL) {
> -+    while ((lutmp = __getutent()) != NULL) {
> - 	if (lutmp->ut_type == USER_PROCESS || lutmp->ut_type == LOGIN_PROCESS) {
> - 	    if (strncmp(lutmp->ut_line, utmp_entry->ut_line, sizeof(lutmp->ut_line)) == 0) {
> - 		break;
> -@@ -185,13 +158,7 @@
> -     return lutmp;
> - }
> - strong_alias(__getutline,getutline)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --struct utmpx *getutxline(const struct utmpx *utmp_entry)
> --{
> --	return (struct utmpx *) __getutline ((const struct utmp *) utmp_entry);
> --}
> --#endif
> -+libc_hidden_def(getutline)
> -
> - static struct utmp *__pututline(const struct utmp *utmp_entry)
> - {
> -@@ -200,7 +167,7 @@
> -        the file pointer where they want it, everything will work out. */
> -     lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
> -
> --    if (__getutid_unlocked(utmp_entry) != NULL)
> -+    if (__getutid(utmp_entry) != NULL)
> - 	lseek(static_fd, (off_t) - sizeof(struct utmp), SEEK_CUR);
> -     else
> - 	lseek(static_fd, (off_t) 0, SEEK_END);
> -@@ -211,13 +178,7 @@
> -     return (struct utmp *)utmp_entry;
> - }
> - strong_alias(__pututline,pututline)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --struct utmpx *pututxline (const struct utmpx *utmp_entry)
> --{
> --	return (struct utmpx *) __pututline ((const struct utmp *) utmp_entry);
> --}
> --#endif
> -+libc_hidden_def(pututline)
> -
> - static int __utmpname(const char *new_ut_name)
> - {
> -@@ -241,7 +202,4 @@
> -     return 0; /* or maybe return -(static_ut_name != new_ut_name)? */
> - }
> - strong_alias(__utmpname,utmpname)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --strong_alias(__utmpname,utmpxname)
> --#endif
> -+libc_hidden_def(utmpname)
> -Index: git/libc/misc/utmp/utxent.c
> -===================================================================
> ---- git.orig/libc/misc/utmp/utxent.c	2013-01-21 16:37:18.000000000 -0800
> -+++ git/libc/misc/utmp/utxent.c	2013-01-21 16:38:14.035578638 -0800
> -@@ -13,7 +13,6 @@
> - #include <utmpx.h>
> - #include <utmp.h>
> -
> --#if 0 /* moved to utent.c */
> - void setutxent(void)
> - {
> - 	setutent ();
> -@@ -49,12 +48,10 @@
> - 	return utmpname (new_ut_name);
> - }
> -
> --/* moved to wtent.c */
> - void updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
> - {
> - 	updwtmp (wtmpx_file, (const struct utmp *) utmpx);
> - }
> --#endif
> -
> - /* Copy the information in UTMPX to UTMP. */
> - void getutmp (const struct utmpx *utmpx, struct utmp *utmp)
> -@@ -107,3 +104,4 @@
> - 	utmpx->ut_time = utmp->ut_time;
> - #endif
> - }
> -+
> -Index: git/libc/misc/utmp/wtent.c
> -===================================================================
> ---- git.orig/libc/misc/utmp/wtent.c	2013-01-21 16:37:18.000000000 -0800
> -+++ git/libc/misc/utmp/wtent.c	2013-01-21 16:38:14.035578638 -0800
> -@@ -11,9 +11,6 @@
> - #include <time.h>
> - #include <unistd.h>
> - #include <utmp.h>
> --#ifdef __UCLIBC_HAS_UTMPX__
> --# include <utmpx.h>
> --#endif
> - #include <fcntl.h>
> - #include <sys/file.h>
> - #include <not-cancel.h>
> -@@ -36,7 +33,7 @@
> - }
> - #endif
> -
> --static void __updwtmp(const char *wtmp_file, const struct utmp *lutmp)
> -+void updwtmp(const char *wtmp_file, const struct utmp *lutmp)
> - {
> -     int fd;
> -
> -@@ -49,11 +46,4 @@
> - 	}
> -     }
> - }
> --strong_alias(__updwtmp,updwtmp)
> --
> --#ifdef __UCLIBC_HAS_UTMPX__
> --void updwtmpx (const char *wtmpx_file, const struct utmpx *utmpx)
> --{
> --	__updwtmp (wtmpx_file, (const struct utmp *) utmpx);
> --}
> --#endif
> -+libc_hidden_def(updwtmp)
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch b/meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch
> deleted file mode 100644
> index b6dfce4..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-atexit_old-Do-not-add-it-to-shared-libc.patch
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -From 74667582526b39a1906228574d73a6528f4587eb Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Sat, 23 Jun 2012 13:26:30 -0700
> -Subject: [PATCH] atexit_old: Do not add it to shared libc
> -
> -atexit should only be in either uclibc_nonshared.a
> -shared libc case or libc.a in static build case
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -
> -Upstream-Status: Pending
> ----
> - libc/stdlib/Makefile.in |    4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/libc/stdlib/Makefile.in b/libc/stdlib/Makefile.in
> -index 3166b8e..3d686d9 100644
> ---- a/libc/stdlib/Makefile.in
> -+++ b/libc/stdlib/Makefile.in
> -@@ -60,7 +60,6 @@ CSRC-$(if $(findstring yyy,$(UCLIBC_HAS_FLOATS)$(UCLIBC_HAS_WCHAR)$(UCLIBC_HAS_X
> -
> - # multi source _atexit.c
> - CSRC-y += __cxa_atexit.c __cxa_finalize.c __exit_handler.c exit.c on_exit.c
> --CSRC-$(COMPAT_ATEXIT) += old_atexit.c
> -
> - STDLIB_DIR := $(top_srcdir)libc/stdlib
> - STDLIB_OUT := $(top_builddir)libc/stdlib
> -@@ -70,11 +69,12 @@ STDLIB_OBJ := $(patsubst %.c,$(STDLIB_OUT)/%.o,$(CSRC-y))
> -
> - libc-y += $(STDLIB_OBJ)
> - libc-static-y += $(STDLIB_OUT)/atexit.o $(STDLIB_OUT)/system.o
> -+libc-static-$(COMPAT_ATEXIT) += $(STDLIB_OUT)/old_atexit.o
> - libc-shared-y += $(STDLIB_OUT)/system.oS
> -
> - # this should always be the PIC version, because it could be used in shared libs
> - libc-nonshared-y += $(STDLIB_OUT)/atexit.os
> --
> -+libc-nonshared-$(COMPAT_ATEXIT) += $(STDLIB_OUT)/old_atexit.os
> - libc-nomulti-y += $(STDLIB_OUT)/labs.o $(STDLIB_OUT)/atol.o $(STDLIB_OUT)/_stdlib_strto_l.o $(STDLIB_OUT)/_stdlib_strto_ll.o
> - libc-nomulti-$(UCLIBC_HAS_XLOCALE) += $(STDLIB_OUT)/_stdlib_strto_l_l.o $(STDLIB_OUT)/_stdlib_strto_ll_l.o
> -
> ---
> -1.7.9.5
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch b/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch
> deleted file mode 100644
> index 7e7c579..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-arm-Move-aeabi_read_tp-to-uclibc_nonshared.a.patch
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -From 714f543f4fa8fb3911449b6ce1517481359e0cff Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Sat, 23 Jun 2012 14:21:17 -0700
> -Subject: [PATCH] nptl/arm: Move aeabi_read_tp to uclibc_nonshared.a
> -
> -Otherwise it creates wrong references from shared libs
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> ----
> - libc/sysdeps/linux/arm/Makefile.arch |    4 +++-
> - 1 file changed, 3 insertions(+), 1 deletion(-)
> -
> -Index: git/libc/sysdeps/linux/arm/Makefile.arch
> -===================================================================
> ---- git.orig/libc/sysdeps/linux/arm/Makefile.arch	2013-05-23 11:13:32.000000000 -0700
> -+++ git/libc/sysdeps/linux/arm/Makefile.arch	2013-05-23 11:16:18.304333131 -0700
> -@@ -13,7 +13,9 @@
> - 	vfork.S clone.S
> -
> - SSRC-$(UCLIBC_HAS_LFS) += mmap64.S
> --SSRC-$(UCLIBC_HAS_THREADS_NATIVE) += libc-aeabi_read_tp.S libc-thumb_atomics.S
> -+SSRC-$(UCLIBC_HAS_THREADS_NATIVE) += libc-thumb_atomics.S
> -+libc-nonshared-$(UCLIBC_HAS_THREADS_NATIVE) += $(ARCH_OUT)/libc-aeabi_read_tp.os
> -+libc-static-$(UCLIBC_HAS_THREADS_NATIVE) += $(ARCH_OUT)/libc-aeabi_read_tp.o
> - CSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.c
> - SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += getcontext.S setcontext.S swapcontext.S
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch b/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
> deleted file mode 100644
> index 297a40b..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
> +++ /dev/null
> @@ -1,74 +0,0 @@
> -From d021e6252b33e779857846714fb1899a25c9965d Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Sat, 23 Jun 2012 15:59:01 -0700
> -Subject: [PATCH] nptl/atfork: Hide pthread_atfork in shared versions
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> ----
> - libpthread/nptl/Makefile.in      |    4 +++-
> - libpthread/nptl/pthread_atfork.c |   12 ++++++++++--
> - 2 files changed, 13 insertions(+), 3 deletions(-)
> -
> -diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in
> -index 158bcae..3ef7175 100644
> ---- a/libpthread/nptl/Makefile.in
> -+++ b/libpthread/nptl/Makefile.in
> -@@ -16,6 +16,7 @@ libc-shared-routines-y = forward.c libc-cancellation.c
> - libc-static-routines-y = alloca_cutoff.c libc-cancellation.c
> - libpthread-shared-only-routines-y = version.c
> - libpthread-static-only-routines-y = pthread_atfork.c
> -+
> - libpthread-routines- += $(notdir $(wildcard $(libpthread_DIR)/gen_*.c)) # dummy generated files
> - libpthread-routines- += allocatestack.c # dummy included by pthread_create.c
> - libpthread-routines- += pthread_mutex_getprioceiling.c pthread_mutex_setprioceiling.c # XXX: delete those or use them!
> -@@ -208,7 +209,7 @@ CFLAGS-msgsnd.c = -fexceptions -fasynchronous-unwind-tables
> - CFLAGS-tcdrain.c = -fexceptions -fasynchronous-unwind-tables
> -
> - CFLAGS-pt-system.c = -fexceptions -I$(top_srcdir)libc/stdlib
> --
> -+CFLAGS-pthread_atfork.c = -DNOT_IN_libc
> - #
> - # The rest of this file is uClibc specific.
> - #
> -@@ -224,3 +225,4 @@ CFLAGS-OMIT-alloca_cutoff.c = $(CFLAGS-nptl)
> - CFLAGS-OMIT-forward.c = $(CFLAGS-nptl)
> - CFLAGS-OMIT-libc-lowlevelock.c = $(CFLAGS-nptl)
> - CFLAGS-OMIT-libc-cancellation.c = $(CFLAGS-nptl)
> -+
> -diff --git a/libpthread/nptl/pthread_atfork.c b/libpthread/nptl/pthread_atfork.c
> -index e607d49..6224c17 100644
> ---- a/libpthread/nptl/pthread_atfork.c
> -+++ b/libpthread/nptl/pthread_atfork.c
> -@@ -38,13 +38,17 @@
> - #include <fork.h>
> -
> - /* This is defined by newer gcc version unique for each module.  */
> --extern void *__dso_handle __attribute__ ((__weak__));
> --					  //,__visibility__ ("hidden")));
> -+extern void *__dso_handle __attribute__ ((__weak__,
> -+					  __visibility__ ("hidden")));
> -
> -
> - /* Hide the symbol so that no definition but the one locally in the
> -    executable or DSO is used.  */
> - int
> -+#ifndef __pthread_atfork
> -+/* Don't mark the compatibility function as hidden.  */
> -+attribute_hidden
> -+#endif
> - __pthread_atfork (
> -      void (*prepare) (void),
> -      void (*parent) (void),
> -@@ -53,4 +57,8 @@ __pthread_atfork (
> -   return __register_atfork (prepare, parent, child,
> - 			    &__dso_handle == NULL ? NULL : __dso_handle);
> - }
> -+#ifndef __pthread_atfork
> -+extern int pthread_atfork (void (*prepare) (void), void (*parent) (void),
> -+	                           void (*child) (void)) attribute_hidden;
> - strong_alias (__pthread_atfork, pthread_atfork)
> -+#endif
> ---
> -1.7.9.5
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-timex-Sync-with-glibc.patch b/meta/recipes-core/uclibc/uclibc-git/0001-timex-Sync-with-glibc.patch
> deleted file mode 100644
> index 5d6a0a5..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-timex-Sync-with-glibc.patch
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -From f489cc44a209f6c4370e94c9c788fc9cc4820be1 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Mon, 25 Aug 2014 16:22:57 -0700
> -Subject: [PATCH] timex: Sync with glibc
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-status: Pending
> ----
> - include/sys/timex.h | 8 ++++++--
> - 1 file changed, 6 insertions(+), 2 deletions(-)
> -
> -diff --git a/include/sys/timex.h b/include/sys/timex.h
> -index 9082a28..57059bd 100644
> ---- a/include/sys/timex.h
> -+++ b/include/sys/timex.h
> -@@ -67,8 +67,12 @@ struct timex
> - #define ADJ_ESTERROR		0x0008	/* estimated time error */
> - #define ADJ_STATUS		0x0010	/* clock status */
> - #define ADJ_TIMECONST		0x0020	/* pll time constant */
> --#define ADJ_TICK		0x4000	/* tick value */
> --#define ADJ_OFFSET_SINGLESHOT	0x8001	/* old-fashioned adjtime */
> -+#define ADJ_TAI			0x0080  /* set TAI offset */
> -+#define ADJ_MICRO		0x1000  /* select microsecond resolution */
> -+#define ADJ_NANO		0x2000  /* select nanosecond resolution */
> -+#define ADJ_TICK		0x4000  /* tick value */
> -+#define ADJ_OFFSET_SINGLESHOT	0x8001  /* old-fashioned adjtime */
> -+#define ADJ_OFFSET_SS_READ	0xa001  /* read-only adjtime */
> -
> - /* xntp 3.4 compatibility names */
> - #define MOD_OFFSET	ADJ_OFFSET
> ---
> -2.1.0
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch b/meta/recipes-core/uclibc/uclibc-git/0002-Add-implementation-for-copysignl-for-ppc.patch
> similarity index 73%
> rename from meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch
> rename to meta/recipes-core/uclibc/uclibc-git/0002-Add-implementation-for-copysignl-for-ppc.patch
> index 2f014cd..a4b2a45 100644
> --- a/meta/recipes-core/uclibc/uclibc-git/powerpc_copysignl.patch
> +++ b/meta/recipes-core/uclibc/uclibc-git/0002-Add-implementation-for-copysignl-for-ppc.patch
> @@ -1,13 +1,20 @@
> -Add ppc copysignl implementation
> -
> -Upstream-Status: Pending
> +From 5d362074e5975b150a35bcfa77eab1bfa4e30de7 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sun, 16 Aug 2015 20:50:56 -0700
> +Subject: [PATCH 2/9] Add implementation for copysignl for ppc
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> +Upstream-Status: Pending
> + libc/sysdeps/linux/powerpc/Makefile.arch |  2 +-
> + libc/sysdeps/linux/powerpc/copysignl.c   | 89 ++++++++++++++++++++++++++++++++
> + 2 files changed, 90 insertions(+), 1 deletion(-)
> + create mode 100644 libc/sysdeps/linux/powerpc/copysignl.c
> 
> -Index: git/libc/sysdeps/linux/powerpc/Makefile.arch
> -===================================================================
> ---- git.orig/libc/sysdeps/linux/powerpc/Makefile.arch	2013-05-23 11:09:50.000000000 -0700
> -+++ git/libc/sysdeps/linux/powerpc/Makefile.arch	2013-05-23 11:12:06.072328399 -0700
> +diff --git a/libc/sysdeps/linux/powerpc/Makefile.arch b/libc/sysdeps/linux/powerpc/Makefile.arch
> +index 4fbcb11..7c09c87 100644
> +--- a/libc/sysdeps/linux/powerpc/Makefile.arch
> ++++ b/libc/sysdeps/linux/powerpc/Makefile.arch
> @@ -5,7 +5,7 @@
>  # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
>  #
> @@ -17,10 +24,11 @@ Index: git/libc/sysdeps/linux/powerpc/Makefile.arch
> 
>  SSRC-y := \
>  	__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \
> -Index: git/libc/sysdeps/linux/powerpc/copysignl.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libc/sysdeps/linux/powerpc/copysignl.c	2013-05-23 11:11:37.600327865 -0700
> +diff --git a/libc/sysdeps/linux/powerpc/copysignl.c b/libc/sysdeps/linux/powerpc/copysignl.c
> +new file mode 100644
> +index 0000000..000f653
> +--- /dev/null
> ++++ b/libc/sysdeps/linux/powerpc/copysignl.c
> @@ -0,0 +1,89 @@
> +/* s_copysignl.c -- long double version of s_copysign.c.
> + * Conversion to long double by Ulrich Drepper,
> @@ -111,3 +119,6 @@ Index: git/libc/sysdeps/linux/powerpc/copysignl.c
> +}
> +
> +libc_hidden_def(copysignl);
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0002-wire-setns-syscall.patch b/meta/recipes-core/uclibc/uclibc-git/0002-wire-setns-syscall.patch
> deleted file mode 100644
> index 94c6f68..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/0002-wire-setns-syscall.patch
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -From db575359d4b8164ad6c2ac5f36c7a50c065a2864 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem at gmail.com>
> -Date: Thu, 20 Feb 2014 00:44:34 -0800
> -Subject: [PATCH 2/3] wire setns syscall
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> ----
> - libc/sysdeps/linux/common/Makefile.in  |  1 +
> - libc/sysdeps/linux/common/bits/sched.h |  4 ++++
> - libc/sysdeps/linux/common/setns.c      | 18 ++++++++++++++++++
> - 3 files changed, 23 insertions(+)
> - create mode 100644 libc/sysdeps/linux/common/setns.c
> -
> -diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
> -index 45d2e21..10d9884 100644
> ---- a/libc/sysdeps/linux/common/Makefile.in
> -+++ b/libc/sysdeps/linux/common/Makefile.in
> -@@ -45,6 +45,7 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
> - 	sendfile.c \
> - 	setfsgid.c \
> - 	setfsuid.c \
> -+	setns.c \
> - 	setresgid.c \
> - 	setresuid.c \
> - 	signalfd.c \
> -diff --git a/libc/sysdeps/linux/common/bits/sched.h b/libc/sysdeps/linux/common/bits/sched.h
> -index a5eb6ee..9436f66 100644
> ---- a/libc/sysdeps/linux/common/bits/sched.h
> -+++ b/libc/sysdeps/linux/common/bits/sched.h
> -@@ -85,6 +85,10 @@ extern int unshare (int __flags) __THROW;
> -
> - /* Get index of currently used CPU.  */
> - extern int sched_getcpu (void) __THROW;
> -+
> -+/* Switch process to namespace of type NSTYPE indicated by FD.  */
> -+extern int setns (int __fd, int __nstype) __THROW;
> -+
> - #endif
> -
> - __END_DECLS
> -diff --git a/libc/sysdeps/linux/common/setns.c b/libc/sysdeps/linux/common/setns.c
> -new file mode 100644
> -index 0000000..376bf26
> ---- /dev/null
> -+++ b/libc/sysdeps/linux/common/setns.c
> -@@ -0,0 +1,18 @@
> -+/* vi: set sw=4 ts=4: */
> -+/*
> -+ * setns() for uClibc
> -+ *
> -+ * Copyright (C) 2014 Khem Raj <raj.khem at gmail.com>
> -+ *
> -+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
> -+ */
> -+
> -+#include <sys/syscall.h>
> -+#include <sched.h>
> -+
> -+/*
> -+ * setns()
> -+ */
> -+#ifdef __NR_setns
> -+_syscall2(int, setns, int, fd, int, nstype)
> -+#endif
> ---
> -1.9.0
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/argp-support.patch b/meta/recipes-core/uclibc/uclibc-git/0003-Add-argp-implementation.patch
> similarity index 96%
> rename from meta/recipes-core/uclibc/uclibc-git/argp-support.patch
> rename to meta/recipes-core/uclibc/uclibc-git/0003-Add-argp-implementation.patch
> index bcec6a5..1d222e5 100644
> --- a/meta/recipes-core/uclibc/uclibc-git/argp-support.patch
> +++ b/meta/recipes-core/uclibc/uclibc-git/0003-Add-argp-implementation.patch
> @@ -1,31 +1,35 @@
> -From: Salvatore Cro <salvatore.cro at st.com>
> +From adbd318381a662485cc850f3418714f3f67ce531 Mon Sep 17 00:00:00 2001
> +From: Salvatore Cro <salvatore.cro at st.com>
> +Date: Sun, 16 Aug 2015 20:53:37 -0700
> +Subject: [PATCH 3/9] Add argp implementation
> 
> Argp is an advanced support for parsing unix-style argument vectors.
> -In addition to the common getopt interface, it provides automatic response
> -to `--help' and `--version' options and use of custom parser in conjunction
> +In addition to the common getopt interface, it provides automatic
> +response
> +to `--help' and `--version' options and use of custom parser in
> +conjunction
> with argp native option parser, among others.
> Argp support is required by elfutils package and prelink.
> 
> -In uClibc argp functionalities has been moved from C library to libuargp.so
> +In uClibc argp functionalities has been moved from C library to
> +libuargp.so
> Further the libc.so linker script contains an AS_NEEDED entry so that
> it doesn't need to link libuargp.so explicitely.
> 
> -Signed-off-by: Salvatore Cro <salvatore.cro at st.com>
> -Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono at st.com>
> -Signed-off-by: Carmelo Amoroso <carmelo.amoroso at st.com>
> -
> -Upstream-Status: Pending
> -
> +Signed-off-by: Salvatore Cro <salvatore.cro at st.com>
> +Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono at st.com>
> +Signed-off-by: Carmelo Amoroso <carmelo.amoroso at st.com>
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> +Upstream-Status: Pending
>  Makefile.in                                 |    8 +
> - Makerules                                   |    8 +-
> + Makerules                                   |    6 +-
>  Rules.mak                                   |    7 +
>  extra/Configs/Config.in                     |   17 +
>  libc/sysdeps/linux/common/bits/getopt_int.h |  136 ++
> - libc/unistd/getopt.c                        |   18 +-
> - libc/unistd/getopt_int.h                    |  134 --
> + libc/unistd/getopt.c                        |   19 +-
>  libuargp/Makefile                           |   14 +
> - libuargp/Makefile.in                        |   76 ++
> + libuargp/Makefile.in                        |   73 ++
>  libuargp/argp-ba.c                          |   26 +
>  libuargp/argp-eexst.c                       |   32 +
>  libuargp/argp-fmtstream.c                   |  439 +++++++
> @@ -46,9 +50,8 @@ Upstream-Status: Pending
>  test/argp/bug-argp1.c                       |   26 +
>  test/argp/tst-argp1.c                       |  118 ++
>  test/argp/tst-argp2.c                       |  101 ++
> - 29 files changed, 4911 insertions(+), 138 deletions(-)
> + 28 files changed, 4907 insertions(+), 4 deletions(-)
>  create mode 100644 libc/sysdeps/linux/common/bits/getopt_int.h
> - delete mode 100644 libc/unistd/getopt_int.h
>  create mode 100644 libuargp/Makefile
>  create mode 100644 libuargp/Makefile.in
>  create mode 100644 libuargp/argp-ba.c
> @@ -72,19 +75,19 @@ Upstream-Status: Pending
>  create mode 100644 test/argp/tst-argp1.c
>  create mode 100644 test/argp/tst-argp2.c
> 
> -Index: git/Makefile.in
> -===================================================================
> ---- git.orig/Makefile.in	2012-06-18 13:10:12.000000000 -0700
> -+++ git/Makefile.in	2012-06-18 13:12:06.448829343 -0700
> -@@ -48,6 +48,7 @@
> +diff --git a/Makefile.in b/Makefile.in
> +index 04671a4..9b146bb 100644
> +--- a/Makefile.in
> ++++ b/Makefile.in
> +@@ -39,6 +39,7 @@ include $(top_srcdir)libresolv/Makefile.in
>  include $(top_srcdir)libutil/Makefile.in
>  include $(top_srcdir)libpthread/Makefile.in
>  include $(top_srcdir)librt/Makefile.in
> +include $(top_srcdir)libuargp/Makefile.in
>  include $(top_srcdir)libubacktrace/Makefile.in
> - include $(top_srcdir)extra/locale/Makefile.in
> 
> -@@ -250,6 +251,7 @@
> + # last included to catch all the objects added by others (locales/threads)
> +@@ -262,6 +263,7 @@ HEADERS_RM- += sgtty.h
>  endif
>  HEADERS_RM-$(HAVE_SHARED)                    += dlfcn.h bits/dlfcn.h
>  HEADERS_RM-$(PTHREADS_DEBUG_SUPPORT)         += thread_db.h
> @@ -92,7 +95,7 @@ Index: git/Makefile.in
>  HEADERS_RM-$(UCLIBC_HAS_BSD_ERR)             += err.h
>  HEADERS_RM-$(UCLIBC_HAS_CRYPT)               += crypt.h
>  HEADERS_RM-$(UCLIBC_HAS_EPOLL)               += sys/epoll.h
> -@@ -368,6 +370,12 @@
> +@@ -386,6 +388,12 @@ else
>  	-$(INSTALL) -m 755 $(top_builddir)lib/libc.so $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/
>  endif
>  	echo "$(UBACKTRACE_ASNEEDED)" >> $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so
> @@ -105,11 +108,11 @@ Index: git/Makefile.in
>  ifeq ($(UCLIBC_HAS_THREADS),y)
>  ifneq ($(LINUXTHREADS_OLD),y)
>  ifeq ($(HARDWIRED_ABSPATH),y)
> -Index: git/Makerules
> -===================================================================
> ---- git.orig/Makerules	2012-06-18 13:10:12.000000000 -0700
> -+++ git/Makerules	2012-06-18 13:10:44.052825547 -0700
> -@@ -32,12 +32,12 @@
> +diff --git a/Makerules b/Makerules
> +index d6f7e24..2c64f8e 100644
> +--- a/Makerules
> ++++ b/Makerules
> +@@ -55,12 +55,12 @@ shared_objs = $(libc-y:.o=.os) $(libc-shared-y) $(libc-nonshared-y) \
>  	$(libpthread-so-y) $(libpthread-nonshared-y) $(libthread_db-so-y) \
>  	$(libresolv-so-y) $(librt-so-y) \
>  	$(ldso-y) \
> @@ -124,7 +127,7 @@ Index: git/Makerules
>  ifeq ($(DOPIC),y)
>  ar_objs := $(ar_objs:.o=.os)
>  endif
> -@@ -472,7 +472,7 @@
> +@@ -498,7 +498,7 @@ files.dep := $(libc-a-y) $(libc-so-y) $(libc-nonshared-y) \
>  	$(librt-a-y) $(librt-so-y)  $(libresolv-a-y) $(libresolv-so-y) \
>  	$(libcrypt-a-y) $(libcrypt-so-y) $(libutil-a-y) $(libutil-so-y) \
>  	$(libnsl-a-y) $(libnsl-so-y) $(ldso-y) $(libdl-a-y) $(libdl-so-y) \
> @@ -133,11 +136,11 @@ Index: git/Makerules
>  .depends.dep := \
>  	$(patsubst %.s,%.s.dep,$(filter %.s,$(files.dep))) \
>  	$(patsubst %.o,%.o.dep,$(filter %.o,$(files.dep))) \
> -Index: git/Rules.mak
> -===================================================================
> ---- git.orig/Rules.mak	2012-06-18 13:10:12.000000000 -0700
> -+++ git/Rules.mak	2012-06-18 13:10:44.056825544 -0700
> -@@ -589,6 +589,13 @@
> +diff --git a/Rules.mak b/Rules.mak
> +index de9ffb3..5818d75 100644
> +--- a/Rules.mak
> ++++ b/Rules.mak
> +@@ -602,6 +602,13 @@ export UBACKTRACE_ASNEEDED:=$(shell $(CC) -Wl,--help 2>/dev/null | grep -q -- --
>  else
>  export UBACKTRACE_ASNEEDED:=""
>  endif
> @@ -151,12 +154,12 @@ Index: git/Rules.mak
>  endif
> 
>  # Add a bunch of extra pedantic annoyingly strict checks
> -Index: git/extra/Configs/Config.in
> -===================================================================
> ---- git.orig/extra/Configs/Config.in	2012-06-18 13:10:12.000000000 -0700
> -+++ git/extra/Configs/Config.in	2012-06-18 13:10:44.056825544 -0700
> -@@ -1853,6 +1853,23 @@
> - 	  smaller SUSv3 compatible getsubopt().
> +diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
> +index 242e45a..b36d4c9 100644
> +--- a/extra/Configs/Config.in
> ++++ b/extra/Configs/Config.in
> +@@ -1943,6 +1943,23 @@ config UCLIBC_HAS_GNU_GETSUBOPT
> + 	  Answer Y if you want to include getsubopt().
> 
>  	  Most people will answer Y.
> +
> @@ -179,10 +182,11 @@ Index: git/extra/Configs/Config.in
>  endmenu
> 
> 
> -Index: git/libc/sysdeps/linux/common/bits/getopt_int.h
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libc/sysdeps/linux/common/bits/getopt_int.h	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libc/sysdeps/linux/common/bits/getopt_int.h b/libc/sysdeps/linux/common/bits/getopt_int.h
> +new file mode 100644
> +index 0000000..291edfe
> +--- /dev/null
> ++++ b/libc/sysdeps/linux/common/bits/getopt_int.h
> @@ -0,0 +1,136 @@
> +/* Internal declarations for getopt.
> +   Copyright (C) 1989-1994,1996-1999,2001,2003,2004
> @@ -320,11 +324,11 @@ Index: git/libc/sysdeps/linux/common/bits/getopt_int.h
> +#endif
> +#endif
> +#endif /* getopt_int.h */
> -Index: git/libc/unistd/getopt.c
> -===================================================================
> ---- git.orig/libc/unistd/getopt.c	2012-06-18 13:10:12.000000000 -0700
> -+++ git/libc/unistd/getopt.c	2012-06-18 13:10:44.056825544 -0700
> -@@ -106,7 +106,7 @@
> +diff --git a/libc/unistd/getopt.c b/libc/unistd/getopt.c
> +index f63482b..db5e12c 100644
> +--- a/libc/unistd/getopt.c
> ++++ b/libc/unistd/getopt.c
> +@@ -105,7 +105,7 @@
>     they can distinguish the relative order of options and other arguments.  */
> 
>  #include <getopt.h>
> @@ -333,7 +337,7 @@ Index: git/libc/unistd/getopt.c
> 
> 
>  /* For communication from `getopt' to the caller.
> -@@ -1170,6 +1170,15 @@
> +@@ -1170,6 +1170,15 @@ getopt_long (int argc, char *const *argv, const char *options,
>    return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
>  }
> 
> @@ -349,9 +353,9 @@ Index: git/libc/unistd/getopt.c
>  /* Like getopt_long, but '-' as well as '--' can indicate a long option.
>     If an option that starts with '-' (not '--') doesn't match a long option,
>     but does match a short option, it is parsed as a short option
> -@@ -1182,4 +1191,12 @@
> -   return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
> +@@ -1183,4 +1192,12 @@ getopt_long_only (int argc, char *const *argv, const char *options,
>  }
> + #endif /* __UCLIBC_HAS_GETOPT_LONG__ */
> 
> +int
> +_getopt_long_only_r (int argc, char *const *argv, const char *options,
> @@ -362,10 +366,11 @@ Index: git/libc/unistd/getopt.c
> +}
> +
>  #endif	/* Not ELIDE_CODE.  */
> -Index: git/libuargp/Makefile
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/Makefile	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/Makefile b/libuargp/Makefile
> +new file mode 100644
> +index 0000000..45acdd9
> +--- /dev/null
> ++++ b/libuargp/Makefile
> @@ -0,0 +1,14 @@
> +# Makefile for uClibc (libuargp)
> +#
> @@ -381,10 +386,11 @@ Index: git/libuargp/Makefile
> +all: libs
> +include Makefile.in
> +include $(top_srcdir)Makerules
> -Index: git/libuargp/Makefile.in
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/Makefile.in	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/Makefile.in b/libuargp/Makefile.in
> +new file mode 100644
> +index 0000000..1498abb
> +--- /dev/null
> ++++ b/libuargp/Makefile.in
> @@ -0,0 +1,73 @@
> +# Makefile for uClibc (libuargp)
> +#
> @@ -459,10 +465,11 @@ Index: git/libuargp/Makefile.in
> +
> +CLEAN_libuargp:
> +	$(do_rm) $(addprefix $(libuargp_OUT)/*., o os oS a)
> -Index: git/libuargp/argp-ba.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-ba.c	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/argp-ba.c b/libuargp/argp-ba.c
> +new file mode 100644
> +index 0000000..3522b02
> +--- /dev/null
> ++++ b/libuargp/argp-ba.c
> @@ -0,0 +1,26 @@
> +/* Default definition for ARGP_PROGRAM_BUG_ADDRESS.
> +   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
> @@ -490,10 +497,11 @@ Index: git/libuargp/argp-ba.c
> +   messages), embedded in a sentence that says something like `Report bugs to
> +   ADDR.'.  */
> +const char *argp_program_bug_address;
> -Index: git/libuargp/argp-eexst.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-eexst.c	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/argp-eexst.c b/libuargp/argp-eexst.c
> +new file mode 100644
> +index 0000000..445b68d
> +--- /dev/null
> ++++ b/libuargp/argp-eexst.c
> @@ -0,0 +1,32 @@
> +/* Default definition for ARGP_ERR_EXIT_STATUS
> +   Copyright (C) 1997 Free Software Foundation, Inc.
> @@ -527,10 +535,11 @@ Index: git/libuargp/argp-eexst.c
> +   If not defined or set by the user program, this defaults to EX_USAGE from
> +   <sysexits.h>.  */
> +error_t argp_err_exit_status = EX_USAGE;
> -Index: git/libuargp/argp-fmtstream.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-fmtstream.c	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/argp-fmtstream.c b/libuargp/argp-fmtstream.c
> +new file mode 100644
> +index 0000000..75227f9
> +--- /dev/null
> ++++ b/libuargp/argp-fmtstream.c
> @@ -0,0 +1,439 @@
> +/* Word-wrapping and line-truncating streams
> +   Copyright (C) 1997-1999,2001,2002,2003,2005 Free Software Foundation, Inc.
> @@ -971,10 +980,11 @@ Index: git/libuargp/argp-fmtstream.c
> +#endif
> +
> +#endif /* !ARGP_FMTSTREAM_USE_LINEWRAP */
> -Index: git/libuargp/argp-fmtstream.h
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-fmtstream.h	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/argp-fmtstream.h b/libuargp/argp-fmtstream.h
> +new file mode 100644
> +index 0000000..ca7c834
> +--- /dev/null
> ++++ b/libuargp/argp-fmtstream.h
> @@ -0,0 +1,314 @@
> +/* Word-wrapping and line-truncating streams.
> +   Copyright (C) 1997 Free Software Foundation, Inc.
> @@ -1290,10 +1300,11 @@ Index: git/libuargp/argp-fmtstream.h
> +#endif /* ARGP_FMTSTREAM_USE_LINEWRAP */
> +
> +#endif /* argp-fmtstream.h */
> -Index: git/libuargp/argp-fs-xinl.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-fs-xinl.c	2012-06-18 13:10:44.056825544 -0700
> +diff --git a/libuargp/argp-fs-xinl.c b/libuargp/argp-fs-xinl.c
> +new file mode 100644
> +index 0000000..473cbbd
> +--- /dev/null
> ++++ b/libuargp/argp-fs-xinl.c
> @@ -0,0 +1,44 @@
> +/* Real definitions for extern inline functions in argp-fmtstream.h
> +   Copyright (C) 1997, 2003, 2004 Free Software Foundation, Inc.
> @@ -1339,10 +1350,11 @@ Index: git/libuargp/argp-fs-xinl.c
> +
> +#endif
> +#endif
> -Index: git/libuargp/argp-help.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-help.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/libuargp/argp-help.c b/libuargp/argp-help.c
> +new file mode 100644
> +index 0000000..58a5e6e
> +--- /dev/null
> ++++ b/libuargp/argp-help.c
> @@ -0,0 +1,1882 @@
> +/* Hierarchial argument parsing help output
> +   Copyright (C) 1995-2003, 2004, 2005, 2006, 2007
> @@ -3226,10 +3238,11 @@ Index: git/libuargp/argp-help.c
> +       }
> +    }
> +}
> -Index: git/libuargp/argp-parse.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-parse.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/libuargp/argp-parse.c b/libuargp/argp-parse.c
> +new file mode 100644
> +index 0000000..86b2b24
> +--- /dev/null
> ++++ b/libuargp/argp-parse.c
> @@ -0,0 +1,949 @@
> +/* Hierarchial argument parsing, layered over getopt
> +   Copyright (C) 1995-2000, 2002, 2003, 2004 Free Software Foundation, Inc.
> @@ -4180,10 +4193,11 @@ Index: git/libuargp/argp-parse.c
> +
> +  return 0;
> +}
> -Index: git/libuargp/argp-pv.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-pv.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/libuargp/argp-pv.c b/libuargp/argp-pv.c
> +new file mode 100644
> +index 0000000..f1227b5
> +--- /dev/null
> ++++ b/libuargp/argp-pv.c
> @@ -0,0 +1,25 @@
> +/* Default definition for ARGP_PROGRAM_VERSION.
> +   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
> @@ -4210,10 +4224,11 @@ Index: git/libuargp/argp-pv.c
> +   print this this string followed by a newline and exit (unless the
> +   ARGP_NO_EXIT flag is used).  Overridden by ARGP_PROGRAM_VERSION_HOOK.  */
> +const char *argp_program_version;
> -Index: git/libuargp/argp-pvh.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-pvh.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/libuargp/argp-pvh.c b/libuargp/argp-pvh.c
> +new file mode 100644
> +index 0000000..1f1d962
> +--- /dev/null
> ++++ b/libuargp/argp-pvh.c
> @@ -0,0 +1,32 @@
> +/* Default definition for ARGP_PROGRAM_VERSION_HOOK.
> +   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
> @@ -4247,10 +4262,11 @@ Index: git/libuargp/argp-pvh.c
> +   current parsing state, and then exits (unless the ARGP_NO_EXIT flag is
> +   used).  This variable takes precedent over ARGP_PROGRAM_VERSION.  */
> +void (*argp_program_version_hook) (FILE *stream, struct argp_state *state);
> -Index: git/libuargp/argp-xinl.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/libuargp/argp-xinl.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/libuargp/argp-xinl.c b/libuargp/argp-xinl.c
> +new file mode 100644
> +index 0000000..f1d3000
> +--- /dev/null
> ++++ b/libuargp/argp-xinl.c
> @@ -0,0 +1,35 @@
> +/* Real definitions for extern inline functions in argp.h
> +   Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc.
> @@ -4287,10 +4303,11 @@ Index: git/libuargp/argp-xinl.c
> +#undef __OPTIMIZE__
> +#define __OPTIMIZE__ 1
> +#include <argp.h>
> -Index: git/test/argp/Makefile
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/Makefile	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/Makefile b/test/argp/Makefile
> +new file mode 100644
> +index 0000000..616fe71
> +--- /dev/null
> ++++ b/test/argp/Makefile
> @@ -0,0 +1,7 @@
> +# uClibc argp tests
> +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
> @@ -4299,10 +4316,11 @@ Index: git/test/argp/Makefile
> +include ../Rules.mak
> +-include Makefile.in
> +include ../Test.mak
> -Index: git/test/argp/Makefile.in
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/Makefile.in	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/Makefile.in b/test/argp/Makefile.in
> +new file mode 100644
> +index 0000000..d81b359
> +--- /dev/null
> ++++ b/test/argp/Makefile.in
> @@ -0,0 +1,12 @@
> +# uClibc argp tests
> +# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
> @@ -4316,10 +4334,11 @@ Index: git/test/argp/Makefile.in
> +OPTS_argp-ex4 = ARG1 string1 string2 string3
> +OPTS_bug-argp1 = -- --help
> +
> -Index: git/test/argp/argp-ex1.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/argp-ex1.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/argp-ex1.c b/test/argp/argp-ex1.c
> +new file mode 100644
> +index 0000000..7bb5f22
> +--- /dev/null
> ++++ b/test/argp/argp-ex1.c
> @@ -0,0 +1,15 @@
> +/* Argp example #1 -- a minimal program using argp */
> +
> @@ -4336,10 +4355,11 @@ Index: git/test/argp/argp-ex1.c
> +  argp_parse (0, argc, argv, 0, 0, 0);
> +  exit (0);
> +}
> -Index: git/test/argp/argp-ex2.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/argp-ex2.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/argp-ex2.c b/test/argp/argp-ex2.c
> +new file mode 100644
> +index 0000000..c49fbac
> +--- /dev/null
> ++++ b/test/argp/argp-ex2.c
> @@ -0,0 +1,45 @@
> +/* Argp example #2 -- a pretty minimal program using argp */
> +
> @@ -4386,10 +4406,11 @@ Index: git/test/argp/argp-ex2.c
> +  argp_parse (&argp, argc, argv, 0, 0, 0);
> +  exit (0);
> +}
> -Index: git/test/argp/argp-ex3.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/argp-ex3.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/argp-ex3.c b/test/argp/argp-ex3.c
> +new file mode 100644
> +index 0000000..24d5c50
> +--- /dev/null
> ++++ b/test/argp/argp-ex3.c
> @@ -0,0 +1,153 @@
> +/* Argp example #3 -- a program with options and arguments using argp */
> +
> @@ -4544,10 +4565,11 @@ Index: git/test/argp/argp-ex3.c
> +
> +  exit (0);
> +}
> -Index: git/test/argp/argp-ex4.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/argp-ex4.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/argp-ex4.c b/test/argp/argp-ex4.c
> +new file mode 100644
> +index 0000000..c77c7ef
> +--- /dev/null
> ++++ b/test/argp/argp-ex4.c
> @@ -0,0 +1,167 @@
> +/* Argp example #4 -- a program with somewhat more complicated options */
> +
> @@ -4716,10 +4738,11 @@ Index: git/test/argp/argp-ex4.c
> +
> +  exit (0);
> +}
> -Index: git/test/argp/argp-test.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/argp-test.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/argp-test.c b/test/argp/argp-test.c
> +new file mode 100644
> +index 0000000..b3d573b
> +--- /dev/null
> ++++ b/test/argp/argp-test.c
> @@ -0,0 +1,209 @@
> +/* Test program for argp argument parser
> +   Copyright (C) 1997 Free Software Foundation, Inc.
> @@ -4930,10 +4953,11 @@ Index: git/test/argp/argp-test.c
> +  printf ("After parsing: foonly = %x\n", params.foonly);
> +  return 0;
> +}
> -Index: git/test/argp/bug-argp1.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/bug-argp1.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/bug-argp1.c b/test/argp/bug-argp1.c
> +new file mode 100644
> +index 0000000..a28cf4b
> +--- /dev/null
> ++++ b/test/argp/bug-argp1.c
> @@ -0,0 +1,26 @@
> +#include <argp.h>
> +
> @@ -4961,10 +4985,11 @@ Index: git/test/argp/bug-argp1.c
> +
> +#define TEST_FUNCTION do_test (argc, argv)
> +#include "../test-skeleton.c"
> -Index: git/test/argp/tst-argp1.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/tst-argp1.c	2012-06-18 13:10:44.060825542 -0700
> +diff --git a/test/argp/tst-argp1.c b/test/argp/tst-argp1.c
> +new file mode 100644
> +index 0000000..827daca
> +--- /dev/null
> ++++ b/test/argp/tst-argp1.c
> @@ -0,0 +1,118 @@
> +/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
> +   This file is part of the GNU C Library.
> @@ -5084,10 +5109,11 @@ Index: git/test/argp/tst-argp1.c
> +
> +#define TEST_FUNCTION do_test ()
> +#include "../test-skeleton.c"
> -Index: git/test/argp/tst-argp2.c
> -===================================================================
> ---- /dev/null	1970-01-01 00:00:00.000000000 +0000
> -+++ git/test/argp/tst-argp2.c	2012-06-18 13:10:44.064825538 -0700
> +diff --git a/test/argp/tst-argp2.c b/test/argp/tst-argp2.c
> +new file mode 100644
> +index 0000000..705cdca
> +--- /dev/null
> ++++ b/test/argp/tst-argp2.c
> @@ -0,0 +1,101 @@
> +/* Copyright (C) 2007 Free Software Foundation, Inc.
> +   This file is part of the GNU C Library.
> @@ -5190,3 +5216,6 @@ Index: git/test/argp/tst-argp2.c
> +
> +#define TEST_FUNCTION do_test ()
> +#include "../test-skeleton.c"
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/argp-headers.patch b/meta/recipes-core/uclibc/uclibc-git/0004-Added-headers-file-needed-by-argp-sources.patch
> similarity index 97%
> rename from meta/recipes-core/uclibc/uclibc-git/argp-headers.patch
> rename to meta/recipes-core/uclibc/uclibc-git/0004-Added-headers-file-needed-by-argp-sources.patch
> index b31b991..20dcdf9 100644
> --- a/meta/recipes-core/uclibc/uclibc-git/argp-headers.patch
> +++ b/meta/recipes-core/uclibc/uclibc-git/0004-Added-headers-file-needed-by-argp-sources.patch
> @@ -1,19 +1,21 @@
> -Added headers file needed by argp sources.
> +From e7e462e0f21c573ba6010d2e4dddfa45e56faf9a Mon Sep 17 00:00:00 2001
> +From: Salvatore Cro <salvatore.cro at st.com>
> +Date: Sun, 16 Aug 2015 20:57:26 -0700
> +Subject: [PATCH 4/9] Added headers file needed by argp sources
> 
> -Signed-off-by: Salvatore Cro <salvatore.cro at st.com>
> +Signed-off-by: Salvatore Cro <salvatore.cro at st.com>
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> - include/argp.h             |  566 ++++++++++++++++++++++++++++++++++++++++++++
> - libc/argp/argp-fmtstream.h |  314 ++++++++++++++++++++++++
> - 2 files changed, 880 insertions(+), 0 deletions(-)
> - create mode 100644 include/argp.h
> - create mode 100644 libc/argp/argp-fmtstream.h
> -
> Upstream-Status: Pending
> + include/argp.h | 566 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> + 1 file changed, 566 insertions(+)
> + create mode 100644 include/argp.h
> 
> -Index: git/include/argp.h
> -===================================================================
> +diff --git a/include/argp.h b/include/argp.h
> +new file mode 100644
> +index 0000000..9d53728
> --- /dev/null
> -+++ git/include/argp.h
> ++++ b/include/argp.h
> @@ -0,0 +1,566 @@
> +/* Hierarchial argument parsing, layered over getopt.
> +   Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007, 2009
> @@ -581,3 +583,6 @@ Index: git/include/argp.h
> +#endif
> +
> +#endif /* argp.h */
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0005-Dont-support-localised-optimizations-this-helps-to-h.patch b/meta/recipes-core/uclibc/uclibc-git/0005-Dont-support-localised-optimizations-this-helps-to-h.patch
> new file mode 100644
> index 0000000..8e1bf71
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/0005-Dont-support-localised-optimizations-this-helps-to-h.patch
> @@ -0,0 +1,29 @@
> +From 999912a473dcfea15477263256179d16c00e8aba Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sun, 16 Aug 2015 20:58:59 -0700
> +Subject: [PATCH 5/9] Dont support localised optimizations this helps to have a
> + global -O level
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> +Upstream-Status: Pending
> + libpthread/nptl/pthread_mutex_timedlock.c | 2 ++
> + 1 file changed, 2 insertions(+)
> +
> +diff --git a/libpthread/nptl/pthread_mutex_timedlock.c b/libpthread/nptl/pthread_mutex_timedlock.c
> +index 04187f6..f56f6c5 100644
> +--- a/libpthread/nptl/pthread_mutex_timedlock.c
> ++++ b/libpthread/nptl/pthread_mutex_timedlock.c
> +@@ -28,7 +28,9 @@
> +  * error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
> +  */
> + int
> ++#ifndef  __OPTIMIZE__
> + attribute_optimize("Os")
> ++#endif
> + pthread_mutex_timedlock (
> +      pthread_mutex_t *mutex,
> +      const struct timespec *abstime)
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0006-Always-use-O2-for-compiling-fork.c.patch b/meta/recipes-core/uclibc/uclibc-git/0006-Always-use-O2-for-compiling-fork.c.patch
> new file mode 100644
> index 0000000..438cef1
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/0006-Always-use-O2-for-compiling-fork.c.patch
> @@ -0,0 +1,32 @@
> +From a39b30214c7424e3906db27b2b561b20e1c16fb7 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sun, 16 Aug 2015 20:59:56 -0700
> +Subject: [PATCH 6/9] Always use -O2 for compiling fork.c
> +
> +When compiling in thumb mode for arm with -Os gcc gives up since it can
> +not find registers to spill. So we use -O2 option for compiling fork.c
> +It may be addressable in gcc.
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> +Upstream-Status: Pending
> + libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 6 ++++++
> + 1 file changed, 6 insertions(+)
> +
> +diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
> +index 0ea0b29..0767e9c 100644
> +--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
> ++++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
> +@@ -21,3 +21,9 @@ ASFLAGS-pt-vfork.S = -marm
> + CFLAGS-OMIT-pt-vfork.S = -mthumb
> + ASFLAGS-vfork.S = -marm
> + CFLAGS-OMIT-vfork.S = -mthumb
> ++
> ++# For arm fork.c does not compile with -Os when compiling
> ++# in thumb1 mode
> ++ifeq ($(COMPILE_IN_THUMB_MODE),y)
> ++CFLAGS-fork.c = -O2
> ++endif
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-ldso-limited-support-for-ORIGIN-in-rpath.patch b/meta/recipes-core/uclibc/uclibc-git/0007-ldso-limited-support-for-ORIGIN-in-rpath.patch
> similarity index 96%
> rename from meta/recipes-core/uclibc/uclibc-git/0001-ldso-limited-support-for-ORIGIN-in-rpath.patch
> rename to meta/recipes-core/uclibc/uclibc-git/0007-ldso-limited-support-for-ORIGIN-in-rpath.patch
> index 7479ec3..555b19b 100644
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-ldso-limited-support-for-ORIGIN-in-rpath.patch
> +++ b/meta/recipes-core/uclibc/uclibc-git/0007-ldso-limited-support-for-ORIGIN-in-rpath.patch
> @@ -1,7 +1,7 @@
> -From 32eaf738faafad2b16e1f3f5beb91736b3c27a3b Mon Sep 17 00:00:00 2001
> +From 7e6d74573a6eb70ac4518e45e5c52b867db07453 Mon Sep 17 00:00:00 2001
> From: Junling Zheng <zhengjunling at huawei.com>
> Date: Fri, 3 Apr 2015 05:02:27 +0000
> -Subject: [PATCH] ldso: limited support for $ORIGIN in rpath
> +Subject: [PATCH 7/9] ldso: limited support for $ORIGIN in rpath
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> @@ -26,7 +26,9 @@ Upstream-Status: Submitted
> 
> Signed-off-by: Timo Teräs <timo.teras at iki.fi>
> Signed-off-by: Junling Zheng <zhengjunling at huawei.com>
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> +Upstream-Status: Pending
>  ldso/include/dl-string.h |  2 ++
>  ldso/ldso/dl-elf.c       | 79 +++++++++++++++++++++++++-----------------------
>  ldso/ldso/ldso.c         | 18 +++++++++--
> @@ -47,7 +49,7 @@ index aacad10..14ae617 100644
>  # define _dl_memcmp memcmp
>  # define _dl_memset memset
> diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
> -index 1b06bc1..b323c90 100644
> +index 5631905..6ab7afe 100644
> --- a/ldso/ldso/dl-elf.c
> +++ b/ldso/ldso/dl-elf.c
> @@ -133,56 +133,60 @@ _dl_protect_relro (struct elf_resolve *l)
> @@ -190,7 +192,7 @@ index 1b06bc1..b323c90 100644
>  		return tpnt1;
> 
> diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
> -index 5619629..73bcc41 100644
> +index f38f9e3..3812908 100644
> --- a/ldso/ldso/ldso.c
> +++ b/ldso/ldso/ldso.c
> @@ -402,6 +402,20 @@ static ptrdiff_t _dl_build_local_scope (struct elf_resolve **list,
> @@ -226,5 +228,5 @@ index 5619629..73bcc41 100644
>  #ifdef __DSBT__
>  	_dl_ldso_dsbt = (void *)tpnt->dynamic_info[DT_DSBT_BASE_IDX];
> --
> -1.8.3.4
> +2.1.4
> 
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0008-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch b/meta/recipes-core/uclibc/uclibc-git/0008-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
> new file mode 100644
> index 0000000..94669ec
> --- /dev/null
> +++ b/meta/recipes-core/uclibc/uclibc-git/0008-nptl-atfork-Hide-pthread_atfork-in-shared-versions.patch
> @@ -0,0 +1,36 @@
> +From a087b71655d6e53fd9897362a9c7eba9b97440fc Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Sat, 23 Jun 2012 15:59:01 -0700
> +Subject: [PATCH 8/9] nptl/atfork: Hide pthread_atfork in shared versions
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +Upstream-Status: Pending
> +---
> +Upstream-Status: Pending
> + libpthread/nptl/Makefile.in | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in
> +index 55eeba2..8cb8fa9 100644
> +--- a/libpthread/nptl/Makefile.in
> ++++ b/libpthread/nptl/Makefile.in
> +@@ -16,6 +16,7 @@ libc-shared-routines-y = forward.c libc-cancellation.c
> + libc-static-routines-y = alloca_cutoff.c libc-cancellation.c
> + libpthread-shared-only-routines-y = version.c
> + libpthread-static-only-routines-y = pthread_atfork.c
> ++
> + libpthread-routines- += $(notdir $(wildcard $(libpthread_DIR)/gen_*.c)) # dummy generated files
> + libpthread-routines- += allocatestack.c # dummy included by pthread_create.c
> + libpthread-routines- += pthread_mutex_getprioceiling.c pthread_mutex_setprioceiling.c # XXX: delete those or use them!
> +@@ -201,7 +202,7 @@ CFLAGS-msgsnd.c = -fexceptions -fasynchronous-unwind-tables
> + CFLAGS-tcdrain.c = -fexceptions -fasynchronous-unwind-tables
> +
> + CFLAGS-pt-system.c = -fexceptions -I$(top_srcdir)libc/stdlib
> +-
> ++CFLAGS-pthread_atfork.c = -DNOT_IN_libc
> + #
> + # The rest of this file is uClibc specific.
> + #
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch b/meta/recipes-core/uclibc/uclibc-git/0009-librt-Use-nodefaultlibs-instead-of-nostdlib.patch
> similarity index 50%
> rename from meta/recipes-core/uclibc/uclibc-git/0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch
> rename to meta/recipes-core/uclibc/uclibc-git/0009-librt-Use-nodefaultlibs-instead-of-nostdlib.patch
> index ecb9d31..5ad9bb7 100644
> --- a/meta/recipes-core/uclibc/uclibc-git/0001-librt-Use-nodefaultlibs-instead-of-nostdlib.patch
> +++ b/meta/recipes-core/uclibc/uclibc-git/0009-librt-Use-nodefaultlibs-instead-of-nostdlib.patch
> @@ -1,7 +1,7 @@
> -From 95f9b6f37152b8316735d3c86c0db963ff59e22d Mon Sep 17 00:00:00 2001
> +From 7e89347e452d90674fa739be367bdf8ce71cc7d8 Mon Sep 17 00:00:00 2001
> From: Khem Raj <raj.khem at gmail.com>
> -Date: Sat, 23 Jun 2012 16:51:52 -0700
> -Subject: [PATCH] librt: Use -nodefaultlibs instead of -nostdlib
> +Date: Sun, 16 Aug 2015 21:03:45 -0700
> +Subject: [PATCH 9/9] librt: Use -nodefaultlibs instead of -nostdlib
> 
> nostdlib disables linking in startup files too which is not
> what we want here since it needs to resolve __dso_handle
> @@ -12,18 +12,18 @@ when shared libraries are being built which are
> linking in librt
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> ---
> - librt/Makefile.in |    1 +
> - 1 file changed, 1 insertion(+)
> +Upstream-Status: Pending
> + librt/Makefile.in | 3 +++
> + 1 file changed, 3 insertions(+)
> 
> -Index: git/librt/Makefile.in
> -===================================================================
> ---- git.orig/librt/Makefile.in	2012-06-24 10:32:59.512653237 -0700
> -+++ git/librt/Makefile.in	2012-06-24 11:31:00.660821666 -0700
> -@@ -15,6 +15,9 @@
> - ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
> - LIBS-librt.so += $(top_builddir)lib/libdl.so $(top_builddir)lib/libpthread.so
> +diff --git a/librt/Makefile.in b/librt/Makefile.in
> +index 1536a5c..5fcb1d6 100644
> +--- a/librt/Makefile.in
> ++++ b/librt/Makefile.in
> +@@ -16,6 +16,9 @@ ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
> + LIBS-librt.so += $(top_builddir)lib/libpthread.so \
> + 	$(CC_FLAG_ASNEEDED) $(top_builddir)lib/libdl.so $(CC_FLAG_NO_ASNEEDED)
>  endif
> +START_FILE-librt.so := $(SHARED_START_FILES)
> +END_FILE-librt.so := $(SHARED_END_FILES)
> @@ -31,3 +31,6 @@ Index: git/librt/Makefile.in
> 
>  librt_FULL_NAME := librt-$(VERSION).so
> 
> +--
> +2.1.4
> +
> diff --git a/meta/recipes-core/uclibc/uclibc-git/compile-arm-fork-with-O2.patch b/meta/recipes-core/uclibc/uclibc-git/compile-arm-fork-with-O2.patch
> deleted file mode 100644
> index 15ee0ca..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/compile-arm-fork-with-O2.patch
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -When compiling in thumb mode for arm with -Os gcc gives up since it can not find registers
> -to spill. So we use -O2 option for compiling fork.c It may be addressable in gcc.
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -
> -Upstream-Status: Pending
> -
> -diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
> -index 329d8a9..41e3646 100644
> ---- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
> -+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
> -@@ -30,3 +30,9 @@ CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
> - # This macro should be alternatively implemented in THUMB
> - # assembly.
> - ASFLAGS-vfork.S = -marm
> -+
> -+# For arm fork.c does not compile with -Os when in compiling
> -+# in thumb1 mode
> -+ifeq ($(COMPILE_IN_THUMB_MODE),y)
> -+CFLAGS-fork.c = -O2
> -+endif
> diff --git a/meta/recipes-core/uclibc/uclibc-git/ldso-mark-_dl_exit-as-noreturn.patch b/meta/recipes-core/uclibc/uclibc-git/ldso-mark-_dl_exit-as-noreturn.patch
> deleted file mode 100644
> index 5279f8a..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/ldso-mark-_dl_exit-as-noreturn.patch
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -From 2c8a7766681b704e710f51c0817534e3f9a952d1 Mon Sep 17 00:00:00 2001
> -From: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
> -Date: Thu, 26 Mar 2015 00:02:58 +0100
> -Subject: [PATCH] ldso: mark _dl_exit as noreturn
> -
> -Otherwise gcc might not understand that oom() ended control-flow and
> -might emit an (untaken) reference to abort() in _dl_update_slotinfo()
> -on e.g. SH4 which breaks linking ld-uClibc.so.
> -Arguably -ffreestanding should prevent GCC from emitting this
> -'.global abort' but alas, it does not, which is another bug..
> -
> -Also mark the function cold to further lower the incoming frequency and
> -branch probability.
> -
> -Upstream-Status: Backport
> -
> -  http://git.uclibc.org/uClibc/commit/?id=2c8a7766681b704e710f51c0817534e3f9a952d1
> -
> -Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
> -Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
> ----
> - ldso/include/dl-syscall.h | 10 +++++++++-
> - 1 file changed, 9 insertions(+), 1 deletion(-)
> -
> -diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
> -index 675b93a..e556f7b 100644
> ---- a/ldso/include/dl-syscall.h
> -+++ b/ldso/include/dl-syscall.h
> -@@ -52,7 +52,15 @@ extern int _dl_errno;
> -    dynamic linking at all, so we cannot return any error codes.
> -    We just punt if there is an error. */
> - #define __NR__dl_exit __NR_exit
> --static __always_inline _syscall1(void, _dl_exit, int, status)
> -+static __always_inline attribute_noreturn __cold void _dl_exit(int status)
> -+{
> -+	INLINE_SYSCALL(_dl_exit, 1, status);
> -+#if defined __GNUC__
> -+	__builtin_unreachable(); /* shut up warning: 'noreturn' function does return*/
> -+#else
> -+	while (1);
> -+#endif
> -+}
> -
> - #define __NR__dl_close __NR_close
> - static __always_inline _syscall1(int, _dl_close, int, fd)
> ---
> -1.9.1
> -
> diff --git a/meta/recipes-core/uclibc/uclibc-git/remove_attribute_optimize_Os.patch b/meta/recipes-core/uclibc/uclibc-git/remove_attribute_optimize_Os.patch
> deleted file mode 100644
> index fb52faa..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/remove_attribute_optimize_Os.patch
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -Dont support localised optimizations this helps to have a global -O level
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> -
> -Index: git/libpthread/nptl/pthread_mutex_timedlock.c
> -===================================================================
> ---- git.orig/libpthread/nptl/pthread_mutex_timedlock.c	2014-08-25 10:58:06.000000000 -0700
> -+++ git/libpthread/nptl/pthread_mutex_timedlock.c	2014-08-25 11:00:42.078242266 -0700
> -@@ -28,7 +28,9 @@
> -  * error: can't find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
> -  */
> - int
> -+#ifndef  __OPTIMIZE__
> - attribute_optimize("Os")
> -+#endif
> - pthread_mutex_timedlock (
> -      pthread_mutex_t *mutex,
> -      const struct timespec *abstime)
> diff --git a/meta/recipes-core/uclibc/uclibc-git/uclibc_enable_log2_test.patch b/meta/recipes-core/uclibc/uclibc-git/uclibc_enable_log2_test.patch
> deleted file mode 100644
> index 37a5988..0000000
> --- a/meta/recipes-core/uclibc/uclibc-git/uclibc_enable_log2_test.patch
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -uclibc now has log2 so enable the tests
> -
> -Signed-off-by: Khem Raj <raj.khem at gmail.com>
> -Upstream-Status: Pending
> -
> -Index: uClibc/test/math/libm-test.inc
> -===================================================================
> ---- uClibc/test/math/libm-test.inc	(revision 23784)
> -+++ uClibc/test/math/libm-test.inc	(working copy)
> -@@ -3414,7 +3414,6 @@
> - }
> -
> -
> --#if 0
> - static void
> - log2_test (void)
> - {
> -@@ -3444,7 +3443,6 @@
> -
> -   END (log2);
> - }
> --#endif
> -
> -
> - static void
> -@@ -4967,9 +4965,7 @@
> -   log_test ();
> -   log10_test ();
> -   log1p_test ();
> --#if 0
> -   log2_test ();
> --#endif
> -   logb_test ();
> -   modf_test ();
> -   ilogb_test ();
> diff --git a/meta/recipes-core/uclibc/uclibc.inc b/meta/recipes-core/uclibc/uclibc.inc
> index c483228..533aa3d 100644
> --- a/meta/recipes-core/uclibc/uclibc.inc
> +++ b/meta/recipes-core/uclibc/uclibc.inc
> @@ -21,7 +21,7 @@ PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
> TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
> 
> # siteconfig.bbclass runs configure which needs a working compiler
> -# For the compiler to work we need a working libc yet libc isn't
> +# For the compiler to work we need a working libc yet libc isn't
> # in the sysroots directory at this point. This means the libc.so
> # linker script won't work as the --sysroot setting isn't correct.
> # Here we create a hacked up libc linker script and pass in the right
> --
> 2.1.4
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150817/1ff1b63a/attachment-0002.sig>


More information about the Openembedded-core mailing list