<font><font face="courier new,monospace">updated<br></font></font><br>On Tue, Feb 7, 2012 at 11:02 AM, Saul Wold <<a href="mailto:sgw@linux.intel.com" target="_blank">sgw@linux.intel.com</a>> wrote:<br>> On 02/05/2012 10:40 PM, Khem Raj wrote:<br>
>><br>>> Prefer 0.9.33 by default<br>
>> Delete recipes for 0.9.32<br>>><br>>> Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> ---<br>>> meta/conf/distro/include/tcmode-default.inc | 2 +-<br>
>> ...rch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch | 29 --<br>>> ...fd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch | 33 --<br>>> .../uclibc-0.9.32/detect-bx-availibility.patch | 75 ----<br>
>> .../uclibc/uclibc-0.9.32/epoll-asm-fix.patch | 25 --<br>>> .../uclibc/uclibc-0.9.32/include-arm-asm.h.patch | 65 ---<br>>> .../uclibc/uclibc-0.9.32/mount.h-update.patch | 85 ----<br>
>> .../uclibc-0.9.32/remove-eabi-oabi-selection.patch | 91 ----<br>>> .../uclibc-0.9.32/remove-sub-arch-variants.patch | 215 ---------<br>>> .../uclibc/uclibc-0.9.32/rtld_no.patch | 215 ---------<br>
>> .../uclibc/uclibc-0.9.32/select-force-thumb.patch | 172 --------<br>>> .../uclibc/uclibc-0.9.32/sync_file_range2.patch | 47 --<br>>> .../uclibc-0.9.32/transform-eabi-oabi-choice.patch | 71 ---<br>
>> .../uclibc-0.9.32/uclibc-arm-ftruncate64.patch | 13 -<br>>> .../uclibc-0.9.32/uclibc_scheduler_update.patch | 455<br>>> --------------------<br>>> ...rr-and-pass-it-to-INTERNAL_SYSCALL_NCS-so.patch | 32 ++<br>
>> ...fstat-Use-64bit-version-of-syscall-if-ava.patch | 177 ++++++++<br>>> .../argp-headers.patch | 2 +<br>>> .../argp-support.patch | 3 +<br>
>> .../compile-arm-fork-with-O2.patch | 2 +-<br>>> .../uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch | 25 ++<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch | 37 ++<br>
>> ...so_use_arm_dl_linux_resolve_in_thumb_mode.patch | 6 +<br>>> .../libc_symbols_include_bits_uclibc_config.patch | 19 +<br>>> .../mips/uClibc.machine | 0<br>>> .../orign_path.patch | 94 ++--<br>
>> .../powerpc_copysignl.patch | 6 +<br>>> .../remove_attribute_optimize_Os.patch | 17 +-<br>>> .../{uclibc-0.9.32 => uclibc-0.9.33}/uClibc.distro | 8 +-<br>
>> .../uClibc.machine | 0<br>>> .../uclibc-execvpe.patch | 3 +<br>>> .../uclibc_enable_log2_test.patch | 5 +<br>>> ...-<a href="http://initial_0.9.32.bb" target="_blank">initial_0.9.32.bb</a> => <a href="http://uclibc-initial_0.9.33.bb" target="_blank">uclibc-initial_0.9.33.bb</a>} | 0<br>
>> .../uclibc/{<a href="http://uclibc_0.9.32.bb" target="_blank">uclibc_0.9.32.bb</a> => <a href="http://uclibc_0.9.33.bb" target="_blank">uclibc_0.9.33.bb</a>} | 26 +-<br>>> 34 files changed, 386 insertions(+), 1669 deletions(-)<br>
>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch<br>
>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch<br>>> delete mode 100644<br>
>> meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch<br>
>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch<br>>> delete mode 100644 meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch<br>>> delete mode 100644<br>
>> meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch<br>
>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch<br>>> delete mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch<br>
>> create mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/0001-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS-so.patch<br>>> create mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/0001-lstat-stat-fstat-Use-64bit-version-of-syscall-if-ava.patch<br>
><br>><br>> Missing Upstream-Status in this patch<br>><br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>><br>> uclibc-0.9.33}/argp-headers.patch (99%)<br>>><br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>
>> uclibc-0.9.33}/argp-support.patch (99%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>>> uclibc-0.9.33}/compile-arm-fork-with-O2.patch (97%)<br>>> create mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch<br>
>> create mode 100644 meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>>> uclibc-0.9.33}/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch (86%)<br>
>> create mode 100644<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch<br>><br>><br>> Also missing Upstream-Status.<br>><br>><br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>
>> uclibc-0.9.33}/mips/uClibc.machine (100%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>>> uclibc-0.9.33}/orign_path.patch (64%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>
>> uclibc-0.9.33}/powerpc_copysignl.patch (96%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>>> uclibc-0.9.33}/remove_attribute_optimize_Os.patch (93%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>
>> uclibc-0.9.33}/uClibc.distro (96%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>>> uclibc-0.9.33}/uClibc.machine (100%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>
>> uclibc-0.9.33}/uclibc-execvpe.patch (99%)<br>>> rename meta/recipes-core/uclibc/{uclibc-0.9.32 =><br>>> uclibc-0.9.33}/uclibc_enable_log2_test.patch (81%)<br>>> rename meta/recipes-core/uclibc/{<a href="http://uclibc-initial_0.9.32.bb" target="_blank">uclibc-initial_0.9.32.bb</a> =><br>
>> <a href="http://uclibc-initial_0.9.33.bb" target="_blank">uclibc-initial_0.9.33.bb</a>} (100%)<br>>> rename meta/recipes-core/uclibc/{<a href="http://uclibc_0.9.32.bb" target="_blank">uclibc_0.9.32.bb</a> => <a href="http://uclibc_0.9.33.bb" target="_blank">uclibc_0.9.33.bb</a>}<br>
>> (45%)<br>>><br>>> diff --git a/meta/conf/distro/include/tcmode-default.inc<br>>> b/meta/conf/distro/include/tcmode-default.inc<br>>> index 5bb253e..b7c2160 100644<br>>> --- a/meta/conf/distro/include/tcmode-default.inc<br>
>> +++ b/meta/conf/distro/include/tcmode-default.inc<br>>> @@ -20,7 +20,7 @@ GCCVERSION ?= "4.6%"<br>>> SDKGCCVERSION ?= "4.6%"<br>>> BINUVERSION ?= "2.22"<br>>> EGLIBCVERSION ?= "2.13"<br>
>> -UCLIBCVERSION ?= "0.9.32"<br>>> +UCLIBCVERSION ?= "0.9.33"<br>>> LINUXLIBCVERSION ?= "3.1"<br>>><br>>> PREFERRED_VERSION_gcc ?= "${GCCVERSION}"<br>
>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch<br>
>> deleted file mode 100644<br>>> index da97d38..0000000<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch<br>>> +++ /dev/null<br>
>> @@ -1,29 +0,0 @@<br>>> -From 06cdcd2a9dd6b46b7fbb5b3ae0a62bdb7ee6c402 Mon Sep 17 00:00:00 2001<br>>> -From: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> -Date: Mon, 27 Jun 2011 17:48:18 -0700<br>
>> -Subject: [PATCH] Config.in.arch: Free UCLIBC_HAS_FPU setting from<br>>> depending on UCLIBC_HAS_FLOATS<br>>> -<br>>> -UCLIBC_HAS_FLOATS and UCLIBC_HAS_FPU are denoting two different aspects.<br>
>> -UCLIBC_HAS_FLOATS covers the floating point operations which has nothing<br>>> -to do if you have FPU or not.<br>>> -<br>>> -Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> ----<br>>> - extra/Configs/Config.in.arch | 1 -<br>>> - 1 files changed, 0 insertions(+), 1 deletions(-)<br>>> -<br>>> -diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch<br>
>> -index 5f7a2b0..c1ca390 100644<br>>> ---- a/extra/Configs/Config.in.arch<br>>> -+++ b/extra/Configs/Config.in.arch<br>>> -@@ -133,7 +133,6 @@ config UCLIBC_HAS_FLOATS<br>>> -<br>>> - config UCLIBC_HAS_FPU<br>
>> - bool "Target CPU has a floating point unit (FPU)"<br>>> -- depends on UCLIBC_HAS_FLOATS<br>>> - default y<br>>> - help<br>>> - If your target CPU does not have a Floating Point Unit (FPU) or<br>
>> a<br>>> ---<br>>> -1.7.0.4<br>>> -<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch<br>
>> deleted file mode 100644<br>>> index 6892ceb..0000000<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch<br>>> +++ /dev/null<br>
>> @@ -1,33 +0,0 @@<br>>> -From ecc7d34cbbaf83aae87b091555650ed33e27ed2e Mon Sep 17 00:00:00 2001<br>>> -From: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> -Date: Thu, 30 Jun 2011 00:32:11 -0700<br>
>> -Subject: [PATCH] mips/signalfd.h: SFD_NONBLOCK for mips is 0200 unlike<br>>> 04000 commonly<br>>> -<br>>> -Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> ----<br>>> - include/sys/signalfd.h | 9 +++++++++<br>>> - 1 files changed, 9 insertions(+), 0 deletions(-)<br>>> -<br>>> -diff --git a/include/sys/signalfd.h b/include/sys/signalfd.h<br>
>> -index 8cee17c..f1cb63a 100644<br>>> ---- a/include/sys/signalfd.h<br>>> -+++ b/include/sys/signalfd.h<br>>> -@@ -64,6 +64,15 @@ enum<br>>> - # define SFD_NONBLOCK SFD_NONBLOCK<br>>> - };<br>
>> -<br>>> -+#elif defined __mips__<br>>> -+enum<br>>> -+ {<br>>> -+ SFD_CLOEXEC = 02000000,<br>>> -+# define SFD_CLOEXEC SFD_CLOEXEC<br>>> -+ SFD_NONBLOCK = 0200<br>>> -+# define SFD_NONBLOCK SFD_NONBLOCK<br>
>> -+ };<br>>> -+<br>>> - #else<br>>> - enum<br>>> - {<br>>> ---<br>>> -1.7.0.4<br>>> -<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch<br>>> deleted file mode 100644<br>>> index 43d19fc..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch<br>
>> +++ /dev/null<br>>> @@ -1,75 +0,0 @@<br>>> -Delivered-To: <a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a><br>>> -Received: by 10.90.86.4 with SMTP id j4cs313307agb;<br>
>> - Sat, 8 Jan 2011 16:45:20 -0800 (PST)<br>
>> -Received: by 10.227.141.78 with SMTP id<br>>> l14mr16920947wbu.128.1294533919168;<br>>> - Sat, 08 Jan 2011 16:45:19 -0800 (PST)<br>>> -Return-Path:<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Received: from <a href="http://smtp.smtpout.orange.fr" target="_blank">smtp.smtpout.orange.fr</a> (<a href="http://smtp01.smtpout.orange.fr" target="_blank">smtp01.smtpout.orange.fr</a><br>>> <a href="tel:%5B80.12.242.123" value="+18012242123" target="_blank">[80.12.242.123</a>])<br>
>> - by <a href="http://mx.google.com" target="_blank">mx.google.com</a> with ESMTP id<br>
>> w30si33755908wbd.17.2011.01.08.16.45.18;<br>>> - Sat, 08 Jan 2011 16:45:19 -0800 (PST)<br>>> -Received-SPF: neutral (<a href="http://google.com" target="_blank">google.com</a>: <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor<br>
>> denied by best guess record for domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>>> client-ip=<a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a>;<br>
>> -Authentication-Results: <a href="http://mx.google.com" target="_blank">mx.google.com</a>; spf=neutral (<a href="http://google.com" target="_blank">google.com</a>:<br>
>> <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor denied by best guess record for<br>>> domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>
>> smtp.mail=<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a><br>
>> -Received: from roazhon.bzh.lan ([90.32.245.227])<br>>> - by mwinf5d24 with ME<br>>> - id tClC1f0024v5z3u03ClHDo; Sun, 09 Jan 2011 01:45:18 +0100<br>>> -From: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -To: <a href="mailto:uclibc@uclibc.org" target="_blank">uclibc@uclibc.org</a><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>,<br>>> - Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>>,<br>
>> - Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>>> -Subject: [PATCH 6/7] ARM: detect BX availibility at build time<br>>> -Date: Sun, 9 Jan 2011 01:45:09 +0100<br>
>><br>>> -Message-Id:<<a href="mailto:1294533910-19305-7-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-7-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>> -X-Mailer: git-send-email 1.7.1<br>
>><br>>> -In-Reply-To:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>><br>
>> -References:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>
>> -<br>>> -The "use BX" option is now a suggestion that BX be used if available.<br>>> -Use a macro to detect if BX is available at build time. If so, and<br>>> -the user requested it be used, then use it. Otherwise, error out.<br>
>> -<br>>> -Macro courtesy Khem RAJ:<br>>> - <a href="http://lists.uclibc.org/pipermail/uclibc/2009-April/042301.html" target="_blank">http://lists.uclibc.org/pipermail/uclibc/2009-April/042301.html</a><br>
>> -<br>
>> -Signed-off-by: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> -Cc: Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>><br>>> -Cc: Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>
>> ----<br>>> - extra/Configs/Config.arm | 4 +++-<br>>> - libc/sysdeps/linux/arm/bits/arm_asm.h | 9 ++++++++-<br>>> - 2 files changed, 11 insertions(+), 2 deletions(-)<br>>> -<br>
>> -diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm<br>>> -index 227b90c..9aa9e56 100644<br>>> ---- a/extra/Configs/Config.arm<br>>> -+++ b/extra/Configs/Config.arm<br>>> -@@ -33,4 +33,6 @@ config COMPILE_IN_THUMB_MODE<br>
>> - config USE_BX<br>>> - bool "Use BX in function return"<br>>> - help<br>>> -- Use BX instruction for THUMB aware architectures.<br>>> -+ Say 'y' to use BX to return from functions on your thumb-aware<br>
>> -+ processor. Say 'y' if you need to use interworking. Say 'n' if<br>>> not.<br>>> -+ It is safe to say 'y' even if you're not doing interworking.<br>>> -diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h<br>
>> b/libc/sysdeps/linux/arm/bits/arm_asm.h<br>>> -index 1d87df6..921c9a3 100644<br>>> ---- a/libc/sysdeps/linux/arm/bits/arm_asm.h<br>>> -+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h<br>>> -@@ -24,5 +24,12 @@<br>
>> - #define THUMB1_ONLY 1<br>>> - #endif<br>>> -<br>>> --#endif /* _ARM_ASM_H */<br>>> -+#if defined(__USE_BX__)<br>>> -+# if ( defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \<br>
>> -+ || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \<br>>> -+ )<br>>> -+# error Use of BX was requested, but is not available on the target<br>>> processor.<br>>> -+# endif /* ARCH level */<br>
>> -+#endif /* __USE_BX__ */<br>>> -<br>>> -+#endif /* _ARM_ASM_H */<br>>> ---<br>>> -1.7.1<br>>> -<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch<br>>> deleted file mode 100644<br>>> index bcd834d..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch<br>
>> +++ /dev/null<br>>> @@ -1,25 +0,0 @@<br>>> -Fix a compile error due to last argument to syscall() not being memory<br>>> addressable.<br>>> -<br>>> -Upstream-Status: Pending<br>>> -Signed-off-by: Phil Blundell<<a href="mailto:philb@gnu.org" target="_blank">philb@gnu.org</a>><br>
>> -<br>>> -diff --git a/libc/sysdeps/linux/common/epoll.c<br>>> b/libc/sysdeps/linux/common/epoll.c<br>>> -index 85b0cfd..c034b2c 100644<br>>> ---- a/libc/sysdeps/linux/common/epoll.c<br>>> -+++ b/libc/sysdeps/linux/common/epoll.c<br>
>> -@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait;<br>>> - int __libc_epoll_pwait(int epfd, struct epoll_event *events, int<br>>> maxevents,<br>>> - int timeout, const<br>
>> sigset_t *set)<br>>> - {<br>>> -+ int nsig = _NSIG / 8;<br>>> - if (SINGLE_THREAD_P)<br>>> -- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events,<br>>> maxevents, timeout, set, _NSIG / 8);<br>
>> -+ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events,<br>>> maxevents, timeout, set, nsig);<br>>> - # ifdef __UCLIBC_HAS_THREADS_NATIVE__<br>>> - else {<br>>> - int oldtype = LIBC_CANCEL_ASYNC ();<br>
>> -- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events,<br>>> maxevents, timeout, set, _NSIG / 8);<br>>> -+ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events,<br>
>> maxevents, timeout, set, nsig);<br>>> - LIBC_CANCEL_RESET (oldtype);<br>>> - return result;<br>>> - }<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch<br>>> deleted file mode 100644<br>>> index 55c312e..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch<br>
>> +++ /dev/null<br>>> @@ -1,65 +0,0 @@<br>>> -Delivered-To: <a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a><br>>> -Received: by 10.90.86.4 with SMTP id j4cs313304agb;<br>
>> - Sat, 8 Jan 2011 16:45:19 -0800 (PST)<br>
>> -Received: by 10.227.155.75 with SMTP id r11mr17188266wbw.3.1294533918432;<br>>> - Sat, 08 Jan 2011 16:45:18 -0800 (PST)<br>>> -Return-Path:<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Received: from <a href="http://smtp.smtpout.orange.fr" target="_blank">smtp.smtpout.orange.fr</a> (<a href="http://smtp01.smtpout.orange.fr" target="_blank">smtp01.smtpout.orange.fr</a><br>>> <a href="tel:%5B80.12.242.123" value="+18012242123" target="_blank">[80.12.242.123</a>])<br>
>> - by <a href="http://mx.google.com" target="_blank">mx.google.com</a> with ESMTP id<br>
>> k3si33753340wbx.29.2011.01.08.16.45.17;<br>>> - Sat, 08 Jan 2011 16:45:18 -0800 (PST)<br>>> -Received-SPF: neutral (<a href="http://google.com" target="_blank">google.com</a>: <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor<br>
>> denied by best guess record for domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>>> client-ip=<a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a>;<br>
>> -Authentication-Results: <a href="http://mx.google.com" target="_blank">mx.google.com</a>; spf=neutral (<a href="http://google.com" target="_blank">google.com</a>:<br>
>> <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor denied by best guess record for<br>>> domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>
>> smtp.mail=<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a><br>
>> -Received: from roazhon.bzh.lan ([90.32.245.227])<br>>> - by mwinf5d24 with ME<br>>> - id tClC1f0024v5z3u03ClHDf; Sun, 09 Jan 2011 01:45:17 +0100<br>>> -From: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -To: <a href="mailto:uclibc@uclibc.org" target="_blank">uclibc@uclibc.org</a><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>,<br>>> - Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>>,<br>
>> - Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>>> -Subject: [PATCH 5/7] ARM: #include<bits/arm_asm.h> where __USE_BX__ is<br>>> used<br>
>> -Date: Sun, 9 Jan 2011 01:45:08 +0100<br>
>><br>>> -Message-Id:<<a href="mailto:1294533910-19305-6-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-6-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>> -X-Mailer: git-send-email 1.7.1<br>
>><br>>> -In-Reply-To:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>><br>
>> -References:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>
>> -<br>>> -The check for __USE_BX__ will be available in bits/arm_asm.h,<br>>> -so the latter must be included wherever the former is used.<br>>> -<br>>> -Signed-off-by: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -Cc: Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>><br>
>> -Cc: Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>
>> ----<br>>> - ldso/ldso/arm/dl-startup.h | 1 +<br>>> - libc/sysdeps/linux/arm/sysdep.h | 1 +<br>>> - 2 files changed, 2 insertions(+), 0 deletions(-)<br>>> -<br>>> -diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h<br>
>> -index a95389d..2dfdaff 100644<br>>> ---- a/ldso/ldso/arm/dl-startup.h<br>>> -+++ b/ldso/ldso/arm/dl-startup.h<br>>> -@@ -7,6 +7,7 @@<br>>> - */<br>>> -<br>>> - #include<features.h><br>
>> -+#include<bits/arm_asm.h><br>>> -<br>>> - #if !defined(__thumb__)<br>>> - __asm__(<br>>> -diff --git a/libc/sysdeps/linux/arm/sysdep.h<br>>> b/libc/sysdeps/linux/arm/sysdep.h<br>
>> -index 013f88c..e498695 100644<br>>> ---- a/libc/sysdeps/linux/arm/sysdep.h<br>>> -+++ b/libc/sysdeps/linux/arm/sysdep.h<br>>> -@@ -21,6 +21,7 @@<br>>> - #define _LINUX_ARM_SYSDEP_H 1<br>
>> -<br>
>> - #include<common/sysdep.h><br>>> -+#include<bits/arm_asm.h><br>>> -<br>>> - #include<sys/syscall.h><br>>> - /* For Linux we can use the system call table in the header file<br>
>> ---<br>>> -1.7.1<br>>> -<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch<br>>> deleted file mode 100644<br>
>> index 3508e0e..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch<br>>> +++ /dev/null<br>>> @@ -1,85 +0,0 @@<br>>> -Sync mount.h from glibc this is needed to get missing defines<br>
>> -that some apps e.g. systemd are depending on<br>>> -<br>>> -Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -<br>>> -Upstream-Status: Pending<br>
>> -<br>>> -Index: git/include/sys/mount.h<br>>> -===================================================================<br>>> ---- git.orig/include/sys/mount.h 2011-07-21 14:37:27.134255747<br>
>> -0700<br>>> -+++ git/include/sys/mount.h 2011-07-21 14:39:53.844470932 -0700<br>>> -@@ -1,5 +1,5 @@<br>>> - /* Header file for mounting/unmount Linux filesystems.<br>>> -- Copyright (C) 1996,1997,1998,1999,2000,2004 Free Software Foundation,<br>
>> Inc.<br>>> -+ Copyright (C) 1996-2000, 2004, 2010 Free Software Foundation, Inc.<br>>> - This file is part of the GNU C Library.<br>>> -<br>>> - The GNU C Library is free software; you can redistribute it and/or<br>
>> -@@ -47,23 +47,46 @@<br>>> - #define MS_REMOUNT MS_REMOUNT<br>>> - MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */<br>>> - #define MS_MANDLOCK MS_MANDLOCK<br>>> -- S_WRITE = 128, /* Write on file/directory/symlink. */<br>
>> --#define S_WRITE S_WRITE<br>>> -- S_APPEND = 256, /* Append-only file. */<br>>> --#define S_APPEND S_APPEND<br>>> -- S_IMMUTABLE = 512, /* Immutable file. */<br>
>> --#define S_IMMUTABLE S_IMMUTABLE<br>>> -+ MS_DIRSYNC = 128, /* Directory modifications are<br>>> synchronous. */<br>>> -+#define MS_DIRSYNC MS_DIRSYNC<br>>> - MS_NOATIME = 1024, /* Do not update access times. */<br>
>> - #define MS_NOATIME MS_NOATIME<br>>> - MS_NODIRATIME = 2048, /* Do not update directory access<br>>> times. */<br>>> - #define MS_NODIRATIME MS_NODIRATIME<br>>> - MS_BIND = 4096, /* Bind directory at different place. */<br>
>> - #define MS_BIND MS_BIND<br>>> -+ MS_MOVE = 8192,<br>>> -+#define MS_MOVE MS_MOVE<br>>> -+ MS_REC = 16384,<br>>> -+#define MS_REC MS_REC<br>>> -+ MS_SILENT = 32768,<br>
>> -+#define MS_SILENT MS_SILENT<br>>> -+ MS_POSIXACL = 1<< 16, /* VFS does not apply the umask. */<br>>> -+#define MS_POSIXACL MS_POSIXACL<br>>> -+ MS_UNBINDABLE = 1<< 17, /* Change to unbindable. */<br>
>> -+#define MS_UNBINDABLE MS_UNBINDABLE<br>>> -+ MS_PRIVATE = 1<< 18, /* Change to private. */<br>>> -+#define MS_PRIVATE MS_PRIVATE<br>>> -+ MS_SLAVE = 1<< 19, /* Change to slave. */<br>
>> -+#define MS_SLAVE MS_SLAVE<br>>> -+ MS_SHARED = 1<< 20, /* Change to shared. */<br>>> -+#define MS_SHARED MS_SHARED<br>>> -+ MS_RELATIME = 1<< 21, /* Update atime relative to mtime/ctime.<br>
>> */<br>>> -+#define MS_RELATIME MS_RELATIME<br>>> -+ MS_KERNMOUNT = 1<< 22, /* This is a kern_mount call. */<br>>> -+#define MS_KERNMOUNT MS_KERNMOUNT<br>>> -+ MS_I_VERSION = 1<< 23, /* Update inode I_version field. */<br>
>> -+#define MS_I_VERSION MS_I_VERSION<br>>> -+ MS_STRICTATIME = 1<< 24, /* Always perform atime updates. */<br>>> -+#define MS_STRICTATIME MS_STRICTATIME<br>>> -+ MS_ACTIVE = 1<< 30,<br>
>> -+#define MS_ACTIVE MS_ACTIVE<br>>> -+ MS_NOUSER = 1<< 31<br>>> -+#define MS_NOUSER MS_NOUSER<br>>> - };<br>>> -<br>>> - /* Flags that can be altered by MS_REMOUNT */<br>
>> --#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_NOATIME \<br>>> -- |MS_NODIRATIME)<br>>> -+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION)<br>
>> -<br>
>> -<br>>> - /* Magic mount flag number. Has to be or-ed to the flag values. */<br>>> -@@ -100,8 +123,10 @@<br>>> - #define MNT_FORCE MNT_FORCE<br>>> - MNT_DETACH = 2, /* Just detach from the tree. */<br>
>> - #define MNT_DETACH MNT_DETACH<br>>> -- MNT_EXPIRE = 4 /* Mark for expiry. */<br>>> -+ MNT_EXPIRE = 4, /* Mark for expiry. */<br>>> - #define MNT_EXPIRE MNT_EXPIRE<br>
>> -+ UMOUNT_NOFOLLOW = 8 /* Don't follow symlink on umount. */<br>>> -+#define UMOUNT_NOFOLLOW UMOUNT_NOFOLLOW<br>>> - };<br>>> -<br>>> -<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch<br>>> deleted file mode 100644<br>>> index 8f3464e..0000000<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch<br>
>> +++ /dev/null<br>>> @@ -1,91 +0,0 @@<br>>> -Delivered-To: <a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a><br>>> -Received: by 10.90.86.4 with SMTP id j4cs313309agb;<br>
>> - Sat, 8 Jan 2011 16:45:20 -0800 (PST)<br>
>> -Received: by 10.216.173.7 with SMTP id u7mr612034wel.50.1294533919433;<br>>> - Sat, 08 Jan 2011 16:45:19 -0800 (PST)<br>>> -Return-Path:<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Received: from <a href="http://smtp.smtpout.orange.fr" target="_blank">smtp.smtpout.orange.fr</a> (<a href="http://smtp01.smtpout.orange.fr" target="_blank">smtp01.smtpout.orange.fr</a><br>>> <a href="tel:%5B80.12.242.123" value="+18012242123" target="_blank">[80.12.242.123</a>])<br>
>> - by <a href="http://mx.google.com" target="_blank">mx.google.com</a> with ESMTP id<br>
>> e10si33752027wer.68.2011.01.08.16.45.19;<br>>> - Sat, 08 Jan 2011 16:45:19 -0800 (PST)<br>>> -Received-SPF: neutral (<a href="http://google.com" target="_blank">google.com</a>: <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor<br>
>> denied by best guess record for domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>>> client-ip=<a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a>;<br>
>> -Authentication-Results: <a href="http://mx.google.com" target="_blank">mx.google.com</a>; spf=neutral (<a href="http://google.com" target="_blank">google.com</a>:<br>
>> <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor denied by best guess record for<br>>> domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>
>> smtp.mail=<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a><br>
>> -Received: from roazhon.bzh.lan ([90.32.245.227])<br>>> - by mwinf5d24 with ME<br>>> - id tClC1f0024v5z3u03ClJDu; Sun, 09 Jan 2011 01:45:18 +0100<br>>> -From: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -To: <a href="mailto:uclibc@uclibc.org" target="_blank">uclibc@uclibc.org</a><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>,<br>>> - Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>>,<br>
>> - Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>>> -Subject: [PATCH 7/7] ARM: remove EABI/OABI selection<br>>> -Date: Sun, 9 Jan 2011 01:45:10 +0100<br>
>><br>>> -Message-Id:<<a href="mailto:1294533910-19305-8-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-8-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>> -X-Mailer: git-send-email 1.7.1<br>
>><br>>> -In-Reply-To:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>><br>
>> -References:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>
>> -<br>>> -Rely on the compiler to be properly setup for the default ABI.<br>>> -<br>>> -When installing-headers, there are two cases:<br>>> -- NPTL: no issue, a cross-compiler is already expected<br>
>> -- LinuxThreads: no issue, EABI/OABI has no impact on installed headers.<br>>> -<br>>> -Signed-off-by: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -Cc: Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>><br>
>> -Cc: Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>
>> ----<br>>> - extra/Configs/Config.arm | 11 -----------<br>>> - libc/sysdeps/linux/arm/Makefile.arch | 9 +++++++--<br>>> - libc/sysdeps/linux/arm/bits/huge_val.h | 4 ++--<br>
>> - 3 files changed, 9 insertions(+), 15 deletions(-)<br>>> -<br>>> -Index: git/libc/sysdeps/linux/arm/Makefile.arch<br>>> -===================================================================<br>
>> ---- git.orig/libc/sysdeps/linux/arm/Makefile.arch<br>
>> -+++ git/libc/sysdeps/linux/arm/Makefile.arch<br>>> -@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)<br>>> - CSRC += posix_fadvise.c posix_fadvise64.c<br>>> - endif<br>>> -<br>
>> --ifeq ($(CONFIG_ARM_EABI),y)<br>>> -+# Is our compiler set up for EABI ?<br>>> -+IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM</dev/null 2>/dev/null \<br>>> -+ |sed -r -e<br>
>> '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d;<br>>> s/.+/y/;' \<br>>> -+ )<br>>> -+<br>>> -+ifeq ($(IS_EABI),y)<br>>> - CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \<br>
>> - aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \<br>>> - aeabi_memmove.c aeabi_memset.c find_exidx.c<br>>> -@@ -37,7 +42,7 @@ else<br>>> - CSRC += syscall.c<br>>> - endif<br>
>> -<br>>> --ifeq ($(CONFIG_ARM_EABI),y)<br>>> -+ifeq ($(IS_EABI),y)<br>>> - libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \<br>>> - $(ARCH_OUT)/aeabi_sighandlers.o<br>
>> - libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os<br>>> \<br>>> -Index: git/libc/sysdeps/linux/arm/bits/huge_val.h<br>>> -===================================================================<br>
>> ---- git.orig/libc/sysdeps/linux/arm/bits/huge_val.h<br>>> -+++ git/libc/sysdeps/linux/arm/bits/huge_val.h<br>>> -@@ -32,7 +32,7 @@<br>>> - # define HUGE_VAL (__extension__ 0x1.0p2047)<br>>> - #elif defined __GNUC__<br>
>> -<br>>> --#ifndef __CONFIG_ARM_EABI__<br>>> -+#ifndef __ARM_EABI__<br>>> - # define HUGE_VAL \<br>>> - (__extension__ <br>>> \<br>
>> - ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d;<br>>> }) \<br>>> -@@ -50,7 +50,7 @@<br>>> -<br>>> - typedef union { unsigned char __c[8]; double __d; } __huge_val_t;<br>
>> -<br>>> --#ifndef __CONFIG_ARM_EABI__<br>>> -+#ifndef __ARM_EABI__<br>>> - # if __BYTE_ORDER == __BIG_ENDIAN<br>>> - # define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }<br>>> - # endif<br>
>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch<br>>> deleted file mode 100644<br>
>> index 920a669..0000000<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch<br>>> +++ /dev/null<br>>> @@ -1,215 +0,0 @@<br>>> -Delivered-To: <a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a><br>
>> -Received: by 10.90.86.4 with SMTP id j4cs313303agb;<br>>> - Sat, 8 Jan 2011 16:45:18 -0800 (PST)<br>>> -Received: by 10.227.98.158 with SMTP id<br>>> q30mr1255804wbn.151.1294533917314;<br>
>> - Sat, 08 Jan 2011 16:45:17 -0800 (PST)<br>>> -Return-Path:<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>>> -Received: from <a href="http://smtp.smtpout.orange.fr" target="_blank">smtp.smtpout.orange.fr</a> (<a href="http://smtp01.smtpout.orange.fr" target="_blank">smtp01.smtpout.orange.fr</a><br>
>> <a href="tel:%5B80.12.242.123" value="+18012242123" target="_blank">[80.12.242.123</a>])<br>>> - by <a href="http://mx.google.com" target="_blank">mx.google.com</a> with ESMTP id<br>>> r3si33749838wbr.54.2011.01.08.16.45.16;<br>
>> - Sat, 08 Jan 2011 16:45:17 -0800 (PST)<br>
>> -Received-SPF: neutral (<a href="http://google.com" target="_blank">google.com</a>: <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor<br>>> denied by best guess record for domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>
>> client-ip=<a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a>;<br>>> -Authentication-Results: <a href="http://mx.google.com" target="_blank">mx.google.com</a>; spf=neutral (<a href="http://google.com" target="_blank">google.com</a>:<br>
>> <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor denied by best guess record for<br>
>> domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>>> smtp.mail=<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a><br>
>> -Received: from roazhon.bzh.lan ([90.32.245.227])<br>
>> - by mwinf5d24 with ME<br>>> - id tClC1f0024v5z3u03ClGDS; Sun, 09 Jan 2011 01:45:16 +0100<br>>> -From: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -To: <a href="mailto:uclibc@uclibc.org" target="_blank">uclibc@uclibc.org</a><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>,<br>>> - Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>>,<br>
>> - Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>>> -Subject: [PATCH 3/7] ARM: remove sub-arch/variants selection from<br>>> menuconfig<br>
>> -Date: Sun, 9 Jan 2011 01:45:06 +0100<br>
>><br>>> -Message-Id:<<a href="mailto:1294533910-19305-4-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-4-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>> -X-Mailer: git-send-email 1.7.1<br>
>><br>>> -In-Reply-To:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>><br>
>> -References:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>
>> -<br>>> -Rely on the compiler to be correctly set up to generate<br>>> -appropriate code for the target variant.<br>>> -<br>>> -This exposes the Thumb option, as it is no longer auto-selected.<br>
>> -The "Use BX" no longer depends on supported CPU to be selected,<br>>> -so it now defaults to 'n' as it shall work by default on CPUs<br>>> -that do not have BX.<br>>> -<br>>> -Signed-off-by: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -Cc: Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>><br>
>> -Cc: Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>
>> ----<br>>> - Rules.mak | 19 -------<br>>> - extra/Configs/Config.arm | 125<br>>> ++--------------------------------------------<br>>> - 2 files changed, 5 insertions(+), 139 deletions(-)<br>
>> -<br>>> -diff --git a/Rules.mak b/Rules.mak<br>>> -index 2a16908..09741a6 100644<br>>> ---- a/Rules.mak<br>>> -+++ b/Rules.mak<br>>> -@@ -332,25 +332,6 @@ ifeq ($(TARGET_ARCH),arm)<br>
>> - OPTIMIZATION+=-fstrict-aliasing<br>>> - CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN)+=-mlittle-endian<br>>> - CPU_CFLAGS-$(ARCH_BIG_ENDIAN)+=-mbig-endian<br>>> -- CPU_CFLAGS-$(CONFIG_GENERIC_ARM)+=<br>
>> -- CPU_CFLAGS-$(CONFIG_ARM610)+=-mtune=arm610 -march=armv3<br>>> -- CPU_CFLAGS-$(CONFIG_ARM710)+=-mtune=arm710 -march=armv3<br>>> -- CPU_CFLAGS-$(CONFIG_ARM7TDMI)+=-mtune=arm7tdmi -march=armv4t<br>
>> -- CPU_CFLAGS-$(CONFIG_ARM720T)+=-mtune=arm7tdmi -march=armv4t<br>>> -- CPU_CFLAGS-$(CONFIG_ARM920T)+=-mtune=arm9tdmi -march=armv4t<br>>> -- CPU_CFLAGS-$(CONFIG_ARM922T)+=-mtune=arm9tdmi -march=armv4t<br>
>> -- CPU_CFLAGS-$(CONFIG_ARM926T)+=-mtune=arm9e -march=armv5te<br>>> -- CPU_CFLAGS-$(CONFIG_ARM10T)+=-mtune=arm10tdmi -march=armv5t<br>>> -- CPU_CFLAGS-$(CONFIG_ARM1136JF_S)+=-mtune=arm1136jf-s -march=armv6<br>
>> -- CPU_CFLAGS-$(CONFIG_ARM1176JZ_S)+=-mtune=arm1176jz-s -march=armv6<br>>> -- CPU_CFLAGS-$(CONFIG_ARM1176JZF_S)+=-mtune=arm1176jzf-s<br>>> -march=armv6<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_SA110)+=-mtune=strongarm110 -march=armv4<br>
>> -- CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call<br>>> check_gcc,-mtune=xscale,-mtune=strongarm110)<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale<br>
>> -- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt<br>>> -mabi=iwmmxt<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1<br>
>> - CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb<br>>> - endif<br>>> -<br>>> -diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm<br>>> -index c9c40d4..6c75a00 100644<br>
>> ---- a/extra/Configs/Config.arm<br>
>> -+++ b/extra/Configs/Config.arm<br>>> -@@ -30,129 +30,14 @@ config CONFIG_ARM_EABI<br>>> -<br>>> - endchoice<br>>> -<br>>> --choice<br>>> -- prompt "Target Processor Type"<br>
>> -- default CONFIG_GENERIC_ARM<br>>> -- help<br>>> -- This is the processor type of your CPU. This information is used<br>>> for<br>>> -- optimizing purposes. To build a library that will run on all<br>
>> ARMCPU<br>>> -- types (albeit not optimally fast), you can specify "Generic Arm"<br>>> here.<br>>> -- If you pick anything other than "Generic Arm", there is no<br>
>> guarantee<br>>> -- that uClibc will even run on anything other than the selected<br>>> -- processor type.<br>>> --<br>>> -- Here are the settings recommended for greatest speed:<br>
>> -- - "Generic Arm" select this if your compiler is already setup to<br>>> -- optimize things properly, or if you want to run on pretty much<br>>> -- everything, or you just don't much care.<br>
>> -- - For anything else, pick the ARM core type that best matches<br>>> the<br>>> -- cpu you will be using on your device.<br>>> --<br>>> -- If you don't know what to do, choose "Generic Arm".<br>
>> --<br>>> --config CONFIG_GENERIC_ARM<br>>> -- bool "Generic Arm"<br>>> --<br>>> --config CONFIG_ARM610<br>>> -- bool "Arm 610"<br>>> -- select ARCH_HAS_MMU<br>
>> --<br>>> --config CONFIG_ARM710<br>>> -- bool "Arm 710"<br>>> -- select ARCH_HAS_MMU<br>>> --<br>>> --config CONFIG_ARM7TDMI<br>>> -- bool "Arm 7TDMI"<br>
>> -- select ARCH_HAS_NO_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM720T<br>>> -- bool "Arm 720T"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>
>> --<br>>> --config CONFIG_ARM920T<br>>> -- bool "Arm 920T"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM922T<br>
>> -- bool "Arm 922T"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM926T<br>>> -- bool "Arm 926T"<br>
>> -- select ARCH_HAS_MMU<br>
>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM10T<br>>> -- bool "Arm 10T"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>
>> --config CONFIG_ARM1136JF_S<br>>> -- bool "Arm 1136JF-S"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM1176JZ_S<br>
>> -- bool "Arm 1176JZ-S"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM1176JZF_S<br>>> -- bool "Arm 1176JZF-S"<br>
>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM_CORTEX_M3<br>>> -- bool "Arm Cortex-M3"<br>>> -- select ARCH_HAS_NO_MMU<br>
>> -- select FORCE_THUMB<br>>> --<br>>> --config CONFIG_ARM_CORTEX_M1<br>>> -- bool "Arm Cortex-M1"<br>>> -- select ARCH_HAS_NO_MMU<br>>> -- select FORCE_THUMB<br>
>> --<br>>> --config CONFIG_ARM_SA110<br>>> -- bool "Intel StrongArm SA-110"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM_SA1100<br>
>> -- bool "Intel StrongArm SA-1100"<br>>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM_XSCALE<br>>> -- bool "Intel Xscale"<br>
>> -- select ARCH_HAS_MMU<br>>> -- select HAS_THUMB<br>>> --<br>>> --config CONFIG_ARM_IWMMXT<br>>> -- bool "Intel Xscale With WMMX PXA27x"<br>>> -- select ARCH_HAS_MMU<br>
>> -- select HAS_THUMB<br>>> --<br>>> --endchoice<br>>> --<br>>> --config HAS_THUMB<br>>> -- bool<br>>> --<br>>> --config FORCE_THUMB<br>>> -- bool<br>
>> -- select HAS_THUMB<br>
>> -- select COMPILE_IN_THUMB_MODE<br>>> -- select USE_BX<br>>> --<br>>> - config COMPILE_IN_THUMB_MODE<br>>> -- bool<br>>> -+ bool "Build using Thumb mode"<br>
>> -+ select USE_BX<br>>> -+ help<br>>> -+ Say 'y' here to force building uClibc in thumb mode.<br>>> -+ Say 'n' to use your compiler's default mode.<br>
>> -<br>>> - config USE_BX<br>>> - bool "Use BX in function return"<br>>> -- default y<br>>> -- depends on HAS_THUMB<br>>> - help<br>>> - Use BX instruction for THUMB aware architectures.<br>
>> ---<br>>> -1.7.1<br>>> -<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch<br>>> deleted file mode 100644<br>
>> index 30cb7f6..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch<br>>> +++ /dev/null<br>>> @@ -1,215 +0,0 @@<br>>> -Patch is backported from<br>>> -<a href="http://lists.busybox.net/pipermail/uclibc/2011-March/045004.html" target="_blank">http://lists.busybox.net/pipermail/uclibc/2011-March/045004.html</a><br>
>> -<br>>> -Upstream-Status: Pending<br>>> -<br>>> -diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h<br>>> -index 7fbb373..7102351 100644<br>>> ---- a/ldso/include/dl-elf.h<br>
>> -+++ b/ldso/include/dl-elf.h<br>>> -@@ -25,16 +25,18 @@ static __inline__ void _dl_map_cache(void) { }<br>>> - static __inline__ void _dl_unmap_cache(void) { }<br>>> - #endif<br>>> -<br>>> -+#define DL_RESOLVE_SECURE 0x0001<br>
>> -+#define DL_RESOLVE_NOLOAD 0x0002<br>>> -<br>>> - /* Function prototypes for non-static stuff in readelflib1.c */<br>>> - extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,<br>
>> - unsigned long rel_addr, unsigned long rel_size);<br>>> - extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,<br>>> - unsigned long rel_addr, unsigned long rel_size);<br>>> --extern struct elf_resolve * _dl_load_shared_library(int secure,<br>
>> -+extern struct elf_resolve * _dl_load_shared_library(int resolve_flags,<br>>> - struct dyn_elf **rpnt, struct elf_resolve *tpnt, char<br>>> *full_libname,<br>>> - int trace_loaded_objects);<br>
>> --extern struct elf_resolve * _dl_load_elf_shared_library(int secure,<br>>> -+extern struct elf_resolve * _dl_load_elf_shared_library(int<br>>> resolve_flags,<br>>> - struct dyn_elf **rpnt, char *libname);<br>
>> - extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const<br>>> char *full_libname,<br>>> - int trace_loaded_objects);<br>>> -diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c<br>
>> -index 2b2d429..6d35bf2 100644<br>>> ---- a/ldso/ldso/dl-elf.c<br>>> -+++ b/ldso/ldso/dl-elf.c<br>>> -@@ -132,7 +132,7 @@ _dl_protect_relro (struct elf_resolve *l)<br>>> - /* This function's behavior must exactly match that<br>
>> - * in uClibc/ldso/util/ldd.c */<br>>> - static struct elf_resolve *<br>>> --search_for_named_library(const char *name, int secure, const char<br>>> *path_list,<br>>> -+search_for_named_library(const char *name, int resolve_flags, const char<br>
>> *path_list,<br>>> - struct dyn_elf **rpnt, const char *origin)<br>>> - {<br>>> - char *mylibname;<br>>> -@@ -162,7 +162,7 @@ search_for_named_library(const char *name, int<br>
>> secure, const char *path_list,<br>
>> -<br>>> - if (plen>= 7&& _dl_memcmp(p, "$ORIGIN", 7) == 0) {<br>>> - int olen;<br>>> -- if (secure&& plen != 7)<br>
>> -+ if ((resolve_flags& DL_RESOLVE_SECURE)&& plen !=<br>>> 7)<br>>> - continue;<br>>> - if (origin == NULL)<br>
>> - continue;<br>>> -@@ -182,7 +182,7 @@ search_for_named_library(const char *name, int<br>>> secure, const char *path_list,<br>>> - _dl_strcat(mylibname, "/");<br>
>> - _dl_strcat(mylibname, name);<br>>> -<br>>> -- tpnt = _dl_load_elf_shared_library(secure, rpnt,<br>>> mylibname);<br>>> -+ tpnt = _dl_load_elf_shared_library(resolve_flags, rpnt,<br>
>> mylibname);<br>>> - if (tpnt != NULL)<br>>> - return tpnt;<br>>> - }<br>>> -@@ -194,7 +194,7 @@ search_for_named_library(const char *name, int<br>
>> secure, const char *path_list,<br>>> - unsigned long _dl_error_number;<br>>> - unsigned long _dl_internal_error_number;<br>>> -<br>>> --struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf<br>
>> **rpnt,<br>>> -+struct elf_resolve *_dl_load_shared_library(int resolve_flags, struct<br>>> dyn_elf **rpnt,<br>>> - struct elf_resolve *tpnt, char *full_libname, int attribute_unused<br>>> trace_loaded_objects)<br>
>> - {<br>>> - char *pnt;<br>>> -@@ -223,7 +223,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>>> -<br>>> - if (libname != full_libname) {<br>
>> - _dl_if_debug_dprint("\ttrying file='%s'\n", full_libname);<br>>> -- tpnt1 = _dl_load_elf_shared_library(secure, rpnt,<br>>> full_libname);<br>>> -+ tpnt1 = _dl_load_elf_shared_library(resolve_flags, rpnt,<br>
>> full_libname);<br>>> - if (tpnt1) {<br>>> - return tpnt1;<br>>> - }<br>>> -@@ -238,7 +238,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>
>> secure, struct dyn_elf **rpnt,<br>>> - if (pnt) {<br>>> - pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];<br>>> - _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);<br>
>> -- if ((tpnt1 = search_for_named_library(libname, secure,<br>>> pnt, rpnt,<br>>> -+ if ((tpnt1 = search_for_named_library(libname,<br>>> resolve_flags, pnt, rpnt,<br>>> - tpnt->libname)) !=<br>
>> NULL)<br>>> - return tpnt1;<br>>> - }<br>>> -@@ -247,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>>> - /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */<br>
>> - if (_dl_library_path) {<br>>> - _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n",<br>>> _dl_library_path);<br>>> -- if ((tpnt1 = search_for_named_library(libname, secure,<br>
>> _dl_library_path, rpnt, NULL)) != NULL)<br>>> -+ if ((tpnt1 = search_for_named_library(libname,<br>>> resolve_flags, _dl_library_path, rpnt, NULL)) != NULL)<br>>> - {<br>
>> - return tpnt1;<br>>> - }<br>>> -@@ -261,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>>> - if (pnt) {<br>
>> - pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];<br>>> - _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);<br>>> -- if ((tpnt1 = search_for_named_library(libname, secure,<br>
>> pnt, rpnt, NULL)) != NULL)<br>>> -+ if ((tpnt1 = search_for_named_library(libname,<br>>> resolve_flags, pnt, rpnt, NULL)) != NULL)<br>>> - return tpnt1;<br>>> - }<br>
>> - #endif<br>>> -@@ -284,7 +284,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>>> - || libent[i].flags == LIB_ELF_LIBC0<br>
>> - || libent[i].flags == LIB_ELF_LIBC5)<br>>> - && _dl_strcmp(libname, strs + libent[i].sooffset)<br>>> == 0<br>>> -- && (tpnt1 = _dl_load_elf_shared_library(secure,<br>
>> rpnt, strs + libent[i].liboffset))<br>>> -+ && (tpnt1 =<br>>> _dl_load_elf_shared_library(resolve_flags, rpnt, strs +<br>>> libent[i].liboffset))<br>>> - ) {<br>
>> - return tpnt1;<br>>> - }<br>>> -@@ -295,14 +295,14 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>
>> - /* Look for libraries wherever the shared library loader<br>>> - * was installed */<br>>> - _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);<br>
>> -- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath,<br>>> rpnt, NULL);<br>>> -+ tpnt1 = search_for_named_library(libname, resolve_flags,<br>>> _dl_ldsopath, rpnt, NULL);<br>
>> - if (tpnt1 != NULL)<br>>> - return tpnt1;<br>>> -<br>>> - /* Lastly, search the standard list of paths for the library.<br>>> - This list must exactly match the list in uClibc/ldso/util/ldd.c<br>
>> */<br>>> - _dl_if_debug_dprint("\tsearching full lib path list\n");<br>>> -- tpnt1 = search_for_named_library(libname, secure,<br>>> -+ tpnt1 = search_for_named_library(libname, resolve_flags,<br>
>> - UCLIBC_RUNTIME_PREFIX "lib:"<br>>> - UCLIBC_RUNTIME_PREFIX "usr/lib"<br>>> - #ifndef __LDSO_CACHE_SUPPORT__<br>
>> -@@ -329,7 +329,7 @@ goof:<br>>> - * are required.<br>>> - */<br>>> -<br>>> --struct elf_resolve *_dl_load_elf_shared_library(int secure,<br>>> -+struct elf_resolve *_dl_load_elf_shared_library(int resolve_flags,<br>
>> - struct dyn_elf **rpnt, char *libname)<br>>> - {<br>>> - ElfW(Ehdr) *epnt;<br>>> -@@ -368,7 +368,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int<br>>> secure,<br>>> - }<br>
>> - /* If we are in secure mode (i.e. a setu/gid binary using<br>>> LD_PRELOAD),<br>>> - we don't load the library if it isn't setuid. */<br>>> -- if (secure) {<br>>> -+ if (resolve_flags& DL_RESOLVE_SECURE) {<br>
>> - if (!(st.st_mode& S_ISUID)) {<br>>> - _dl_close(infile);<br>>> - return NULL;<br>>> -@@ -384,6 +384,10 @@ struct elf_resolve *_dl_load_elf_shared_library(int<br>
>> secure,<br>>> - return tpnt;<br>>> - }<br>>> - }<br>>> -+ if (resolve_flags& DL_RESOLVE_NOLOAD) {<br>>> -+ _dl_close(infile);<br>
>> -+ return NULL;<br>>> -+ }<br>>> - header = _dl_mmap((void *) 0, _dl_pagesize, PROT_READ |<br>>> PROT_WRITE,<br>>> - MAP_PRIVATE | MAP_ANONYMOUS | MAP_UNINITIALIZE,<br>
>> -1, 0);<br>>> - if (_dl_mmap_check_error(header)) {<br>>> -diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c<br>>> -index 9423670..b71af34 100644<br>>> ---- a/ldso/ldso/ldso.c<br>>> -+++ b/ldso/ldso/ldso.c<br>
>> -@@ -646,7 +646,9 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt,<br>>> DL_LOADADDR_TYPE load_addr,<br>>> - if (!_dl_secure || _dl_strchr(str, '/') == NULL) {<br>
>> - _dl_if_debug_dprint("\tfile='%s'; needed<br>
>> by '%s'\n", str, _dl_progname);<br>>> -<br>>> -- tpnt1 =<br>>> _dl_load_shared_library(_dl_secure,&rpnt, NULL, str, trace_loaded_objects);<br>>> -+ tpnt1 = _dl_load_shared_library(<br>
>> -+ _dl_secure ? DL_RESOLVE_SECURE :<br>>> 0,<br>>> -+ &rpnt, NULL, str,<br>>> trace_loaded_objects);<br>>> - if (!tpnt1) {<br>
>> - #ifdef __LDSO_LDD_SUPPORT__<br>>> - if (trace_loaded_objects)<br>>> -diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c<br>>> -index 68cd579..edf38d2 100644<br>
>> ---- a/ldso/libdl/libdl.c<br>>> -+++ b/ldso/libdl/libdl.c<br>>> -@@ -288,7 +288,7 @@ void *dlopen(const char *libname, int flag)<br>>> - #endif<br>>> -<br>>> - /* A bit of sanity checking... */<br>
>> -- if (!(flag& (RTLD_LAZY|RTLD_NOW))) {<br>>> -+ if (!(flag& (RTLD_LAZY|RTLD_NOW|RTLD_NOLOAD))) {<br>>> - _dl_error_number = LD_BAD_HANDLE;<br>>> - return NULL;<br>
>> - }<br>>> -@@ -358,8 +358,9 @@ void *dlopen(const char *libname, int flag)<br>>> - /* Try to load the specified library */<br>>> - _dl_if_debug_print("Trying to dlopen '%s', RTLD_GLOBAL:%d<br>
>> RTLD_NOW:%d\n",<br>>> - (char*)libname, (flag& RTLD_GLOBAL ? 1:0),<br>>> (now_flag& RTLD_NOW ? 1:0));<br>>> -- tpnt = _dl_load_shared_library(0,&rpnt, tfrom, (char*)libname, 0);<br>
>> -<br>>> -+ tpnt = _dl_load_shared_library((flag& RTLD_NOLOAD) ?<br>>> DL_RESOLVE_NOLOAD : 0,<br>>> -+ &rpnt, tfrom, (char*)libname, 0);<br>>> - if (tpnt == NULL) {<br>
>> - _dl_unmap_cache();<br>>> - return NULL;<br>>> -diff --git a/libc/sysdeps/linux/common/bits/dlfcn.h<br>>> b/libc/sysdeps/linux/common/bits/dlfcn.h<br>>> -index 4bfbbff..47b42ad 100644<br>
>> ---- a/libc/sysdeps/linux/common/bits/dlfcn.h<br>>> -+++ b/libc/sysdeps/linux/common/bits/dlfcn.h<br>>> -@@ -24,9 +24,9 @@<br>>> - /* The MODE argument to `dlopen' contains one of the following: */<br>
>> - #define RTLD_LAZY 0x00001 /* Lazy function call binding. */<br>>> - #define RTLD_NOW 0x00002 /* Immediate function call binding. */<br>>> --#if 0 /* uClibc doesnt support these */<br>>> --#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */<br>
>> -+#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */<br>>> - #define RTLD_NOLOAD 0x00004 /* Do not load the object. */<br>>> -+#if 0 /* uClibc doesnt support these */<br>>> - #define RTLD_DEEPBIND 0x00008 /* Use deep binding. */<br>
>> - #endif<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch<br>>> deleted file mode 100644<br>
>> index b19408f..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch<br>>> +++ /dev/null<br>>> @@ -1,172 +0,0 @@<br>>> -Delivered-To: <a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a><br>
>> -Received: by 10.90.86.4 with SMTP id j4cs313301agb;<br>>> - Sat, 8 Jan 2011 16:45:17 -0800 (PST)<br>>> -Received: by 10.216.186.82 with SMTP id<br>>> v60mr20017574wem.56.1294533916559;<br>
>> - Sat, 08 Jan 2011 16:45:16 -0800 (PST)<br>>> -Return-Path:<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>>> -Received: from <a href="http://smtp.smtpout.orange.fr" target="_blank">smtp.smtpout.orange.fr</a> (<a href="http://smtp01.smtpout.orange.fr" target="_blank">smtp01.smtpout.orange.fr</a><br>
>> <a href="tel:%5B80.12.242.123" value="+18012242123" target="_blank">[80.12.242.123</a>])<br>>> - by <a href="http://mx.google.com" target="_blank">mx.google.com</a> with ESMTP id<br>>> o13si33755824wee.56.2011.01.08.16.45.16;<br>
>> - Sat, 08 Jan 2011 16:45:16 -0800 (PST)<br>
>> -Received-SPF: neutral (<a href="http://google.com" target="_blank">google.com</a>: <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor<br>>> denied by best guess record for domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>
>> client-ip=<a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a>;<br>>> -Authentication-Results: <a href="http://mx.google.com" target="_blank">mx.google.com</a>; spf=neutral (<a href="http://google.com" target="_blank">google.com</a>:<br>
>> <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor denied by best guess record for<br>
>> domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>>> smtp.mail=<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a><br>
>> -Received: from roazhon.bzh.lan ([90.32.245.227])<br>
>> - by mwinf5d24 with ME<br>>> - id tClC1f0024v5z3u03ClFDL; Sun, 09 Jan 2011 01:45:16 +0100<br>>> -From: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -To: <a href="mailto:uclibc@uclibc.org" target="_blank">uclibc@uclibc.org</a><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>,<br>>> - Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>>,<br>
>> - Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>>> -Subject: [PATCH 2/7] ARM: introduce blind options to select& force THUMB<br>>> mode<br>
>> -Date: Sun, 9 Jan 2011 01:45:05 +0100<br>
>><br>>> -Message-Id:<<a href="mailto:1294533910-19305-3-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-3-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>> -X-Mailer: git-send-email 1.7.1<br>
>><br>>> -In-Reply-To:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>><br>
>> -References:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>
>> -<br>>> -Add three new blind options to set use of Thumb mode:<br>>> -- COMPILE_IN_THUMB_MODE<br>>> - - if set, CFLAGS will contain -mthumb<br>>> - - if unset, the compiler's default is used<br>
>> -- HAS_THUMB<br>>> - - CPUS with Thumb instruction set can select this<br>>> - - use of BX depends on this<br>>> -- FORCE_THUMB<br>>> - - CPUs that are Thumb-only must select this<br>>> - - this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX<br>
>> -<br>>> -Also, remove leading space in Rules.mak.<br>>> -<br>>> -Signed-off-by: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -Cc: Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>><br>
>> -Cc: Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>
>> ----<br>>> - Rules.mak | 7 ++++---<br>>> - extra/Configs/Config.arm | 31 ++++++++++++++++++++++++++++---<br>>> - 2 files changed, 32 insertions(+), 6 deletions(-)<br>>> -<br>
>> -diff --git a/Rules.mak b/Rules.mak<br>>> -index eecdc64..2a16908 100644<br>>> ---- a/Rules.mak<br>>> -+++ b/Rules.mak<br>>> -@@ -348,9 +348,10 @@ ifeq ($(TARGET_ARCH),arm)<br>>> - CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4<br>
>> - CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call<br>>> check_gcc,-mtune=xscale,-mtune=strongarm110)<br>>> - CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt<br>
>> -mabi=iwmmxt<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 -mthumb<br>>> -- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 -mthumb<br>>> -+ CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt<br>
>> -mabi=iwmmxt<br>>> -+ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3<br>>> -+ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1<br>>> -+ CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb<br>
>> - endif<br>>> -<br>>> - ifeq ($(TARGET_ARCH),mips)<br>>> -diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm<br>>> -index 3b90e67..c9c40d4 100644<br>>> ---- a/extra/Configs/Config.arm<br>
>> -+++ b/extra/Configs/Config.arm<br>>> -@@ -64,70 +64,95 @@ config CONFIG_ARM710<br>>> - config CONFIG_ARM7TDMI<br>>> - bool "Arm 7TDMI"<br>>> - select ARCH_HAS_NO_MMU<br>
>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM720T<br>>> - bool "Arm 720T"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>
>> - config CONFIG_ARM920T<br>>> - bool "Arm 920T"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM922T<br>>> - bool "Arm 922T"<br>
>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM926T<br>>> - bool "Arm 926T"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>
>> -<br>>> - config CONFIG_ARM10T<br>>> - bool "Arm 10T"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM1136JF_S<br>
>> - bool "Arm 1136JF-S"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM1176JZ_S<br>>> - bool "Arm 1176JZ-S"<br>
>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM1176JZF_S<br>>> - bool "Arm 1176JZF-S"<br>>> - select ARCH_HAS_MMU<br>
>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM_CORTEX_M3<br>>> - bool "Arm Cortex-M3"<br>>> - select ARCH_HAS_NO_MMU<br>>> -- select USE_BX<br>
>> -+ select FORCE_THUMB<br>>> -<br>>> - config CONFIG_ARM_CORTEX_M1<br>>> - bool "Arm Cortex-M1"<br>>> - select ARCH_HAS_NO_MMU<br>>> -- select USE_BX<br>
>> -+ select FORCE_THUMB<br>>> -<br>>> - config CONFIG_ARM_SA110<br>>> - bool "Intel StrongArm SA-110"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>
>> -<br>>> - config CONFIG_ARM_SA1100<br>>> - bool "Intel StrongArm SA-1100"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM_XSCALE<br>
>> - bool "Intel Xscale"<br>>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - config CONFIG_ARM_IWMMXT<br>>> - bool "Intel Xscale With WMMX PXA27x"<br>
>> - select ARCH_HAS_MMU<br>>> -+ select HAS_THUMB<br>>> -<br>>> - endchoice<br>>> -<br>>> -+config HAS_THUMB<br>>> -+ bool<br>>> -+<br>>> -+config FORCE_THUMB<br>
>> -+ bool<br>>> -+ select HAS_THUMB<br>>> -+ select COMPILE_IN_THUMB_MODE<br>>> -+ select USE_BX<br>>> -+<br>>> -+config COMPILE_IN_THUMB_MODE<br>>> -+ bool<br>
>> -+<br>>> - config USE_BX<br>>> - bool "Use BX in function return"<br>>> - default y<br>>> -- depends on !CONFIG_GENERIC_ARM&& !CONFIG_ARM610&& !CONFIG_ARM710<br>
>> -+ depends on HAS_THUMB<br>>> - help<br>>> - Use BX instruction for THUMB aware architectures.<br>>> ---<br>>> -1.7.1<br>>> -<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch<br>>> deleted file mode 100644<br>>> index 4b85a43..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch<br>
>> +++ /dev/null<br>>> @@ -1,47 +0,0 @@<br>>> -Some architectures like ppc, arm use aligned 64 bit inputs so a register<br>>> is not wasted<br>>> -this then uses __NR_sync_file_range2 syscall. Implement is<br>
>> -<br>>> -Singed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -<br>>> -Upstream-Status: Pending<br>>> -<br>>> -Index: git/libc/sysdeps/linux/common/sync_file_range.c<br>
>> -===================================================================<br>>> ---- git.orig/libc/sysdeps/linux/common/sync_file_range.c 2011-07-19<br>>> 14:23:35.000000000 -0700<br>>> -+++ git/libc/sysdeps/linux/common/sync_file_range.c 2011-07-19<br>
>> 15:04:38.631808666 -0700<br>>> -@@ -11,7 +11,8 @@<br>>> - #if defined __USE_GNU<br>>> - #include<fcntl.h><br>>> -<br>>> --#if defined __NR_sync_file_range&& defined __UCLIBC_HAS_LFS__<br>
>> -+#if defined __UCLIBC_HAS_LFS__<br>>> -+#if defined __NR_sync_file_range<br>>> - #define __NR___syscall_sync_file_range __NR_sync_file_range<br>>> - static __inline__ _syscall6(int, __syscall_sync_file_range, int, fd,<br>
>> - off_t, offset_hi, off_t, offset_lo,<br>>> -@@ -23,5 +24,23 @@<br>>> - __LONG_LONG_PAIR((long)(nbytes>> 32), (long)(nbytes&<br>>> 0xffffffff)),<br>>> - flags);<br>
>> - }<br>>> --#endif<br>>> --#endif<br>>> -+#elif defined __NR_sync_file_range2<br>>> -+#define __NR___syscall_sync_file_range2 __NR_sync_file_range2<br>>> -+static __inline__ _syscall6(int, __syscall_sync_file_range2, int, fd,<br>
>> -+ unsigned int, flags, off_t, offset_hi, off_t, offset_lo,<br>>> -+ off_t, nbytes_hi, off_t, nbytes_lo)<br>>> -+int sync_file_range(int fd, off64_t offset, off64_t nbytes, unsigned int<br>
>> flags)<br>>> -+{<br>>> -+ return __syscall_sync_file_range2(fd, flags,<br>>> -+ __LONG_LONG_PAIR((long)(offset>> 32), (long)(offset&<br>>> 0xffffffff)),<br>>> -+ __LONG_LONG_PAIR((long)(nbytes>> 32), (long)(nbytes&<br>
>> 0xffffffff)));<br>>> -+}<br>>> -+#else<br>>> -+int sync_file_range(int fd, off64_t offset, off64_t nbytes, unsigned int<br>>> flags)<br>>> -+{<br>>> -+ __set_errno (ENOSYS);<br>
>> -+ return -1<br>>> -+}<br>>> -+#endif /* __NR_sync_file_range */<br>>> -+#endif /* __UCLIBC_HAS_LFS__ */<br>>> -+#endif /* __USE_GNU */<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch<br>>> deleted file mode 100644<br>>> index 82970ca..0000000<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch<br>
>> +++ /dev/null<br>>> @@ -1,71 +0,0 @@<br>>> -Delivered-To: <a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a><br>>> -Received: by 10.90.86.4 with SMTP id j4cs313305agb;<br>
>> - Sat, 8 Jan 2011 16:45:19 -0800 (PST)<br>
>> -Received: by 10.216.153.210 with SMTP id<br>>> f60mr573848wek.114.1294533918335;<br>>> - Sat, 08 Jan 2011 16:45:18 -0800 (PST)<br>>> -Return-Path:<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Received: from <a href="http://smtp.smtpout.orange.fr" target="_blank">smtp.smtpout.orange.fr</a> (<a href="http://smtp01.smtpout.orange.fr" target="_blank">smtp01.smtpout.orange.fr</a><br>>> <a href="tel:%5B80.12.242.123" value="+18012242123" target="_blank">[80.12.242.123</a>])<br>
>> - by <a href="http://mx.google.com" target="_blank">mx.google.com</a> with ESMTP id<br>
>> n4si33737071wej.152.2011.01.08.16.45.17;<br>>> - Sat, 08 Jan 2011 16:45:18 -0800 (PST)<br>>> -Received-SPF: neutral (<a href="http://google.com" target="_blank">google.com</a>: <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor<br>
>> denied by best guess record for domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>>> client-ip=<a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a>;<br>
>> -Authentication-Results: <a href="http://mx.google.com" target="_blank">mx.google.com</a>; spf=neutral (<a href="http://google.com" target="_blank">google.com</a>:<br>
>> <a href="tel:80.12.242.123" value="+18012242123" target="_blank">80.12.242.123</a> is neither permitted nor denied by best guess record for<br>>> domain of <a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>)<br>
>> smtp.mail=<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a><br>
>> -Received: from roazhon.bzh.lan ([90.32.245.227])<br>>> - by mwinf5d24 with ME<br>>> - id tClC1f0024v5z3u03ClGDX; Sun, 09 Jan 2011 01:45:17 +0100<br>>> -From: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -To: <a href="mailto:uclibc@uclibc.org" target="_blank">uclibc@uclibc.org</a><br>>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>,<br>>> - Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>>,<br>
>> - Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>>> -Subject: [PATCH 4/7] ARM: transform the EABI/OABI choice into a boolean<br>>> -Date: Sun, 9 Jan 2011 01:45:07 +0100<br>
>><br>>> -Message-Id:<<a href="mailto:1294533910-19305-5-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-5-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>> -X-Mailer: git-send-email 1.7.1<br>
>><br>>> -In-Reply-To:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>>><br>
>> -References:<<a href="mailto:1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr" target="_blank">1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr</a>><br>
>> -<br>>> -The CONFIG_ARM_OABI option is never used.<br>>> -<br>>> -Signed-off-by: "Yann E. MORIN"<<a href="mailto:yann.morin.1998@anciens.enib.fr" target="_blank">yann.morin.1998@anciens.enib.fr</a>><br>
>> -Cc: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> -Cc: Bernhard Reutner-Fischer<<a href="mailto:rep.dot.nop@gmail.com" target="_blank">rep.dot.nop@gmail.com</a>><br>
>> -Cc: Carmelo AMOROSO<<a href="mailto:carmelo.amoroso@st.com" target="_blank">carmelo.amoroso@st.com</a>><br>
>> ----<br>>> - extra/Configs/Config.arm | 23 ++++++++---------------<br>>> - 1 files changed, 8 insertions(+), 15 deletions(-)<br>>> -<br>>> -Index: git/extra/Configs/Config.arm<br>>> -===================================================================<br>
>> ---- git.orig/extra/Configs/Config.arm<br>>> -+++ git/extra/Configs/Config.arm<br>>> -@@ -12,23 +12,16 @@ config FORCE_OPTIONS_FOR_ARCH<br>>> - default y<br>>> - select ARCH_ANY_ENDIAN<br>
>> -<br>>> --choice<br>>> -- prompt "Target ABI"<br>>> -- default CONFIG_ARM_EABI<br>>> -+config CONFIG_ARM_EABI<br>>> -+ bool "Build for EABI"<br>>> - help<br>
>> -- If you choose "EABI" here, functions and constants required by<br>>> the<br>>> -- ARM EABI will be built into the library. You should choose<br>>> "EABI"<br>
>> -+ If you say 'y' here, functions and constants required by the<br>>> -+ ARM EABI will be built into the library. You should say 'y'<br>>> - if your compiler uses the ARM EABI, in which case you will also<br>
>> -- need a kernel supporting the EABI system call interface, or<br>>> "OABI"<br>>> -- for a compiler using the old Linux ABI.<br>>> --<br>>> --config CONFIG_ARM_OABI<br>
>> -- bool "OABI"<br>>> --<br>>> --config CONFIG_ARM_EABI<br>>> -- bool "EABI"<br>>> -+ need a kernel supporting the EABI system call interface.<br>>> -<br>
>> --endchoice<br>>> -+ If you say 'n' here, then the library will be built for the<br>>> -+ old Linux ABI.<br>>> -<br>>> - config COMPILE_IN_THUMB_MODE<br>>> - bool "Build using Thumb mode"<br>
>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch<br>>> deleted file mode 100644<br>
>> index 504d37b..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch<br>>> +++ /dev/null<br>>> @@ -1,13 +0,0 @@<br>>> -Index: uclibc-0.9.29/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h<br>
>> -===================================================================<br>>> ---- uclibc-0.9.29.orig/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h<br>>> -+++ uclibc-0.9.29/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h<br>
>> -@@ -38,4 +38,8 @@<br>>> - /* define if target supports IEEE signed zero floats */<br>>> - #define __UCLIBC_HAVE_SIGNED_ZERO__<br>>> -<br>>> -+#ifdef __ARM_EABI__<br>>> -+# define __UCLIBC_TRUNCATE64_HAS_4_ARGS__<br>
>> -+#endif<br>>> -+<br>>> - #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch<br>
>> deleted file mode 100644<br>>> index 78401bd..0000000<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch<br>>> +++ /dev/null<br>>> @@ -1,455 +0,0 @@<br>>> ->From 2becc16ecbef71c496644d9dc6cbd7383d7cdca3 Mon Sep 17 00:00:00 2001<br>
>> -From: Henning Heinold<<a href="mailto:heinold@inf.fu-berlin.de" target="_blank">heinold@inf.fu-berlin.de</a>><br>>> -Date: Sat, 4 Jun 2011 21:21:41 +0200<br>>> -Subject: [PATCH 1/2] libc: updates the linux scheduler functions, most<br>
>> stuff<br>>> - was taken from the eglibc<br>>> -<br>>> -<br>>> -Signed-off-by: Henning Heinold<<a href="mailto:heinold@inf.fu-berlin.de" target="_blank">heinold@inf.fu-berlin.de</a>><br>
>> ----<br>
>> - include/sched.h | 52 ++++++++++++----<br>>> - libc/sysdeps/linux/common/Makefile.in | 4 +-<br>>> - libc/sysdeps/linux/common/bits/sched.h | 96<br>>> +++++++++++++++++++++++-----<br>
>> - libc/sysdeps/linux/common/sched_cpualloc.c | 27 ++++++++<br>>> - libc/sysdeps/linux/common/sched_cpucount.c | 60 +++++++++++++++++<br>>> - libc/sysdeps/linux/common/sched_cpufree.c | 27 ++++++++<br>
>> - libc/sysdeps/linux/common/sched_getcpu.c | 37 +++++++++++<br>>> - libc/sysdeps/linux/common/unshare.c | 12 ++++<br>>> - 8 files changed, 286 insertions(+), 29 deletions(-)<br>>> - create mode 100644 libc/sysdeps/linux/common/sched_cpualloc.c<br>
>> - create mode 100644 libc/sysdeps/linux/common/sched_cpucount.c<br>>> - create mode 100644 libc/sysdeps/linux/common/sched_cpufree.c<br>>> - create mode 100644 libc/sysdeps/linux/common/sched_getcpu.c<br>
>> - create mode 100644 libc/sysdeps/linux/common/unshare.c<br>>> -<br>>> -diff --git a/include/sched.h b/include/sched.h<br>>> -index 0d110c3..e265b84 100644<br>>> ---- a/include/sched.h<br>
>> -+++ b/include/sched.h<br>>> -@@ -1,5 +1,5 @@<br>>> - /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling<br>>> interface.<br>>> -- Copyright (C) 1996,1997,1999,2001-2003,2004 Free Software Foundation,<br>
>> Inc.<br>>> -+ Copyright (C) 1996,1997,1999,2001-2004,2007 Free Software Foundation,<br>>> Inc.<br>>> - This file is part of the GNU C Library.<br>>> -<br>>> - The GNU C Library is free software; you can redistribute it and/or<br>
>> -@@ -25,6 +25,9 @@<br>>> - /* Get type definitions. */<br>>> - #include<bits/types.h><br>>> -<br>>> -+#define __need_size_t<br>>> -+#include<stddef.h><br>>> -+<br>
>> - #define __need_timespec<br>>> - #include<time.h><br>>> -<br>>> -@@ -65,11 +68,42 @@ extern int sched_rr_get_interval (__pid_t __pid,<br>>> struct timespec *__t) __THROW;<br>>> -<br>
>> - #if defined __USE_GNU&& defined __UCLIBC_LINUX_SPECIFIC__<br>>> - /* Access macros for `cpu_set'. */<br>>> --#define CPU_SETSIZE __CPU_SETSIZE<br>>> --#define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)<br>
>> --#define CPU_CLR(cpu, cpusetp) __CPU_CLR (cpu, cpusetp)<br>>> --#define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)<br>>> --#define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)<br>>> -+# define CPU_SETSIZE __CPU_SETSIZE<br>
>> -+# define CPU_SET(cpu, cpusetp) __CPU_SET_S (cpu, sizeof<br>>> (cpu_set_t), cpusetp)<br>>> -+# define CPU_CLR(cpu, cpusetp) __CPU_CLR_S (cpu, sizeof<br>>> (cpu_set_t), cpusetp)<br>
>> -+# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t),<br>>> \<br>>> -+ cpusetp)<br>>> -+# define CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t),<br>
>> cpusetp)<br>>> -+# define CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t),<br>>> cpusetp)<br>>> -+<br>>> -+# define CPU_SET_S(cpu, setsize, cpusetp) __CPU_SET_S (cpu, setsize,<br>
>> cpusetp)<br>>> -+# define CPU_CLR_S(cpu, setsize, cpusetp) __CPU_CLR_S (cpu, setsize,<br>>> cpusetp)<br>>> -+# define CPU_ISSET_S(cpu, setsize, cpusetp) __CPU_ISSET_S (cpu, setsize,<br>>> \<br>
>> -+ cpusetp)<br>>> -+# define CPU_ZERO_S(setsize, cpusetp) __CPU_ZERO_S (setsize,<br>>> cpusetp)<br>>> -+# define CPU_COUNT_S(setsize, cpusetp) __CPU_COUNT_S<br>
>> (setsize, cpusetp)<br>>> -+<br>>> -+# define CPU_EQUAL(cpusetp1, cpusetp2) \<br>>> -+ __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)<br>>> -+# define CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \<br>
>> -+ __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)<br>>> -+<br>>> -+# define CPU_AND(destset, srcset1, srcset2) \<br>>> -+ __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2,&)<br>>> -+# define CPU_OR(destset, srcset1, srcset2) \<br>
>> -+ __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)<br>>> -+# define CPU_XOR(destset, srcset1, srcset2) \<br>>> -+ __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)<br>>> -+# define CPU_AND_S(setsize, destset, srcset1, srcset2) \<br>
>> -+ __CPU_OP_S (setsize, destset, srcset1, srcset2,&)<br>>> -+# define CPU_OR_S(setsize, destset, srcset1, srcset2) \<br>>> -+ __CPU_OP_S (setsize, destset, srcset1, srcset2, |)<br>>> -+# define CPU_XOR_S(setsize, destset, srcset1, srcset2) \<br>
>> -+ __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)<br>>> -+<br>>> -+# define CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count)<br>>> -+# define CPU_ALLOC(count) __CPU_ALLOC (count)<br>>> -+# define CPU_FREE(cpuset) __CPU_FREE (cpuset)<br>
>> -<br>>> -<br>>> - /* Set the CPU affinity for a task */<br>>> -@@ -79,12 +113,6 @@ extern int sched_setaffinity (__pid_t __pid, size_t<br>>> __cpusetsize,<br>>> - /* Get the CPU affinity for a task */<br>
>> - extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,<br>>> - cpu_set_t *__cpuset) __THROW;<br>>> --<br>>> --extern int __clone (int (*__fn) (void *__arg), void *__child_stack,<br>
>> -- int __flags, void *__arg, ...);<br>>> --extern int __clone2 (int (*__fn) (void *__arg), void<br>>> *__child_stack_base,<br>>> -- size_t __child_stack_size, int __flags, void *__arg,<br>
>> ...);<br>>> --<br>>> - #endif<br>>> -<br>>> - __END_DECLS<br>>> -diff --git a/libc/sysdeps/linux/common/Makefile.in<br>>> b/libc/sysdeps/linux/common/Makefile.in<br>>> -index 8f936ff..cb8c153 100644<br>
>> ---- a/libc/sysdeps/linux/common/Makefile.in<br>>> -+++ b/libc/sysdeps/linux/common/Makefile.in<br>>> -@@ -22,9 +22,11 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += capget.c capset.c<br>>> inotify.c ioperm.c iopl.c \<br>
>> - modify_ldt.c pipe2.c personality.c ppoll.c prctl.c \<br>>> - readahead.c reboot.c \<br>>> - remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \<br>>> -+ sched_cpualloc.c sched_cpucount.c sched_cpufree.c \<br>
>> - sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \<br>>> - splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \<br>>> -- sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c<br>
>> -+ sync_file_range.c sysctl.c sysinfo.c timerfd.c unshare.c \<br>>> -+ uselib.c vhangup.c<br>>> - # NPTL needs these internally: madvise.c<br>>> - CSRC-$(findstring<br>>> y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c<br>
>> - ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)<br>>> -diff --git a/libc/sysdeps/linux/common/bits/sched.h<br>>> b/libc/sysdeps/linux/common/bits/sched.h<br>>> -index b48a0c8..fea66a8 100644<br>>> ---- a/libc/sysdeps/linux/common/bits/sched.h<br>
>> -+++ b/libc/sysdeps/linux/common/bits/sched.h<br>>> -@@ -1,6 +1,7 @@<br>>> - /* Definitions of constants and data structure for POSIX 1003.1b-1993<br>>> - scheduling interface.<br>>> -- Copyright (C) 1996-1999,2001-2003,2005,2006 Free Software Foundation,<br>
>> Inc.<br>>> -+ Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008<br>>> -+ Free Software Foundation, Inc.<br>>> - This file is part of the GNU C Library.<br>>> -<br>>> - The GNU C Library is free software; you can redistribute it and/or<br>
>> -@@ -58,7 +59,13 @@<br>>> - force CLONE_PTRACE on this clone.<br>>> */<br>>> - # define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer<br>>> in<br>
>> - the child. */<br>>> --# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */<br>>> -+# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */<br>
>> -+# define CLONE_NEWUTS 0x04000000 /* New utsname group. */<br>>> -+# define CLONE_NEWIPC 0x08000000 /* New ipcs. */<br>>> -+# define CLONE_NEWUSER 0x10000000 /* New user namespace. */<br>
>> -+# define CLONE_NEWPID 0x20000000 /* New pid namespace. */<br>>> -+# define CLONE_NEWNET 0x40000000 /* New network namespace. */<br>>> -+# define CLONE_IO 0x80000000 /* Clone I/O context. */<br>
>> - #endif<br>>> -<br>>> - /* The official definition. */<br>>> -@@ -74,10 +81,11 @@ __BEGIN_DECLS<br>>> - extern int clone (int (*__fn) (void *__arg), void *__child_stack,<br>>> - int __flags, void *__arg, ...) __THROW;<br>
>> -<br>>> --#if 0<br>>> - /* Unshare the specified resources. */<br>>> - extern int unshare (int __flags) __THROW;<br>>> --#endif<br>>> -+<br>>> -+/* Get index of currently used CPU. */<br>
>> -+extern int sched_getcpu (void) __THROW;<br>>> - #endif<br>>> -<br>>> - __END_DECLS<br>>> -@@ -102,7 +110,7 @@ struct __sched_param<br>>> - # define __CPU_SETSIZE 1024<br>>> - # define __NCPUBITS (8 * sizeof (__cpu_mask))<br>
>> -<br>>> --/* Type for array elements in 'cpu_set'. */<br>>> -+/* Type for array elements in 'cpu_set_t'. */<br>>> - typedef unsigned long int __cpu_mask;<br>>> -<br>>> - /* Basic access functions. */<br>
>> -@@ -116,17 +124,73 @@ typedef struct<br>>> - } cpu_set_t;<br>>> -<br>>> - /* Access functions for CPU masks. */<br>>> --# define __CPU_ZERO(cpusetp) \<br>>> -+# define __CPU_ZERO_S(setsize, cpusetp) \<br>
>> - do { <br>>> \<br>>> -- unsigned int __i; <br>>> \<br>>> -- cpu_set_t *__arr = (cpusetp); <br>
>> \<br>>> -- for (__i = 0; __i< sizeof (cpu_set_t) / sizeof (__cpu_mask); ++__i)<br>>> \<br>>> -- __arr->__bits[__i] = 0; <br>>> \<br>
>> -+ size_t __i; <br>>> \<br>>> -+ size_t __imax = (setsize) / sizeof (__cpu_mask); <br>>> \<br>>> -+ __cpu_mask *__bits = (cpusetp)->__bits; <br>
>> \<br>>> -+ for (__i = 0; __i< __imax; ++__i) <br>>> \<br>>> -+ __bits[__i] = 0; <br>
>> \<br>
>> - } while (0)<br>>> --# define __CPU_SET(cpu, cpusetp) \<br>>> -- ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))<br>>> --# define __CPU_CLR(cpu, cpusetp) \<br>>> -- ((cpusetp)->__bits[__CPUELT (cpu)]&= ~__CPUMASK (cpu))<br>
>> --# define __CPU_ISSET(cpu, cpusetp) \<br>>> -- (((cpusetp)->__bits[__CPUELT (cpu)]& __CPUMASK (cpu)) != 0)<br>>> -+# define __CPU_SET_S(cpu, setsize, cpusetp) \<br>>> -+ (__extension__ <br>
>> \<br>>> -+ ({ size_t __cpu = (cpu); <br>>> \<br>>> -+ __cpu< 8 * (setsize) <br>>> \<br>
>> -+ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] <br>>> \<br>>> -+ |= __CPUMASK (__cpu)) <br>>> \<br>>> -+ : 0; }))<br>
>> -+# define __CPU_CLR_S(cpu, setsize, cpusetp) \<br>>> -+ (__extension__ <br>>> \<br>>> -+ ({ size_t __cpu = (cpu); <br>
>> \<br>>> -+ __cpu< 8 * (setsize) <br>>> \<br>>> -+ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] <br>>> \<br>
>> -+ &= ~__CPUMASK (__cpu)) <br>>> \<br>>> -+ : 0; }))<br>>> -+# define __CPU_ISSET_S(cpu, setsize, cpusetp) \<br>>> -+ (__extension__ <br>
>> \<br>>> -+ ({ size_t __cpu = (cpu); <br>>> \<br>>> -+ __cpu< 8 * (setsize) <br>>> \<br>
>> -+ ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] <br>>> \<br>>> -+ & __CPUMASK (__cpu))) != 0 <br>>> \<br>>> -+ : 0; }))<br>
>> -+<br>>> -+# define __CPU_COUNT_S(setsize, cpusetp) \<br>>> -+ __sched_cpucount (setsize, cpusetp)<br>>> -+<br>>> -+# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \<br>>> -+ (__extension__ <br>
>> \<br>>> -+ ({ __cpu_mask *__arr1 = (cpusetp1)->__bits; <br>>> \<br>>> -+ __cpu_mask *__arr2 = (cpusetp2)->__bits; <br>
>> \<br>>> -+ size_t __imax = (setsize) / sizeof (__cpu_mask); <br>>> \<br>>> -+ size_t __i; <br>
>> \<br>>> -+ for (__i = 0; __i< __imax; ++__i) <br>>> \<br>>> -+ if (__arr1[__i] != __arr2[__i]) <br>>> \<br>
>> -+ break; <br>>> \<br>>> -+ __i == __imax; }))<br>>> -+<br>>> -+# define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \<br>
>> -+ (__extension__ <br>>> \<br>>> -+ ({ cpu_set_t *__dest = (destset); <br>>> \<br>>> -+ __cpu_mask *__arr1 = (srcset1)->__bits; <br>
>> \<br>>> -+ __cpu_mask *__arr2 = (srcset2)->__bits; <br>>> \<br>>> -+ size_t __imax = (setsize) / sizeof (__cpu_mask); <br>>> \<br>
>> -+ size_t __i; <br>>> \<br>>> -+ for (__i = 0; __i< __imax; ++__i) <br>>> \<br>>> -+ ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i];<br>
>> \<br>>> -+ __dest; }))<br>>> -+<br>>> -+# define __CPU_ALLOC_SIZE(count) \<br>>> -+ ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))<br>>> -+# define __CPU_ALLOC(count) __sched_cpualloc (count)<br>
>> -+# define __CPU_FREE(cpuset) __sched_cpufree (cpuset)<br>>> -+<br>>> -+__BEGIN_DECLS<br>>> -+<br>>> -+extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)<br>>> -+ __THROW;<br>
>> -+extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;<br>>> -+extern void __sched_cpufree (cpu_set_t *__set) __THROW;<br>>> -+<br>>> -+__END_DECLS<br>>> -+<br>>> - #endif<br>
>> -diff --git a/libc/sysdeps/linux/common/sched_cpualloc.c<br>>> b/libc/sysdeps/linux/common/sched_cpualloc.c<br>>> -new file mode 100644<br>>> -index 0000000..2642a80<br>>> ---- /dev/null<br>
>> -+++ b/libc/sysdeps/linux/common/sched_cpualloc.c<br>>> -@@ -0,0 +1,27 @@<br>>> -+/* Copyright (C) 2007 Free Software Foundation, Inc.<br>>> -+ This file is part of the GNU C Library.<br>>> -+<br>
>> -+ The GNU C Library is free software; you can redistribute it and/or<br>>> -+ modify it under the terms of the GNU Lesser General Public<br>>> -+ License as published by the Free Software Foundation; either<br>
>> -+ version 2.1 of the License, or (at your option) any later version.<br>>> -+<br>>> -+ The GNU C Library is distributed in the hope that it will be useful,<br>>> -+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
>> -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>>> -+ Lesser General Public License for more details.<br>>> -+<br>>> -+ You should have received a copy of the GNU Lesser General Public<br>
>> -+ License along with the GNU C Library; if not, write to the Free<br>>> -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA<br>>> -+ 02111-1307 USA. */<br>>> -+<br>>> -+#include<sched.h><br>
>> -+#include<stdlib.h><br>>> -+<br>>> -+<br>>> -+cpu_set_t *<br>>> -+__sched_cpualloc (size_t count)<br>>> -+{<br>>> -+ return malloc (CPU_ALLOC_SIZE (count));<br>>> -+}<br>
>> -diff --git a/libc/sysdeps/linux/common/sched_cpucount.c<br>>> b/libc/sysdeps/linux/common/sched_cpucount.c<br>>> -new file mode 100644<br>>> -index 0000000..331c0b8<br>>> ---- /dev/null<br>
>> -+++ b/libc/sysdeps/linux/common/sched_cpucount.c<br>>> -@@ -0,0 +1,60 @@<br>>> -+/* Copyright (C) 2007 Free Software Foundation, Inc.<br>>> -+ This file is part of the GNU C Library.<br>>> -+<br>
>> -+ The GNU C Library is free software; you can redistribute it and/or<br>>> -+ modify it under the terms of the GNU Lesser General Public<br>>> -+ License as published by the Free Software Foundation; either<br>
>> -+ version 2.1 of the License, or (at your option) any later version.<br>>> -+<br>>> -+ The GNU C Library is distributed in the hope that it will be useful,<br>>> -+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
>> -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>>> -+ Lesser General Public License for more details.<br>>> -+<br>>> -+ You should have received a copy of the GNU Lesser General Public<br>
>> -+ License along with the GNU C Library; if not, write to the Free<br>>> -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA<br>>> -+ 02111-1307 USA. */<br>>> -+<br>>> -+#include<limits.h><br>
>> -+#include<sched.h><br>>> -+<br>>> -+<br>>> -+int<br>>> -+__sched_cpucount (size_t setsize, const cpu_set_t *setp)<br>>> -+{<br>>> -+ int s = 0;<br>>> -+ const __cpu_mask *p = setp->__bits;<br>
>> -+ const __cpu_mask *end =&setp->__bits[setsize / sizeof (__cpu_mask)];<br>>> -+<br>>> -+ while (p< end)<br>>> -+ {<br>>> -+ __cpu_mask l = *p++;<br>>> -+<br>>> -+#ifdef POPCNT<br>
>> -+ s += POPCNT (l);<br>>> -+#else<br>>> -+ if (l == 0)<br>>> -+ continue;<br>>> -+<br>>> -+# if LONG_BIT> 32<br>>> -+ l = (l& 0x5555555555555555ul) + ((l>> 1)&<br>
>> 0x5555555555555555ul);<br>>> -+ l = (l& 0x3333333333333333ul) + ((l>> 2)&<br>>> 0x3333333333333333ul);<br>>> -+ l = (l& 0x0f0f0f0f0f0f0f0ful) + ((l>> 4)&<br>
>> 0x0f0f0f0f0f0f0f0ful);<br>>> -+ l = (l& 0x00ff00ff00ff00fful) + ((l>> 8)&<br>>> 0x00ff00ff00ff00fful);<br>>> -+ l = (l& 0x0000ffff0000fffful) + ((l>> 16)&<br>
>> 0x0000ffff0000fffful);<br>>> -+ l = (l& 0x00000000fffffffful) + ((l>> 32)&<br>>> 0x00000000fffffffful);<br>>> -+# else<br>>> -+ l = (l& 0x55555555ul) + ((l>> 1)& 0x55555555ul);<br>
>> -+ l = (l& 0x33333333ul) + ((l>> 2)& 0x33333333ul);<br>>> -+ l = (l& 0x0f0f0f0ful) + ((l>> 4)& 0x0f0f0f0ful);<br>>> -+ l = (l& 0x00ff00fful) + ((l>> 8)& 0x00ff00fful);<br>
>> -+ l = (l& 0x0000fffful) + ((l>> 16)& 0x0000fffful);<br>>> -+# endif<br>>> -+<br>>> -+ s += l;<br>>> -+#endif<br>>> -+ }<br>>> -+<br>>> -+ return s;<br>
>> -+}<br>>> -diff --git a/libc/sysdeps/linux/common/sched_cpufree.c<br>>> b/libc/sysdeps/linux/common/sched_cpufree.c<br>>> -new file mode 100644<br>>> -index 0000000..dd4c613<br>>> ---- /dev/null<br>
>> -+++ b/libc/sysdeps/linux/common/sched_cpufree.c<br>>> -@@ -0,0 +1,27 @@<br>>> -+/* Copyright (C) 2007 Free Software Foundation, Inc.<br>>> -+ This file is part of the GNU C Library.<br>>> -+<br>
>> -+ The GNU C Library is free software; you can redistribute it and/or<br>>> -+ modify it under the terms of the GNU Lesser General Public<br>>> -+ License as published by the Free Software Foundation; either<br>
>> -+ version 2.1 of the License, or (at your option) any later version.<br>>> -+<br>>> -+ The GNU C Library is distributed in the hope that it will be useful,<br>>> -+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
>> -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>>> -+ Lesser General Public License for more details.<br>>> -+<br>>> -+ You should have received a copy of the GNU Lesser General Public<br>
>> -+ License along with the GNU C Library; if not, write to the Free<br>>> -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA<br>>> -+ 02111-1307 USA. */<br>>> -+<br>>> -+#include<sched.h><br>
>> -+#include<stdlib.h><br>>> -+<br>>> -+<br>>> -+void<br>>> -+__sched_cpufree (cpu_set_t *set)<br>>> -+{<br>>> -+ free (set);<br>>> -+}<br>>> -diff --git a/libc/sysdeps/linux/common/sched_getcpu.c<br>
>> b/libc/sysdeps/linux/common/sched_getcpu.c<br>>> -new file mode 100644<br>>> -index 0000000..b193d65<br>>> ---- /dev/null<br>>> -+++ b/libc/sysdeps/linux/common/sched_getcpu.c<br>>> -@@ -0,0 +1,37 @@<br>
>> -+/* Copyright (C) 2007 Free Software Foundation, Inc.<br>>> -+ This file is part of the GNU C Library.<br>>> -+<br>>> -+ The GNU C Library is free software; you can redistribute it and/or<br>
>> -+ modify it under the terms of the GNU Lesser General Public<br>>> -+ License as published by the Free Software Foundation; either<br>>> -+ version 2.1 of the License, or (at your option) any later version.<br>
>> -+<br>>> -+ The GNU C Library is distributed in the hope that it will be useful,<br>>> -+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>>> -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
>> -+ Lesser General Public License for more details.<br>>> -+<br>>> -+ You should have received a copy of the GNU Lesser General Public<br>>> -+ License along with the GNU C Library; if not, write to the Free<br>
>> -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA<br>>> -+ 02111-1307 USA. */<br>>> -+<br>>> -+#include<stdlib.h><br>>> -+#include<errno.h><br>>> -+#include<sched.h><br>
>> -+#include<sysdep.h><br>>> -+<br>>> -+<br>>> -+int<br>>> -+sched_getcpu (void)<br>>> -+{<br>>> -+#ifdef __NR_getcpu<br>>> -+ unsigned int cpu;<br>>> -+ int r = INLINE_SYSCALL (getcpu, 3,&cpu, NULL, NULL);<br>
>> -+<br>>> -+ return r == -1 ? r : cpu;<br>>> -+#else<br>>> -+ __set_errno (ENOSYS);<br>>> -+ return -1;<br>>> -+#endif<br>>> -+}<br>>> -diff --git a/libc/sysdeps/linux/common/unshare.c<br>
>> b/libc/sysdeps/linux/common/unshare.c<br>>> -new file mode 100644<br>>> -index 0000000..485bf88<br>>> ---- /dev/null<br>>> -+++ b/libc/sysdeps/linux/common/unshare.c<br>>> -@@ -0,0 +1,12 @@<br>
>> -+/* vi: set sw=4 ts=4: */<br>>> -+/*<br>>> -+ * unshare() for uClibc<br>>> -+ *<br>>> -+ * Copyright (C) 2011 Henning Heinold<<a href="mailto:heinold@inf.fu-berlin.de" target="_blank">heinold@inf.fu-berlin.de</a>><br>
>> -+ *<br>>> -+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this<br>>> tarball.<br>>> -+ */<br>>> -+<br>>> -+#include<sys/syscall.h><br>>> -+#include<sched.h><br>
>> -+_syscall1(int, unshare, int, flags)<br>>> ---<br>>> -1.7.5.3<br>>> -<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.33/0001-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS-so.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/0001-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS-so.patch<br>>> new file mode 100644<br>>> index 0000000..2f0c191<br>>> --- /dev/null<br>>> +++<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/0001-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS-so.patch<br>>> @@ -0,0 +1,32 @@<br>>> +From 6c3919a6d4a8686772e2a302bf951548ee24a8c1 Mon Sep 17 00:00:00 2001<br>
>> +From: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +Date: Fri, 3 Feb 2012 10:57:44 -0800<br>>> +Subject: [PATCH] Declare __err and pass it to INTERNAL_SYSCALL_NCS so<br>
>> + subsequent macros can use it<br>>> +<br>>> +Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +---<br>>> + libc/sysdeps/linux/common/bits/syscalls-common.h | 4 ++--<br>
>> + 1 files changed, 2 insertions(+), 2 deletions(-)<br>>> +<br>>> +<br>>> +Upstream-Status: Pending<br>>> +<br>>> +diff --git a/libc/sysdeps/linux/common/bits/syscalls-common.h<br>>> b/libc/sysdeps/linux/common/bits/syscalls-common.h<br>
>> +index faebd1b..0f5a929 100644<br>>> +--- a/libc/sysdeps/linux/common/bits/syscalls-common.h<br>>> ++++ b/libc/sysdeps/linux/common/bits/syscalls-common.h<br>>> +@@ -59,8 +59,8 @@<br>>> + #ifndef INLINE_SYSCALL_NOERR_NCS<br>
>> + # define INLINE_SYSCALL_NOERR_NCS(name, nr, args...) \<br>>> + ({ \<br>>> +- /*INTERNAL_SYSCALL_DECL(__err);*/ <br>
>> \<br>>> +- long __res = INTERNAL_SYSCALL_NCS(name, /*__err*/, nr, args); \<br>>> ++ INTERNAL_SYSCALL_DECL(__err); \<br>>> ++ long __res = INTERNAL_SYSCALL_NCS(name, __err, nr, args); \<br>
>> + __res; \<br>>> + })<br>>> + #endif<br>>> +--<br>>> +1.7.5.4<br>>> +<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.33/0001-lstat-stat-fstat-Use-64bit-version-of-syscall-if-ava.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/0001-lstat-stat-fstat-Use-64bit-version-of-syscall-if-ava.patch<br>>> new file mode 100644<br>>> index 0000000..da4ffef<br>>> --- /dev/null<br>>> +++<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/0001-lstat-stat-fstat-Use-64bit-version-of-syscall-if-ava.patch<br>>> @@ -0,0 +1,177 @@<br>>> +From effbfd8e8a7b883671b24fc9759b135b48dbfaca Mon Sep 17 00:00:00 2001<br>
>> +From: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +Date: Fri, 3 Feb 2012 20:06:55 -0800<br>>> +Subject: [PATCH] lstat/stat/fstat: Use 64bit version of syscall if<br>
>> available<br>>> +<br>>> +This is needed for stat'ing loop devices> 255<br>>> +since otherwise kernel returns EOVERFLOW becasue<br>>> +it needs st_rdev/st_dev to be larger than 16bits but<br>
>> +in kernel it uses __old_kernel_stat for stat<br>>> +syscall which has st_rdev/st_dev as unsigned short<br>>> +<br>>> +Add a testcase<br>>> +<br>>> +Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> +---<br>>> + libc/sysdeps/linux/common/fstat.c | 18 ++++++++++++++----<br>>> + libc/sysdeps/linux/common/lstat.c | 19 ++++++++++++++-----<br>>> + libc/sysdeps/linux/common/stat.c | 18 ++++++++++++++----<br>
>> + test/stat/stat-loop256.c | 32<br>>> ++++++++++++++++++++++++++++++++<br>>> + 4 files changed, 74 insertions(+), 13 deletions(-)<br>>> + create mode 100644 test/stat/stat-loop256.c<br>
>> +<br>>> +diff --git a/libc/sysdeps/linux/common/fstat.c<br>>> b/libc/sysdeps/linux/common/fstat.c<br>>> +index acc639b..4726a68 100644<br>>> +--- a/libc/sysdeps/linux/common/fstat.c<br>>> ++++ b/libc/sysdeps/linux/common/fstat.c<br>
>> +@@ -12,18 +12,28 @@<br>>> + #include<sys/stat.h><br>>> + #include "xstatconv.h"<br>>> +<br>>> +-#define __NR___syscall_fstat __NR_fstat<br>>> +-static __inline__ _syscall2(int, __syscall_fstat, int, fd, struct<br>
>> kernel_stat *, buf)<br>>> +-<br>>> + int fstat(int fd, struct stat *buf)<br>>> + {<br>>> + int result;<br>>> ++#ifdef __NR_fstat64<br>>> ++ /* normal stat call has limited values for various stat elements<br>
>> ++ * e.g. uid device major/minor etc.<br>>> ++ * so we use 64 variant if available<br>>> ++ * in order to get newer versions of stat elements<br>>> ++ */<br>>> ++ struct kernel_stat64 kbuf;<br>
>> ++ result = INLINE_SYSCALL(fstat64, 2, fd,&kbuf);<br>>> ++ if (result == 0) {<br>>> ++ __xstat32_conv(&kbuf, buf);<br>>> ++ }<br>>> ++#else<br>>> + struct kernel_stat kbuf;<br>
>> +<br>>> +- result = __syscall_fstat(fd,&kbuf);<br>>> ++ result = INLINE_SYSCALL(fstat, 2, fd,&kbuf);<br>>> + if (result == 0) {<br>>> + __xstat_conv(&kbuf, buf);<br>
>> + }<br>>> ++#endif<br>>> + return result;<br>>> + }<br>>> + libc_hidden_def(fstat)<br>>> +diff --git a/libc/sysdeps/linux/common/lstat.c<br>>> b/libc/sysdeps/linux/common/lstat.c<br>
>> +index aa77447..db72d1f 100644<br>>> +--- a/libc/sysdeps/linux/common/lstat.c<br>>> ++++ b/libc/sysdeps/linux/common/lstat.c<br>>> +@@ -12,19 +12,28 @@<br>>> + #include<sys/stat.h><br>
>> + #include "xstatconv.h"<br>>> +<br>>> +-#define __NR___syscall_lstat __NR_lstat<br>>> +-static __inline__ _syscall2(int, __syscall_lstat,<br>>> +- const char *, file_name, struct kernel_stat *, buf)<br>
>> +-<br>>> + int lstat(const char *file_name, struct stat *buf)<br>>> + {<br>>> + int result;<br>>> ++#ifdef __NR_lstat64<br>>> ++ /* normal stat call has limited values for various stat elements<br>
>> ++ * e.g. uid device major/minor etc.<br>>> ++ * so we use 64 variant if available<br>>> ++ * in order to get newer versions of stat elements<br>>> ++ */<br>>> ++ struct kernel_stat64 kbuf;<br>
>> ++ result = INLINE_SYSCALL(lstat64, 2, file_name,&kbuf);<br>>> ++ if (result == 0) {<br>>> ++ __xstat32_conv(&kbuf, buf);<br>>> ++ }<br>>> ++#else<br>>> + struct kernel_stat kbuf;<br>
>> +<br>>> +- result = __syscall_lstat(file_name,&kbuf);<br>>> ++ result = INLINE_SYSCALL(lstat, 2, file_name,&kbuf);<br>>> + if (result == 0) {<br>>> + __xstat_conv(&kbuf, buf);<br>
>> + }<br>>> ++#endif<br>>> + return result;<br>>> + }<br>>> + libc_hidden_def(lstat)<br>>> +diff --git a/libc/sysdeps/linux/common/stat.c<br>>> b/libc/sysdeps/linux/common/stat.c<br>
>> +index a6ab291..829f35a 100644<br>>> +--- a/libc/sysdeps/linux/common/stat.c<br>>> ++++ b/libc/sysdeps/linux/common/stat.c<br>>> +@@ -12,20 +12,30 @@<br>>> + #include<sys/stat.h><br>
>> + #include "xstatconv.h"<br>>> +<br>>> +-#define __NR___syscall_stat __NR_stat<br>>> + #undef stat<br>>> +-static __inline__ _syscall2(int, __syscall_stat,<br>>> +- const char *, file_name, struct kernel_stat *, buf)<br>
>> +<br>>> + int stat(const char *file_name, struct stat *buf)<br>>> + {<br>>> + int result;<br>>> ++#ifdef __NR_stat64<br>>> ++ /* normal stat call has limited values for various stat elements<br>
>> ++ * e.g. uid device major/minor etc.<br>>> ++ * so we use 64 variant if available<br>>> ++ * in order to get newer versions of stat elements<br>>> ++ */<br>>> ++ struct kernel_stat64 kbuf;<br>
>> ++ result = INLINE_SYSCALL(stat64, 2, file_name,&kbuf);<br>>> ++ if (result == 0) {<br>>> ++ __xstat32_conv(&kbuf, buf);<br>>> ++ }<br>>> ++#else<br>>> + struct kernel_stat kbuf;<br>
>> +<br>>> +- result = __syscall_stat(file_name,&kbuf);<br>>> ++ result = INLINE_SYSCALL(stat, 2, file_name,&kbuf);<br>>> + if (result == 0) {<br>>> + __xstat_conv(&kbuf, buf);<br>
>> + }<br>>> ++#endif<br>>> + return result;<br>>> + }<br>>> + libc_hidden_def(stat)<br>>> +diff --git a/test/stat/stat-loop256.c b/test/stat/stat-loop256.c<br>>> +new file mode 100644<br>
>> +index 0000000..14284c1<br>>> +--- /dev/null<br>>> ++++ b/test/stat/stat-loop256.c<br>>> +@@ -0,0 +1,32 @@<br>>> ++#include<stdio.h><br>>> ++#include<unistd.h><br>>> ++#include<stdlib.h><br>
>> ++#include<sys/stat.h><br>>> ++int main()<br>>> ++{<br>>> ++ struct stat statbuf;<br>>> ++ int ret = 0;<br>>> ++ char* loop255 = "/dev/loop255";<br>>> ++ char* loop256 = "/dev/loop256";<br>
>> ++ mode_t mode = 0660;<br>>> ++ mknod(loop255, mode, 0x7ff);<br>>> ++ mknod(loop256, mode, 0x100700);<br>>> ++ ret = stat(loop255,&statbuf);<br>>> ++ if(ret< 0) {<br>
>> ++ printf("stat: Cant stat %s\n",loop255);<br>>> ++ unlink(loop255);<br>>> ++ exit(1);<br>>> ++ }<br>>> ++ ret = stat(loop256,&statbuf);<br>>> ++ if(ret< 0) {<br>
>> ++ printf("stat: Cant stat %s\n",loop256);<br>>> ++ unlink(loop255);<br>>> ++ unlink(loop256);<br>>> ++ exit(1);<br>>> ++ }<br>>> ++<br>>> ++ unlink(loop255);<br>
>> ++ unlink(loop256);<br>>> ++ exit(0);<br>>> ++}<br>>> ++<br>>> +--<br>>> +1.7.5.4<br>>> +<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-headers.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-headers.patch<br>>> similarity index 99%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/argp-headers.patch<br>>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/argp-headers.patch<br>
>> index 7fd148f..b31b991 100644<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-headers.patch<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-headers.patch<br>>> @@ -8,6 +8,8 @@ Signed-off-by: Salvatore Cro<salvatore.cro at <a href="http://st.com" target="_blank">st.com</a>><br>
>> create mode 100644 include/argp.h<br>>> create mode 100644 libc/argp/argp-fmtstream.h<br>>><br>>> +Upstream-Status: Pending<br>>> +<br>>> Index: git/include/argp.h<br>>> ===================================================================<br>
>> --- /dev/null<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-support.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-support.patch<br>>> similarity index 99%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/argp-support.patch<br>
>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/argp-support.patch<br>>> index 04a3c78..3e9680f 100644<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-support.patch<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-support.patch<br>
>> @@ -13,6 +13,9 @@ it doesn't need to link libuargp.so explicitely.<br>>> Signed-off-by: Salvatore Cro<salvatore.cro at <a href="http://st.com" target="_blank">st.com</a>><br>>> Signed-off-by: Filippo Arcidiacono<filippo.arcidiacono at <a href="http://st.com" target="_blank">st.com</a>><br>
>> Signed-off-by: Carmelo Amoroso<carmelo.amoroso at <a href="http://st.com" target="_blank">st.com</a>><br>>> +<br>>> +Upstream-Status: Pending<br>>> +<br>>> ---<br>>> Makefile.in | 8 +<br>
>> Makerules | 8 +-<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/compile-arm-fork-with-O2.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/compile-arm-fork-with-O2.patch<br>
>> similarity index 97%<br>>> rename from<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/compile-arm-fork-with-O2.patch<br>>> rename to<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/compile-arm-fork-with-O2.patch<br>
>> index 429f27d..15ee0ca 100644<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/compile-arm-fork-with-O2.patch<br>>> +++<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/compile-arm-fork-with-O2.patch<br>
>> @@ -1,5 +1,5 @@<br>>> When compiling in thumb mode for arm with -Os gcc gives up since it can<br>>> not find registers<br>>> -to spill. So we use -O2 option for compiling fork.c It may be addressable<br>
>> is gcc.<br>>> +to spill. So we use -O2 option for compiling fork.c It may be addressable<br>>> in gcc.<br>>><br>>> Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>><br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch<br>>> new file mode 100644<br>
>> index 0000000..4e900f3<br>>> --- /dev/null<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch<br>>> @@ -0,0 +1,25 @@<br>>> +Add definition of MSG_WAITFORONE and MSG_CMSG_CLOEXEC<br>
>> +<br>>> +Upstream-Status: Pending<br>>> +<br>>> +Index: git/libc/sysdeps/linux/common/bits/socket.h<br>>> +===================================================================<br>>> +--- git.orig/libc/sysdeps/linux/common/bits/socket.h 2012-01-26<br>
>> 23:23:21.537456132 -0800<br>>> ++++ git/libc/sysdeps/linux/common/bits/socket.h 2012-01-26<br>>> 23:25:10.125461388 -0800<br>>> +@@ -235,8 +235,15 @@<br>>> + #define MSG_ERRQUEUE MSG_ERRQUEUE<br>
>> + MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */<br>>> + #define MSG_NOSIGNAL MSG_NOSIGNAL<br>>> +- MSG_MORE = 0x8000 /* Sender will send more. */<br>>> ++ MSG_MORE = 0x8000, /* Sender will send more. */<br>
>> + #define MSG_MORE MSG_MORE<br>>> ++ MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to<br>>> return.*/<br>>> ++#define MSG_WAITFORONE MSG_WAITFORONE<br>>> ++<br>
>> ++ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file<br>>> ++ descriptor received through<br>>> ++ SCM_RIGHTS. */<br>
>> ++#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC<br>>> + };<br>>> +<br>>> +<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch<br>
>> new file mode 100644<br>>> index 0000000..481f23b<br>>> --- /dev/null<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch<br>>> @@ -0,0 +1,37 @@<br>>> +Implement dup3()<br>
>> +<br>>> +Upstream-Status: Pending<br>>> +<br>>> +Index: git/libc/sysdeps/linux/common/dup3.c<br>>> +===================================================================<br>>> +--- /dev/null 1970-01-01 00:00:00.000000000 +0000<br>
>> ++++ git/libc/sysdeps/linux/common/dup3.c 2012-01-27<br>>> 07:40:52.802900849 -0800<br>>> +@@ -0,0 +1,15 @@<br>>> ++/* vi: set sw=4 ts=4: */<br>>> ++/*<br>>> ++ * dup3() for uClibc<br>
>> ++ *<br>>> ++ * Copyright (C) 2000-2006 Erik Andersen<<a href="mailto:andersen@uclibc.org" target="_blank">andersen@uclibc.org</a>><br>>> ++ *<br>>> ++ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this<br>
>> tarball.<br>>> ++ */<br>>> ++<br>>> ++#include<sys/syscall.h><br>>> ++#include<unistd.h><br>>> ++<br>>> ++<br>>> ++_syscall3(int, dup3, int, oldfd, int, newfd, int, flags)<br>
>> ++libc_hidden_def(dup3)<br>>> +Index: git/include/unistd.h<br>>> +===================================================================<br>>> +--- git.orig/include/unistd.h 2012-01-27 01:19:17.521792781 -0800<br>
>> ++++ git/include/unistd.h 2012-01-27 07:40:03.106898447 -0800<br>>> +@@ -512,6 +512,8 @@<br>>> + /* Duplicate FD to FD2, closing FD2 and making it open on the same file.<br>>> */<br>>> + extern int dup2 (int __fd, int __fd2) __THROW;<br>
>> + libc_hidden_proto(dup2)<br>>> ++extern int dup3 (int __fd, int __fd2, int __flags) __THROW;<br>>> ++libc_hidden_proto(dup3)<br>>> +<br>>> + /* NULL-terminated array of "NAME=VALUE" environment variables. */<br>
>> + extern char **__environ;<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch<br>
>> similarity index 86%<br>>> rename from<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch<br>>> rename to<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch<br>
>> index cfa68ce..d44acca 100644<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch<br>>> +++<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch<br>
>> @@ -1,3 +1,9 @@<br>>> +resolver code should always be in arm mode<br>>> +<br>>> +Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +<br>
>> +Upstream-Status: Pending<br>
>> +<br>>> Index: uClibc/ldso/ldso/arm/resolve.S<br>>> ===================================================================<br>>> --- uClibc.orig/ldso/ldso/arm/resolve.S 2009-03-20<br>>> 12:03:32.000000000 -0700<br>
>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch<br>
>> new file mode 100644<br>>> index 0000000..8064115<br>>> --- /dev/null<br>>> +++<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch<br>>> @@ -0,0 +1,19 @@<br>
>> +Index: git/include/libc-symbols.h<br>>> +===================================================================<br>>> +--- git.orig/include/libc-symbols.h 2011-07-05 17:04:41.171219323<br>>> -0700<br>
>> ++++ git/include/libc-symbols.h 2011-07-05 22:50:36.851661478 -0700<br>>> +@@ -48,10 +48,12 @@<br>>> +<br>>> + */<br>>> +<br>>> +-#include<bits/uClibc_arch_features.h><br>>> +-<br>
>> + /* Enable declarations of GNU extensions, since we are compiling them.<br>>> */<br>>> + #define _GNU_SOURCE 1<br>>> ++#define __need_uClibc_config_h<br>>> ++#include<bits/uClibc_config.h><br>
>> ++#undef __need_uClibc_config_h<br>>> ++#include<bits/uClibc_arch_features.h><br>>> +<br>>> + /* Prepare for the case that `__builtin_expect' is not available. */<br>>> + #if defined __GNUC__&& __GNUC__ == 2&& __GNUC_MINOR__< 96<br>
>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/mips/uClibc.machine<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/mips/uClibc.machine<br>>> similarity index 100%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/mips/uClibc.machine<br>
>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/mips/uClibc.machine<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/orign_path.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/orign_path.patch<br>
>> similarity index 64%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/orign_path.patch<br>>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/orign_path.patch<br>>> index 631951e..c9c15a3 100644<br>
>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/orign_path.patch<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/orign_path.patch<br>>> @@ -3,16 +3,16 @@<br>>> <a href="http://lists.busybox.net/pipermail/uclibc/2011-March/045003.html" target="_blank">http://lists.busybox.net/pipermail/uclibc/2011-March/045003.html</a><br>
>><br>>> Upstream-Status: Pending<br>>><br>>> -diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c<br>>> -index 505247e..2b2d429 100644<br>>> ---- a/ldso/ldso/dl-elf.c<br>>> -+++ b/ldso/ldso/dl-elf.c<br>
>> -@@ -133,53 +133,60 @@ _dl_protect_relro (struct elf_resolve *l)<br>>> +Index: git/ldso/ldso/dl-elf.c<br>>> +===================================================================<br>>> +--- git.orig/ldso/ldso/dl-elf.c 2012-01-23 19:18:58.000000000<br>
>> -0800<br>>> ++++ git/ldso/ldso/dl-elf.c 2012-01-23 21:52:06.144646590 -0800<br>>> +@@ -133,53 +133,60 @@<br>>> * in uClibc/ldso/util/ldd.c */<br>>> static struct elf_resolve *<br>
>> - search_for_named_library(const char *name, int secure, const char<br>>> *path_list,<br>>> + search_for_named_library(const char *name, unsigned rflags, const char<br>>> *path_list,<br>>> - struct dyn_elf **rpnt)<br>
>> -+ struct dyn_elf **rpnt, const char *origin)<br>>> ++ struct dyn_elf **rpnt, const char* origin)<br>>> {<br>>> - char *path, *path_n, *mylibname;<br>>> + char *mylibname;<br>
>> @@ -47,18 +47,6 @@ index 505247e..2b2d429 100644<br>>> - if (*path == 0) {<br>>> - *path = ':';<br>>> - done = 1;<br>>> -- }<br>
>> -- if (*path == ':') {<br>>> -- *path = 0;<br>>> -- if (*path_n)<br>>> -- _dl_strcpy(mylibname, path_n);<br>
>> -- else<br>>> -- _dl_strcpy(mylibname, "."); /* Assume<br>>> current dir if empty path */<br>>> -- _dl_strcat(mylibname, "/");<br>
>> -- _dl_strcat(mylibname, name);<br>>> -- if ((tpnt = _dl_load_elf_shared_library(secure,<br>>> rpnt, mylibname)) != NULL)<br>>> -- return tpnt;<br>
>> -- path_n = path+1;<br>>> + for (p = path_list; p != NULL; p = pn) {<br>>> + pn = _dl_strchr(p + 1, ':');<br>>> + if (pn != NULL) {<br>
>> @@ -69,7 +57,7 @@ index 505247e..2b2d429 100644<br>>> +<br>>> + if (plen>= 7&& _dl_memcmp(p, "$ORIGIN", 7) == 0) {<br>>> + int olen;<br>
>> -+ if (secure&& plen != 7)<br>
>> ++ if (rflags&& plen != 7)<br>>> + continue;<br>>> + if (origin == NULL)<br>>> + continue;<br>
>> @@ -86,12 +74,24 @@ index 505247e..2b2d429 100644<br>>> + } else {<br>>> + _dl_strcpy(mylibname, ".");<br>>> }<br>>> +- if (*path == ':') {<br>
>> +- *path = 0;<br>>> +- if (*path_n)<br>>> +- _dl_strcpy(mylibname, path_n);<br>>> +- else<br>>> +- _dl_strcpy(mylibname, "."); /* Assume<br>
>> current dir if empty path */<br>>> +- _dl_strcat(mylibname, "/");<br>>> +- _dl_strcat(mylibname, name);<br>>> +- if ((tpnt = _dl_load_elf_shared_library(rflags,<br>
>> rpnt, mylibname)) != NULL)<br>>> +- return tpnt;<br>>> +- path_n = path+1;<br>>> +- }<br>>> - path++;<br>>> - } while (!done);<br>
>> + _dl_strcat(mylibname, "/");<br>>> + _dl_strcat(mylibname, name);<br>>> +<br>>> -+ tpnt = _dl_load_elf_shared_library(secure, rpnt,<br>>> mylibname);<br>
>> ++ tpnt = _dl_load_elf_shared_library(rflags, rpnt,<br>>> mylibname);<br>>> + if (tpnt != NULL)<br>>> + return tpnt;<br>>> + }<br>>> @@ -99,44 +99,46 @@ index 505247e..2b2d429 100644<br>
>> return NULL;<br>>> }<br>>><br>>> -@@ -231,7 +238,8 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>>> +@@ -231,8 +238,10 @@<br>>> if (pnt) {<br>
>> pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];<br>>> _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);<br>>> -- if ((tpnt1 = search_for_named_library(libname, secure,<br>
>> pnt, rpnt)) != NULL)<br>>> -+ if ((tpnt1 = search_for_named_library(libname, secure,<br>>> pnt, rpnt,<br>>> +- if ((tpnt1 = search_for_named_library(libname, rflags,<br>
>> pnt, rpnt)) != NULL)<br>>> ++ if ((tpnt1 = search_for_named_library(libname, rflags,<br>>> pnt, rpnt,<br>>> + tpnt->libname)) !=<br>
>> NULL)<br>>> return tpnt1;<br>>> ++<br>>> }<br>>> #endif<br>>> -@@ -239,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>
>> +<br>>> +@@ -240,7 +249,7 @@<br>>> /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */<br>>> if (_dl_library_path) {<br>>> _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n",<br>
>> _dl_library_path);<br>>> -- if ((tpnt1 = search_for_named_library(libname, secure,<br>>> _dl_library_path, rpnt)) != NULL)<br>>> -+ if ((tpnt1 = search_for_named_library(libname, secure,<br>
>> _dl_library_path, rpnt, NULL)) != NULL)<br>>> +- if ((tpnt1 = search_for_named_library(libname, rflags,<br>>> _dl_library_path, rpnt)) != NULL)<br>>> ++ if ((tpnt1 = search_for_named_library(libname, rflags,<br>
>> _dl_library_path, rpnt, NULL)) != NULL)<br>>> {<br>>> return tpnt1;<br>>> }<br>>> -@@ -253,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>
>> secure, struct dyn_elf **rpnt,<br>>> +@@ -254,7 +263,7 @@<br>>> if (pnt) {<br>>> pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];<br>>> _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);<br>
>> -- if ((tpnt1 = search_for_named_library(libname, secure,<br>>> pnt, rpnt)) != NULL)<br>>> -+ if ((tpnt1 = search_for_named_library(libname, secure,<br>>> pnt, rpnt, NULL)) != NULL)<br>
>> +- if ((tpnt1 = search_for_named_library(libname, rflags,<br>>> pnt, rpnt)) != NULL)<br>>> ++ if ((tpnt1 = search_for_named_library(libname, rflags,<br>>> pnt, rpnt, NULL)) != NULL)<br>
>> return tpnt1;<br>>> }<br>>> #endif<br>>> -@@ -287,7 +295,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>>> secure, struct dyn_elf **rpnt,<br>>> +@@ -288,7 +297,7 @@<br>
>> /* Look for libraries wherever the shared library loader<br>>> * was installed */<br>>> _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);<br>>> -- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath,<br>
>> rpnt);<br>>> -+ tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath,<br>>> rpnt, NULL);<br>>> +- tpnt1 = search_for_named_library(libname, rflags, _dl_ldsopath,<br>>> rpnt);<br>
>> ++ tpnt1 = search_for_named_library(libname, rflags, _dl_ldsopath,<br>>> rpnt, NULL);<br>>> if (tpnt1 != NULL)<br>>> return tpnt1;<br>>> -<br>>> -@@ -300,7 +308,7 @@ struct elf_resolve *_dl_load_shared_library(int<br>
>> secure, struct dyn_elf **rpnt,<br>>> + #endif<br>>> +@@ -301,7 +310,7 @@<br>>> #ifndef __LDSO_CACHE_SUPPORT__<br>>> ":" UCLIBC_RUNTIME_PREFIX<br>
>> "usr/X11R6/lib"<br>>> #endif<br>>> @@ -145,12 +147,12 @@ index 505247e..2b2d429 100644<br>>> if (tpnt1 != NULL)<br>>> return tpnt1;<br>>><br>>> -diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c<br>
>> -index 7ee9257..9423670 100644<br>>> ---- a/ldso/ldso/ldso.c<br>>> -+++ b/ldso/ldso/ldso.c<br>>> -@@ -272,6 +272,20 @@ static void __attribute__ ((destructor))<br>>> __attribute_used__ _dl_fini(void)<br>
>> - }<br>>> +Index: git/ldso/ldso/ldso.c<br>>> +===================================================================<br>>> +--- git.orig/ldso/ldso/ldso.c 2012-01-23 19:18:58.000000000 -0800<br>
>> ++++ git/ldso/ldso/ldso.c 2012-01-23 21:34:11.152594621 -0800<br>>> +@@ -407,6 +407,20 @@<br>>> + return p - list;<br>>> }<br>>><br>>> +static void _dl_setup_progname(const char *argv0)<br>
>> @@ -167,10 +169,10 @@ index 7ee9257..9423670 100644<br>>> + }<br>>> +}<br>>> +<br>>> - void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE<br>>> load_addr,<br>
>> - ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp,<br>>> - char **argv<br>>> -@@ -321,9 +335,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt,<br>>> DL_LOADADDR_TYPE load_addr,<br>
>> + void *_dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE<br>>> load_addr,<br>>> + ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp,<br>>> char **argv<br>>> + DL_GET_READY_TO_RUN_EXTRA_PARMS)<br>
>> +@@ -458,9 +472,7 @@<br>>> * been fixed up by now. Still no function calls outside of this<br>>> * library, since the dynamic resolver is not yet ready.<br>>> */<br>>> @@ -179,5 +181,5 @@ index 7ee9257..9423670 100644<br>
>> - }<br>>> + _dl_setup_progname(argv[0]);<br>>><br>>> + #ifndef __LDSO_STANDALONE_SUPPORT__<br>>> if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) {<br>>> - _dl_dprintf(_dl_debug_file, "Standalone execution is not<br>
>> supported yet\n");<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/powerpc_copysignl.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/powerpc_copysignl.patch<br>>> similarity index 96%<br>
>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/powerpc_copysignl.patch<br>>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/powerpc_copysignl.patch<br>>> index 339ce7f..3fa10af 100644<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/powerpc_copysignl.patch<br>
>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/powerpc_copysignl.patch<br>>> @@ -1,3 +1,9 @@<br>>> +Add ppc copysignl implementation<br>>> +<br>>> +Upstream-Status: Pending<br>>> +<br>
>> +Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +<br>>> Index: git/libc/sysdeps/linux/powerpc/Makefile.arch<br>>> ===================================================================<br>
>> --- git.orig/libc/sysdeps/linux/powerpc/Makefile.arch<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/remove_attribute_optimize_Os.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/remove_attribute_optimize_Os.patch<br>
>> similarity index 93%<br>>> rename from<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/remove_attribute_optimize_Os.patch<br>>> rename to<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/remove_attribute_optimize_Os.patch<br>
>> index 1930383..bee251c 100644<br>>> ---<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/remove_attribute_optimize_Os.patch<br>>> +++<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/remove_attribute_optimize_Os.patch<br>
>> @@ -1,15 +1,8 @@<br>>> -Index: git/include/features.h<br>>> -===================================================================<br>>> ---- git.orig/include/features.h<br>>> -+++ git/include/features.h<br>
>> -@@ -186,7 +186,6 @@<br>>> - # define __need_uClibc_config_h<br>>> - # include<bits/uClibc_config.h><br>>> - # undef __need_uClibc_config_h<br>>> --<br>>> - /* For uClibc, always optimize for size -- this should disable<br>
>> - * a lot of expensive inlining...<br>>> - * TODO: this is wrong! __OPTIMIZE_SIZE__ is an indicator of<br>>> +Dont support localised optimizations this helps to have a global -O level<br>>> +<br>
>> +Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +Upstream-Status: Pending<br>>> +<br>>> Index: git/libpthread/nptl/pthread_mutex_timedlock.c<br>
>> ===================================================================<br>>> --- git.orig/libpthread/nptl/pthread_mutex_timedlock.c<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.distro<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.distro<br>>> similarity index 96%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.distro<br>>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.distro<br>
>> index 5638d47..c33bf8e 100644<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.distro<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.distro<br>>> @@ -181,4 +181,10 @@ UCLIBC_HAS_FLOATS=y<br>
>><br>>> # needed by systemd<br>>> UCLIBC_HAS_UTMPX=y<br>>> -<br>>> +UCLIBC_LINUX_MODULE_26=y<br>>> +UCLIBC_HAS_RESOLVER_SUPPORT=y<br>>> +# needed for LTP<br>>> +UCLIBC_SUSV4_LEGACY=y<br>
>> +UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y<br>>> +DO_XSI_MATH=y<br>>> +UCLIBC_SV4_DEPRECATED=y<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.machine<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.machine<br>
>> similarity index 100%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.machine<br>>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.machine<br>>> diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-execvpe.patch<br>
>> b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc-execvpe.patch<br>>> similarity index 99%<br>>> rename from meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-execvpe.patch<br>>> rename to meta/recipes-core/uclibc/uclibc-0.9.33/uclibc-execvpe.patch<br>
>> index cd90a09..fe191fc 100644<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-execvpe.patch<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc-execvpe.patch<br>>> @@ -12,6 +12,9 @@ Signed-off-by: Henning Heinold<<a href="mailto:heinold@inf.fu-berlin.de" target="_blank">heinold@inf.fu-berlin.de</a>><br>
>> 3 files changed, 46 insertions(+), 5 deletions(-)<br>>> create mode 100644 libc/unistd/execvpe.c<br>>><br>>> +<br>>> +Upstream-Status: Pending<br>>> +<br>>> diff --git a/include/unistd.h b/include/unistd.h<br>
>> index 9568790..070e4f2 100644<br>>> --- a/include/unistd.h<br>>> diff --git<br>>> a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_enable_log2_test.patch<br>>> b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc_enable_log2_test.patch<br>
>> similarity index 81%<br>>> rename from<br>>> meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_enable_log2_test.patch<br>>> rename to<br>>> meta/recipes-core/uclibc/uclibc-0.9.33/uclibc_enable_log2_test.patch<br>
>> index f8f3a7d..37a5988 100644<br>>> --- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_enable_log2_test.patch<br>>> +++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc_enable_log2_test.patch<br>>> @@ -1,3 +1,8 @@<br>
>> +uclibc now has log2 so enable the tests<br>>> +<br>>> +Signed-off-by: Khem Raj<<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>>> +Upstream-Status: Pending<br>
>> +<br>
>> Index: uClibc/test/math/libm-test.inc<br>>> ===================================================================<br>>> --- uClibc/test/math/libm-test.inc (revision 23784)<br>>> diff --git a/meta/recipes-core/uclibc/<a href="http://uclibc-initial_0.9.32.bb" target="_blank">uclibc-initial_0.9.32.bb</a><br>
>> b/meta/recipes-core/uclibc/<a href="http://uclibc-initial_0.9.33.bb" target="_blank">uclibc-initial_0.9.33.bb</a><br>>> similarity index 100%<br>>> rename from meta/recipes-core/uclibc/<a href="http://uclibc-initial_0.9.32.bb" target="_blank">uclibc-initial_0.9.32.bb</a><br>
>> rename to meta/recipes-core/uclibc/<a href="http://uclibc-initial_0.9.33.bb" target="_blank">uclibc-initial_0.9.33.bb</a><br>>> diff --git a/meta/recipes-core/uclibc/<a href="http://uclibc_0.9.32.bb" target="_blank">uclibc_0.9.32.bb</a><br>
>> b/meta/recipes-core/uclibc/<a href="http://uclibc_0.9.33.bb" target="_blank">uclibc_0.9.33.bb</a><br>>> similarity index 45%<br>>> rename from meta/recipes-core/uclibc/<a href="http://uclibc_0.9.32.bb" target="_blank">uclibc_0.9.32.bb</a><br>
>> rename to meta/recipes-core/uclibc/<a href="http://uclibc_0.9.33.bb" target="_blank">uclibc_0.9.33.bb</a><br>>> index 235b436..b559fd4 100644<br>>> --- a/meta/recipes-core/uclibc/<a href="http://uclibc_0.9.32.bb" target="_blank">uclibc_0.9.32.bb</a><br>
>> +++ b/meta/recipes-core/uclibc/<a href="http://uclibc_0.9.33.bb" target="_blank">uclibc_0.9.33.bb</a><br>>> @@ -1,34 +1,26 @@<br>>> -SRCREV="9152c4d67c763fde5712e2d181d92c0d7e1e2ab9"<br>>> +SRCREV="1548ee3ca582f3732136e71613c87c16230f71cc"<br>
>><br>>> require uclibc.inc<br>>> -PR = "${INC_PR}.3"<br>>> +<br>>> +PR = "${INC_PR}.0"<br>>> PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"<br>>><br>
>> SRC_URI = "git://<a href="http://uclibc.org/uClibc.git;branch=$%7BPV%7D;protocol=git" target="_blank">uclibc.org/uClibc.git;branch=${PV};protocol=git</a> \<br>>> file://uClibc.machine \<br>>> file://uClibc.distro \<br>
>> - file://uclibc-arm-ftruncate64.patch \<br>>> file://uclibc_enable_log2_test.patch \<br>>> file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \<br>>> - file://select-force-thumb.patch \<br>
>> - file://remove-sub-arch-variants.patch \<br>>> - file://transform-eabi-oabi-choice.patch \<br>>> - file://include-arm-asm.h.patch \<br>>> - file://detect-bx-availibility.patch \<br>
>> - file://remove-eabi-oabi-selection.patch \<br>>> file://powerpc_copysignl.patch \<br>>> file://argp-support.patch \<br>>> file://argp-headers.patch \<br>>> file://remove_attribute_optimize_Os.patch \<br>
>> file://compile-arm-fork-with-O2.patch \<br>>> - file://epoll-asm-fix.patch \<br>>> - file://orign_path.patch \<br>>> - file://rtld_no.patch \<br>>> - <br>>> file://0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch \<br>
>> - <br>>> file://0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch \<br>>> file://uclibc-execvpe.patch \<br>>> - file://uclibc_scheduler_update.patch \<br>>> - file://sync_file_range2.patch \<br>
>> - file://mount.h-update.patch \<br>>> + file://orign_path.patch \<br>>> + file://dup3.patch \<br>>> + file://define-MSG_CMSG_CLOEXEC.patch \<br>>> + <br>>> file://0001-lstat-stat-fstat-Use-64bit-version-of-syscall-if-ava.patch \<br>
>> + <br>>> file://0001-Declare-__err-and-pass-it-to-INTERNAL_SYSCALL_NCS-so.patch \<br>>> "<br>>> +<br>>> S = "${WORKDIR}/git"<br><br>