> On Aug 16, 2015, at 9:28 PM, Khem Raj <raj.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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.k...@gmail.com> > -Date: Mon, 25 Aug 2014 16:22:57 -0700 > -Subject: [PATCH] timex: Sync with glibc > - > -Signed-off-by: Khem Raj <raj.k...@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.k...@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.k...@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.k...@gmail.com> > -Date: Thu, 20 Feb 2014 00:44:34 -0800 > -Subject: [PATCH 2/3] wire setns syscall > - > -Signed-off-by: Khem Raj <raj.k...@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.k...@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....@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....@st.com> > +Signed-off-by: Filippo Arcidiacono <filippo.arcidiac...@st.com> > +Signed-off-by: Carmelo Amoroso <carmelo.amor...@st.com> > +Signed-off-by: Khem Raj <raj.k...@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....@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....@st.com> > +Signed-off-by: Khem Raj <raj.k...@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.k...@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.k...@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.k...@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.k...@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 <zhengjunl...@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 <zhengjunl...@huawei.com> > +Signed-off-by: Khem Raj <raj.k...@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.k...@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.k...@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.k...@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.k...@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.k...@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....@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....@gmail.com> > -Signed-off-by: Andre McCurdy <armccu...@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.k...@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.k...@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 >
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core