summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-02-02 00:17:30 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-08 00:50:30 +0000
commit0c1386ccad79f3fee36eddc5f7810b4c20b2382d (patch)
tree96f8edc6002bb6492933deede812c760cf617b01 /meta/recipes-core
parentb9ff9682b3bac2c6e23f9c9ba15f25530228e2c7 (diff)
downloadpoky-0c1386ccad79f3fee36eddc5f7810b4c20b2382d.tar.gz
uclibc: Upgrade recipes from 0.9.32 -> 0.9.33
Prefer 0.9.33 by default Delete recipes for 0.9.32 (From OE-Core rev: 5d2c0b051072b3cee510dcad8d20fb26d3843f62) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch29
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch33
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch75
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch25
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch65
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch85
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch91
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch215
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch215
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch172
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch47
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch71
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch13
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch455
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/argp-headers.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/argp-headers.patch)2
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/argp-support.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/argp-support.patch)3
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/compile-arm-fork-with-O2.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/compile-arm-fork-with-O2.patch)2
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch25
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch37
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch)6
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch23
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/mips/uClibc.machine (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/mips/uClibc.machine)0
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/orign_path.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/orign_path.patch)94
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/powerpc_copysignl.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/powerpc_copysignl.patch)6
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/remove_attribute_optimize_Os.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/remove_attribute_optimize_Os.patch)17
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.distro (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.distro)8
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.machine (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.machine)0
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/uclibc-execvpe.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-execvpe.patch)3
-rw-r--r--meta/recipes-core/uclibc/uclibc-0.9.33/uclibc_enable_log2_test.patch (renamed from meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_enable_log2_test.patch)5
-rw-r--r--meta/recipes-core/uclibc/uclibc-initial_0.9.33.bb (renamed from meta/recipes-core/uclibc/uclibc-initial_0.9.32.bb)0
-rw-r--r--meta/recipes-core/uclibc/uclibc_0.9.32.bb34
-rw-r--r--meta/recipes-core/uclibc/uclibc_0.9.33.bb24
32 files changed, 195 insertions, 1685 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch
deleted file mode 100644
index da97d389a0..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 06cdcd2a9dd6b46b7fbb5b3ae0a62bdb7ee6c402 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 27 Jun 2011 17:48:18 -0700
4Subject: [PATCH] Config.in.arch: Free UCLIBC_HAS_FPU setting from depending on UCLIBC_HAS_FLOATS
5
6UCLIBC_HAS_FLOATS and UCLIBC_HAS_FPU are denoting two different aspects.
7UCLIBC_HAS_FLOATS covers the floating point operations which has nothing
8to do if you have FPU or not.
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 extra/Configs/Config.in.arch | 1 -
13 1 files changed, 0 insertions(+), 1 deletions(-)
14
15diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch
16index 5f7a2b0..c1ca390 100644
17--- a/extra/Configs/Config.in.arch
18+++ b/extra/Configs/Config.in.arch
19@@ -133,7 +133,6 @@ config UCLIBC_HAS_FLOATS
20
21 config UCLIBC_HAS_FPU
22 bool "Target CPU has a floating point unit (FPU)"
23- depends on UCLIBC_HAS_FLOATS
24 default y
25 help
26 If your target CPU does not have a Floating Point Unit (FPU) or a
27--
281.7.0.4
29
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch
deleted file mode 100644
index 6892ceb922..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From ecc7d34cbbaf83aae87b091555650ed33e27ed2e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 30 Jun 2011 00:32:11 -0700
4Subject: [PATCH] mips/signalfd.h: SFD_NONBLOCK for mips is 0200 unlike 04000 commonly
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 include/sys/signalfd.h | 9 +++++++++
9 1 files changed, 9 insertions(+), 0 deletions(-)
10
11diff --git a/include/sys/signalfd.h b/include/sys/signalfd.h
12index 8cee17c..f1cb63a 100644
13--- a/include/sys/signalfd.h
14+++ b/include/sys/signalfd.h
15@@ -64,6 +64,15 @@ enum
16 # define SFD_NONBLOCK SFD_NONBLOCK
17 };
18
19+#elif defined __mips__
20+enum
21+ {
22+ SFD_CLOEXEC = 02000000,
23+# define SFD_CLOEXEC SFD_CLOEXEC
24+ SFD_NONBLOCK = 0200
25+# define SFD_NONBLOCK SFD_NONBLOCK
26+ };
27+
28 #else
29 enum
30 {
31--
321.7.0.4
33
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch
deleted file mode 100644
index 43d19fcf10..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/detect-bx-availibility.patch
+++ /dev/null
@@ -1,75 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313307agb;
3 Sat, 8 Jan 2011 16:45:20 -0800 (PST)
4Received: by 10.227.141.78 with SMTP id l14mr16920947wbu.128.1294533919168;
5 Sat, 08 Jan 2011 16:45:19 -0800 (PST)
6Return-Path: <yann.morin.1998@anciens.enib.fr>
7Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
8 by mx.google.com with ESMTP id w30si33755908wbd.17.2011.01.08.16.45.18;
9 Sat, 08 Jan 2011 16:45:19 -0800 (PST)
10Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
11Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
12Received: from roazhon.bzh.lan ([90.32.245.227])
13 by mwinf5d24 with ME
14 id tClC1f0024v5z3u03ClHDo; Sun, 09 Jan 2011 01:45:18 +0100
15From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
16To: uclibc@uclibc.org
17Cc: Khem Raj <raj.khem@gmail.com>,
18 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
19 Carmelo AMOROSO <carmelo.amoroso@st.com>
20Subject: [PATCH 6/7] ARM: detect BX availibility at build time
21Date: Sun, 9 Jan 2011 01:45:09 +0100
22Message-Id: <1294533910-19305-7-git-send-email-yann.morin.1998@anciens.enib.fr>
23X-Mailer: git-send-email 1.7.1
24In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
25References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
26
27The "use BX" option is now a suggestion that BX be used if available.
28Use a macro to detect if BX is available at build time. If so, and
29the user requested it be used, then use it. Otherwise, error out.
30
31Macro courtesy Khem RAJ:
32 http://lists.uclibc.org/pipermail/uclibc/2009-April/042301.html
33
34Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
35Cc: Khem Raj <raj.khem@gmail.com>
36Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
37Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
38---
39 extra/Configs/Config.arm | 4 +++-
40 libc/sysdeps/linux/arm/bits/arm_asm.h | 9 ++++++++-
41 2 files changed, 11 insertions(+), 2 deletions(-)
42
43diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
44index 227b90c..9aa9e56 100644
45--- a/extra/Configs/Config.arm
46+++ b/extra/Configs/Config.arm
47@@ -33,4 +33,6 @@ config COMPILE_IN_THUMB_MODE
48 config USE_BX
49 bool "Use BX in function return"
50 help
51- Use BX instruction for THUMB aware architectures.
52+ Say 'y' to use BX to return from functions on your thumb-aware
53+ processor. Say 'y' if you need to use interworking. Say 'n' if not.
54+ It is safe to say 'y' even if you're not doing interworking.
55diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h b/libc/sysdeps/linux/arm/bits/arm_asm.h
56index 1d87df6..921c9a3 100644
57--- a/libc/sysdeps/linux/arm/bits/arm_asm.h
58+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h
59@@ -24,5 +24,12 @@
60 #define THUMB1_ONLY 1
61 #endif
62
63-#endif /* _ARM_ASM_H */
64+#if defined(__USE_BX__)
65+# if ( defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \
66+ || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \
67+ )
68+# error Use of BX was requested, but is not available on the target processor.
69+# endif /* ARCH level */
70+#endif /* __USE_BX__ */
71
72+#endif /* _ARM_ASM_H */
73--
741.7.1
75
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch
deleted file mode 100644
index bcd834d618..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/epoll-asm-fix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Fix a compile error due to last argument to syscall() not being memory addressable.
2
3Upstream-Status: Pending
4Signed-off-by: Phil Blundell <philb@gnu.org>
5
6diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c
7index 85b0cfd..c034b2c 100644
8--- a/libc/sysdeps/linux/common/epoll.c
9+++ b/libc/sysdeps/linux/common/epoll.c
10@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait;
11 int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
12 int timeout, const sigset_t *set)
13 {
14+ int nsig = _NSIG / 8;
15 if (SINGLE_THREAD_P)
16- return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
17+ return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
18 # ifdef __UCLIBC_HAS_THREADS_NATIVE__
19 else {
20 int oldtype = LIBC_CANCEL_ASYNC ();
21- int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
22+ int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
23 LIBC_CANCEL_RESET (oldtype);
24 return result;
25 }
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch
deleted file mode 100644
index 55c312e2ca..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/include-arm-asm.h.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313304agb;
3 Sat, 8 Jan 2011 16:45:19 -0800 (PST)
4Received: by 10.227.155.75 with SMTP id r11mr17188266wbw.3.1294533918432;
5 Sat, 08 Jan 2011 16:45:18 -0800 (PST)
6Return-Path: <yann.morin.1998@anciens.enib.fr>
7Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
8 by mx.google.com with ESMTP id k3si33753340wbx.29.2011.01.08.16.45.17;
9 Sat, 08 Jan 2011 16:45:18 -0800 (PST)
10Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
11Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
12Received: from roazhon.bzh.lan ([90.32.245.227])
13 by mwinf5d24 with ME
14 id tClC1f0024v5z3u03ClHDf; Sun, 09 Jan 2011 01:45:17 +0100
15From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
16To: uclibc@uclibc.org
17Cc: Khem Raj <raj.khem@gmail.com>,
18 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
19 Carmelo AMOROSO <carmelo.amoroso@st.com>
20Subject: [PATCH 5/7] ARM: #include <bits/arm_asm.h> where __USE_BX__ is used
21Date: Sun, 9 Jan 2011 01:45:08 +0100
22Message-Id: <1294533910-19305-6-git-send-email-yann.morin.1998@anciens.enib.fr>
23X-Mailer: git-send-email 1.7.1
24In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
25References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
26
27The check for __USE_BX__ will be available in bits/arm_asm.h,
28so the latter must be included wherever the former is used.
29
30Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
31Cc: Khem Raj <raj.khem@gmail.com>
32Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
33Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
34---
35 ldso/ldso/arm/dl-startup.h | 1 +
36 libc/sysdeps/linux/arm/sysdep.h | 1 +
37 2 files changed, 2 insertions(+), 0 deletions(-)
38
39diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h
40index a95389d..2dfdaff 100644
41--- a/ldso/ldso/arm/dl-startup.h
42+++ b/ldso/ldso/arm/dl-startup.h
43@@ -7,6 +7,7 @@
44 */
45
46 #include <features.h>
47+#include <bits/arm_asm.h>
48
49 #if !defined(__thumb__)
50 __asm__(
51diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h
52index 013f88c..e498695 100644
53--- a/libc/sysdeps/linux/arm/sysdep.h
54+++ b/libc/sysdeps/linux/arm/sysdep.h
55@@ -21,6 +21,7 @@
56 #define _LINUX_ARM_SYSDEP_H 1
57
58 #include <common/sysdep.h>
59+#include <bits/arm_asm.h>
60
61 #include <sys/syscall.h>
62 /* For Linux we can use the system call table in the header file
63--
641.7.1
65
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch
deleted file mode 100644
index 3508e0ee24..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/mount.h-update.patch
+++ /dev/null
@@ -1,85 +0,0 @@
1Sync mount.h from glibc this is needed to get missing defines
2that some apps e.g. systemd are depending on
3
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6Upstream-Status: Pending
7
8Index: git/include/sys/mount.h
9===================================================================
10--- git.orig/include/sys/mount.h 2011-07-21 14:37:27.134255747 -0700
11+++ git/include/sys/mount.h 2011-07-21 14:39:53.844470932 -0700
12@@ -1,5 +1,5 @@
13 /* Header file for mounting/unmount Linux filesystems.
14- Copyright (C) 1996,1997,1998,1999,2000,2004 Free Software Foundation, Inc.
15+ Copyright (C) 1996-2000, 2004, 2010 Free Software Foundation, Inc.
16 This file is part of the GNU C Library.
17
18 The GNU C Library is free software; you can redistribute it and/or
19@@ -47,23 +47,46 @@
20 #define MS_REMOUNT MS_REMOUNT
21 MS_MANDLOCK = 64, /* Allow mandatory locks on an FS. */
22 #define MS_MANDLOCK MS_MANDLOCK
23- S_WRITE = 128, /* Write on file/directory/symlink. */
24-#define S_WRITE S_WRITE
25- S_APPEND = 256, /* Append-only file. */
26-#define S_APPEND S_APPEND
27- S_IMMUTABLE = 512, /* Immutable file. */
28-#define S_IMMUTABLE S_IMMUTABLE
29+ MS_DIRSYNC = 128, /* Directory modifications are synchronous. */
30+#define MS_DIRSYNC MS_DIRSYNC
31 MS_NOATIME = 1024, /* Do not update access times. */
32 #define MS_NOATIME MS_NOATIME
33 MS_NODIRATIME = 2048, /* Do not update directory access times. */
34 #define MS_NODIRATIME MS_NODIRATIME
35 MS_BIND = 4096, /* Bind directory at different place. */
36 #define MS_BIND MS_BIND
37+ MS_MOVE = 8192,
38+#define MS_MOVE MS_MOVE
39+ MS_REC = 16384,
40+#define MS_REC MS_REC
41+ MS_SILENT = 32768,
42+#define MS_SILENT MS_SILENT
43+ MS_POSIXACL = 1 << 16, /* VFS does not apply the umask. */
44+#define MS_POSIXACL MS_POSIXACL
45+ MS_UNBINDABLE = 1 << 17, /* Change to unbindable. */
46+#define MS_UNBINDABLE MS_UNBINDABLE
47+ MS_PRIVATE = 1 << 18, /* Change to private. */
48+#define MS_PRIVATE MS_PRIVATE
49+ MS_SLAVE = 1 << 19, /* Change to slave. */
50+#define MS_SLAVE MS_SLAVE
51+ MS_SHARED = 1 << 20, /* Change to shared. */
52+#define MS_SHARED MS_SHARED
53+ MS_RELATIME = 1 << 21, /* Update atime relative to mtime/ctime. */
54+#define MS_RELATIME MS_RELATIME
55+ MS_KERNMOUNT = 1 << 22, /* This is a kern_mount call. */
56+#define MS_KERNMOUNT MS_KERNMOUNT
57+ MS_I_VERSION = 1 << 23, /* Update inode I_version field. */
58+#define MS_I_VERSION MS_I_VERSION
59+ MS_STRICTATIME = 1 << 24, /* Always perform atime updates. */
60+#define MS_STRICTATIME MS_STRICTATIME
61+ MS_ACTIVE = 1 << 30,
62+#define MS_ACTIVE MS_ACTIVE
63+ MS_NOUSER = 1 << 31
64+#define MS_NOUSER MS_NOUSER
65 };
66
67 /* Flags that can be altered by MS_REMOUNT */
68-#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_NOATIME \
69- |MS_NODIRATIME)
70+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION)
71
72
73 /* Magic mount flag number. Has to be or-ed to the flag values. */
74@@ -100,8 +123,10 @@
75 #define MNT_FORCE MNT_FORCE
76 MNT_DETACH = 2, /* Just detach from the tree. */
77 #define MNT_DETACH MNT_DETACH
78- MNT_EXPIRE = 4 /* Mark for expiry. */
79+ MNT_EXPIRE = 4, /* Mark for expiry. */
80 #define MNT_EXPIRE MNT_EXPIRE
81+ UMOUNT_NOFOLLOW = 8 /* Don't follow symlink on umount. */
82+#define UMOUNT_NOFOLLOW UMOUNT_NOFOLLOW
83 };
84
85
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch
deleted file mode 100644
index 8f3464e2e4..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-eabi-oabi-selection.patch
+++ /dev/null
@@ -1,91 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313309agb;
3 Sat, 8 Jan 2011 16:45:20 -0800 (PST)
4Received: by 10.216.173.7 with SMTP id u7mr612034wel.50.1294533919433;
5 Sat, 08 Jan 2011 16:45:19 -0800 (PST)
6Return-Path: <yann.morin.1998@anciens.enib.fr>
7Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
8 by mx.google.com with ESMTP id e10si33752027wer.68.2011.01.08.16.45.19;
9 Sat, 08 Jan 2011 16:45:19 -0800 (PST)
10Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
11Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
12Received: from roazhon.bzh.lan ([90.32.245.227])
13 by mwinf5d24 with ME
14 id tClC1f0024v5z3u03ClJDu; Sun, 09 Jan 2011 01:45:18 +0100
15From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
16To: uclibc@uclibc.org
17Cc: Khem Raj <raj.khem@gmail.com>,
18 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
19 Carmelo AMOROSO <carmelo.amoroso@st.com>
20Subject: [PATCH 7/7] ARM: remove EABI/OABI selection
21Date: Sun, 9 Jan 2011 01:45:10 +0100
22Message-Id: <1294533910-19305-8-git-send-email-yann.morin.1998@anciens.enib.fr>
23X-Mailer: git-send-email 1.7.1
24In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
25References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
26
27Rely on the compiler to be properly setup for the default ABI.
28
29When installing-headers, there are two cases:
30- NPTL: no issue, a cross-compiler is already expected
31- LinuxThreads: no issue, EABI/OABI has no impact on installed headers.
32
33Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
34Cc: Khem Raj <raj.khem@gmail.com>
35Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
36Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
37---
38 extra/Configs/Config.arm | 11 -----------
39 libc/sysdeps/linux/arm/Makefile.arch | 9 +++++++--
40 libc/sysdeps/linux/arm/bits/huge_val.h | 4 ++--
41 3 files changed, 9 insertions(+), 15 deletions(-)
42
43Index: git/libc/sysdeps/linux/arm/Makefile.arch
44===================================================================
45--- git.orig/libc/sysdeps/linux/arm/Makefile.arch
46+++ git/libc/sysdeps/linux/arm/Makefile.arch
47@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
48 CSRC += posix_fadvise.c posix_fadvise64.c
49 endif
50
51-ifeq ($(CONFIG_ARM_EABI),y)
52+# Is our compiler set up for EABI ?
53+IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM </dev/null 2>/dev/null \
54+ |sed -r -e '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d; s/.+/y/;' \
55+ )
56+
57+ifeq ($(IS_EABI),y)
58 CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
59 aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
60 aeabi_memmove.c aeabi_memset.c find_exidx.c
61@@ -37,7 +42,7 @@ else
62 CSRC += syscall.c
63 endif
64
65-ifeq ($(CONFIG_ARM_EABI),y)
66+ifeq ($(IS_EABI),y)
67 libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
68 $(ARCH_OUT)/aeabi_sighandlers.o
69 libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
70Index: git/libc/sysdeps/linux/arm/bits/huge_val.h
71===================================================================
72--- git.orig/libc/sysdeps/linux/arm/bits/huge_val.h
73+++ git/libc/sysdeps/linux/arm/bits/huge_val.h
74@@ -32,7 +32,7 @@
75 # define HUGE_VAL (__extension__ 0x1.0p2047)
76 #elif defined __GNUC__
77
78-#ifndef __CONFIG_ARM_EABI__
79+#ifndef __ARM_EABI__
80 # define HUGE_VAL \
81 (__extension__ \
82 ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
83@@ -50,7 +50,7 @@
84
85 typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
86
87-#ifndef __CONFIG_ARM_EABI__
88+#ifndef __ARM_EABI__
89 # if __BYTE_ORDER == __BIG_ENDIAN
90 # define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
91 # endif
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch
deleted file mode 100644
index 920a66900d..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/remove-sub-arch-variants.patch
+++ /dev/null
@@ -1,215 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313303agb;
3 Sat, 8 Jan 2011 16:45:18 -0800 (PST)
4Received: by 10.227.98.158 with SMTP id q30mr1255804wbn.151.1294533917314;
5 Sat, 08 Jan 2011 16:45:17 -0800 (PST)
6Return-Path: <yann.morin.1998@anciens.enib.fr>
7Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
8 by mx.google.com with ESMTP id r3si33749838wbr.54.2011.01.08.16.45.16;
9 Sat, 08 Jan 2011 16:45:17 -0800 (PST)
10Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
11Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
12Received: from roazhon.bzh.lan ([90.32.245.227])
13 by mwinf5d24 with ME
14 id tClC1f0024v5z3u03ClGDS; Sun, 09 Jan 2011 01:45:16 +0100
15From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
16To: uclibc@uclibc.org
17Cc: Khem Raj <raj.khem@gmail.com>,
18 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
19 Carmelo AMOROSO <carmelo.amoroso@st.com>
20Subject: [PATCH 3/7] ARM: remove sub-arch/variants selection from menuconfig
21Date: Sun, 9 Jan 2011 01:45:06 +0100
22Message-Id: <1294533910-19305-4-git-send-email-yann.morin.1998@anciens.enib.fr>
23X-Mailer: git-send-email 1.7.1
24In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
25References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
26
27Rely on the compiler to be correctly set up to generate
28appropriate code for the target variant.
29
30This exposes the Thumb option, as it is no longer auto-selected.
31The "Use BX" no longer depends on supported CPU to be selected,
32so it now defaults to 'n' as it shall work by default on CPUs
33that do not have BX.
34
35Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
36Cc: Khem Raj <raj.khem@gmail.com>
37Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
38Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
39---
40 Rules.mak | 19 -------
41 extra/Configs/Config.arm | 125 ++--------------------------------------------
42 2 files changed, 5 insertions(+), 139 deletions(-)
43
44diff --git a/Rules.mak b/Rules.mak
45index 2a16908..09741a6 100644
46--- a/Rules.mak
47+++ b/Rules.mak
48@@ -332,25 +332,6 @@ ifeq ($(TARGET_ARCH),arm)
49 OPTIMIZATION+=-fstrict-aliasing
50 CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN)+=-mlittle-endian
51 CPU_CFLAGS-$(ARCH_BIG_ENDIAN)+=-mbig-endian
52- CPU_CFLAGS-$(CONFIG_GENERIC_ARM)+=
53- CPU_CFLAGS-$(CONFIG_ARM610)+=-mtune=arm610 -march=armv3
54- CPU_CFLAGS-$(CONFIG_ARM710)+=-mtune=arm710 -march=armv3
55- CPU_CFLAGS-$(CONFIG_ARM7TDMI)+=-mtune=arm7tdmi -march=armv4t
56- CPU_CFLAGS-$(CONFIG_ARM720T)+=-mtune=arm7tdmi -march=armv4t
57- CPU_CFLAGS-$(CONFIG_ARM920T)+=-mtune=arm9tdmi -march=armv4t
58- CPU_CFLAGS-$(CONFIG_ARM922T)+=-mtune=arm9tdmi -march=armv4t
59- CPU_CFLAGS-$(CONFIG_ARM926T)+=-mtune=arm9e -march=armv5te
60- CPU_CFLAGS-$(CONFIG_ARM10T)+=-mtune=arm10tdmi -march=armv5t
61- CPU_CFLAGS-$(CONFIG_ARM1136JF_S)+=-mtune=arm1136jf-s -march=armv6
62- CPU_CFLAGS-$(CONFIG_ARM1176JZ_S)+=-mtune=arm1176jz-s -march=armv6
63- CPU_CFLAGS-$(CONFIG_ARM1176JZF_S)+=-mtune=arm1176jzf-s -march=armv6
64- CPU_CFLAGS-$(CONFIG_ARM_SA110)+=-mtune=strongarm110 -march=armv4
65- CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4
66- CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)
67- CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale
68- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
69- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3
70- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1
71 CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb
72 endif
73
74diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
75index c9c40d4..6c75a00 100644
76--- a/extra/Configs/Config.arm
77+++ b/extra/Configs/Config.arm
78@@ -30,129 +30,14 @@ config CONFIG_ARM_EABI
79
80 endchoice
81
82-choice
83- prompt "Target Processor Type"
84- default CONFIG_GENERIC_ARM
85- help
86- This is the processor type of your CPU. This information is used for
87- optimizing purposes. To build a library that will run on all ARMCPU
88- types (albeit not optimally fast), you can specify "Generic Arm" here.
89- If you pick anything other than "Generic Arm", there is no guarantee
90- that uClibc will even run on anything other than the selected
91- processor type.
92-
93- Here are the settings recommended for greatest speed:
94- - "Generic Arm" select this if your compiler is already setup to
95- optimize things properly, or if you want to run on pretty much
96- everything, or you just don't much care.
97- - For anything else, pick the ARM core type that best matches the
98- cpu you will be using on your device.
99-
100- If you don't know what to do, choose "Generic Arm".
101-
102-config CONFIG_GENERIC_ARM
103- bool "Generic Arm"
104-
105-config CONFIG_ARM610
106- bool "Arm 610"
107- select ARCH_HAS_MMU
108-
109-config CONFIG_ARM710
110- bool "Arm 710"
111- select ARCH_HAS_MMU
112-
113-config CONFIG_ARM7TDMI
114- bool "Arm 7TDMI"
115- select ARCH_HAS_NO_MMU
116- select HAS_THUMB
117-
118-config CONFIG_ARM720T
119- bool "Arm 720T"
120- select ARCH_HAS_MMU
121- select HAS_THUMB
122-
123-config CONFIG_ARM920T
124- bool "Arm 920T"
125- select ARCH_HAS_MMU
126- select HAS_THUMB
127-
128-config CONFIG_ARM922T
129- bool "Arm 922T"
130- select ARCH_HAS_MMU
131- select HAS_THUMB
132-
133-config CONFIG_ARM926T
134- bool "Arm 926T"
135- select ARCH_HAS_MMU
136- select HAS_THUMB
137-
138-config CONFIG_ARM10T
139- bool "Arm 10T"
140- select ARCH_HAS_MMU
141- select HAS_THUMB
142-
143-config CONFIG_ARM1136JF_S
144- bool "Arm 1136JF-S"
145- select ARCH_HAS_MMU
146- select HAS_THUMB
147-
148-config CONFIG_ARM1176JZ_S
149- bool "Arm 1176JZ-S"
150- select ARCH_HAS_MMU
151- select HAS_THUMB
152-
153-config CONFIG_ARM1176JZF_S
154- bool "Arm 1176JZF-S"
155- select ARCH_HAS_MMU
156- select HAS_THUMB
157-
158-config CONFIG_ARM_CORTEX_M3
159- bool "Arm Cortex-M3"
160- select ARCH_HAS_NO_MMU
161- select FORCE_THUMB
162-
163-config CONFIG_ARM_CORTEX_M1
164- bool "Arm Cortex-M1"
165- select ARCH_HAS_NO_MMU
166- select FORCE_THUMB
167-
168-config CONFIG_ARM_SA110
169- bool "Intel StrongArm SA-110"
170- select ARCH_HAS_MMU
171- select HAS_THUMB
172-
173-config CONFIG_ARM_SA1100
174- bool "Intel StrongArm SA-1100"
175- select ARCH_HAS_MMU
176- select HAS_THUMB
177-
178-config CONFIG_ARM_XSCALE
179- bool "Intel Xscale"
180- select ARCH_HAS_MMU
181- select HAS_THUMB
182-
183-config CONFIG_ARM_IWMMXT
184- bool "Intel Xscale With WMMX PXA27x"
185- select ARCH_HAS_MMU
186- select HAS_THUMB
187-
188-endchoice
189-
190-config HAS_THUMB
191- bool
192-
193-config FORCE_THUMB
194- bool
195- select HAS_THUMB
196- select COMPILE_IN_THUMB_MODE
197- select USE_BX
198-
199 config COMPILE_IN_THUMB_MODE
200- bool
201+ bool "Build using Thumb mode"
202+ select USE_BX
203+ help
204+ Say 'y' here to force building uClibc in thumb mode.
205+ Say 'n' to use your compiler's default mode.
206
207 config USE_BX
208 bool "Use BX in function return"
209- default y
210- depends on HAS_THUMB
211 help
212 Use BX instruction for THUMB aware architectures.
213--
2141.7.1
215
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch
deleted file mode 100644
index 30cb7f6ef6..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/rtld_no.patch
+++ /dev/null
@@ -1,215 +0,0 @@
1Patch is backported from
2http://lists.busybox.net/pipermail/uclibc/2011-March/045004.html
3
4Upstream-Status: Pending
5
6diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h
7index 7fbb373..7102351 100644
8--- a/ldso/include/dl-elf.h
9+++ b/ldso/include/dl-elf.h
10@@ -25,16 +25,18 @@ static __inline__ void _dl_map_cache(void) { }
11 static __inline__ void _dl_unmap_cache(void) { }
12 #endif
13
14+#define DL_RESOLVE_SECURE 0x0001
15+#define DL_RESOLVE_NOLOAD 0x0002
16
17 /* Function prototypes for non-static stuff in readelflib1.c */
18 extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
19 unsigned long rel_addr, unsigned long rel_size);
20 extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,
21 unsigned long rel_addr, unsigned long rel_size);
22-extern struct elf_resolve * _dl_load_shared_library(int secure,
23+extern struct elf_resolve * _dl_load_shared_library(int resolve_flags,
24 struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname,
25 int trace_loaded_objects);
26-extern struct elf_resolve * _dl_load_elf_shared_library(int secure,
27+extern struct elf_resolve * _dl_load_elf_shared_library(int resolve_flags,
28 struct dyn_elf **rpnt, char *libname);
29 extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const char *full_libname,
30 int trace_loaded_objects);
31diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
32index 2b2d429..6d35bf2 100644
33--- a/ldso/ldso/dl-elf.c
34+++ b/ldso/ldso/dl-elf.c
35@@ -132,7 +132,7 @@ _dl_protect_relro (struct elf_resolve *l)
36 /* This function's behavior must exactly match that
37 * in uClibc/ldso/util/ldd.c */
38 static struct elf_resolve *
39-search_for_named_library(const char *name, int secure, const char *path_list,
40+search_for_named_library(const char *name, int resolve_flags, const char *path_list,
41 struct dyn_elf **rpnt, const char *origin)
42 {
43 char *mylibname;
44@@ -162,7 +162,7 @@ search_for_named_library(const char *name, int secure, const char *path_list,
45
46 if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) {
47 int olen;
48- if (secure && plen != 7)
49+ if ((resolve_flags & DL_RESOLVE_SECURE) && plen != 7)
50 continue;
51 if (origin == NULL)
52 continue;
53@@ -182,7 +182,7 @@ search_for_named_library(const char *name, int secure, const char *path_list,
54 _dl_strcat(mylibname, "/");
55 _dl_strcat(mylibname, name);
56
57- tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname);
58+ tpnt = _dl_load_elf_shared_library(resolve_flags, rpnt, mylibname);
59 if (tpnt != NULL)
60 return tpnt;
61 }
62@@ -194,7 +194,7 @@ search_for_named_library(const char *name, int secure, const char *path_list,
63 unsigned long _dl_error_number;
64 unsigned long _dl_internal_error_number;
65
66-struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
67+struct elf_resolve *_dl_load_shared_library(int resolve_flags, struct dyn_elf **rpnt,
68 struct elf_resolve *tpnt, char *full_libname, int attribute_unused trace_loaded_objects)
69 {
70 char *pnt;
71@@ -223,7 +223,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
72
73 if (libname != full_libname) {
74 _dl_if_debug_dprint("\ttrying file='%s'\n", full_libname);
75- tpnt1 = _dl_load_elf_shared_library(secure, rpnt, full_libname);
76+ tpnt1 = _dl_load_elf_shared_library(resolve_flags, rpnt, full_libname);
77 if (tpnt1) {
78 return tpnt1;
79 }
80@@ -238,7 +238,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
81 if (pnt) {
82 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
83 _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);
84- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt,
85+ if ((tpnt1 = search_for_named_library(libname, resolve_flags, pnt, rpnt,
86 tpnt->libname)) != NULL)
87 return tpnt1;
88 }
89@@ -247,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
90 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
91 if (_dl_library_path) {
92 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
93- if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt, NULL)) != NULL)
94+ if ((tpnt1 = search_for_named_library(libname, resolve_flags, _dl_library_path, rpnt, NULL)) != NULL)
95 {
96 return tpnt1;
97 }
98@@ -261,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
99 if (pnt) {
100 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
101 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
102- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, NULL)) != NULL)
103+ if ((tpnt1 = search_for_named_library(libname, resolve_flags, pnt, rpnt, NULL)) != NULL)
104 return tpnt1;
105 }
106 #endif
107@@ -284,7 +284,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
108 || libent[i].flags == LIB_ELF_LIBC0
109 || libent[i].flags == LIB_ELF_LIBC5)
110 && _dl_strcmp(libname, strs + libent[i].sooffset) == 0
111- && (tpnt1 = _dl_load_elf_shared_library(secure, rpnt, strs + libent[i].liboffset))
112+ && (tpnt1 = _dl_load_elf_shared_library(resolve_flags, rpnt, strs + libent[i].liboffset))
113 ) {
114 return tpnt1;
115 }
116@@ -295,14 +295,14 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt,
117 /* Look for libraries wherever the shared library loader
118 * was installed */
119 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
120- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt, NULL);
121+ tpnt1 = search_for_named_library(libname, resolve_flags, _dl_ldsopath, rpnt, NULL);
122 if (tpnt1 != NULL)
123 return tpnt1;
124
125 /* Lastly, search the standard list of paths for the library.
126 This list must exactly match the list in uClibc/ldso/util/ldd.c */
127 _dl_if_debug_dprint("\tsearching full lib path list\n");
128- tpnt1 = search_for_named_library(libname, secure,
129+ tpnt1 = search_for_named_library(libname, resolve_flags,
130 UCLIBC_RUNTIME_PREFIX "lib:"
131 UCLIBC_RUNTIME_PREFIX "usr/lib"
132 #ifndef __LDSO_CACHE_SUPPORT__
133@@ -329,7 +329,7 @@ goof:
134 * are required.
135 */
136
137-struct elf_resolve *_dl_load_elf_shared_library(int secure,
138+struct elf_resolve *_dl_load_elf_shared_library(int resolve_flags,
139 struct dyn_elf **rpnt, char *libname)
140 {
141 ElfW(Ehdr) *epnt;
142@@ -368,7 +368,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,
143 }
144 /* If we are in secure mode (i.e. a setu/gid binary using LD_PRELOAD),
145 we don't load the library if it isn't setuid. */
146- if (secure) {
147+ if (resolve_flags & DL_RESOLVE_SECURE) {
148 if (!(st.st_mode & S_ISUID)) {
149 _dl_close(infile);
150 return NULL;
151@@ -384,6 +384,10 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,
152 return tpnt;
153 }
154 }
155+ if (resolve_flags & DL_RESOLVE_NOLOAD) {
156+ _dl_close(infile);
157+ return NULL;
158+ }
159 header = _dl_mmap((void *) 0, _dl_pagesize, PROT_READ | PROT_WRITE,
160 MAP_PRIVATE | MAP_ANONYMOUS | MAP_UNINITIALIZE, -1, 0);
161 if (_dl_mmap_check_error(header)) {
162diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
163index 9423670..b71af34 100644
164--- a/ldso/ldso/ldso.c
165+++ b/ldso/ldso/ldso.c
166@@ -646,7 +646,9 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
167 if (!_dl_secure || _dl_strchr(str, '/') == NULL) {
168 _dl_if_debug_dprint("\tfile='%s'; needed by '%s'\n", str, _dl_progname);
169
170- tpnt1 = _dl_load_shared_library(_dl_secure, &rpnt, NULL, str, trace_loaded_objects);
171+ tpnt1 = _dl_load_shared_library(
172+ _dl_secure ? DL_RESOLVE_SECURE : 0,
173+ &rpnt, NULL, str, trace_loaded_objects);
174 if (!tpnt1) {
175 #ifdef __LDSO_LDD_SUPPORT__
176 if (trace_loaded_objects)
177diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
178index 68cd579..edf38d2 100644
179--- a/ldso/libdl/libdl.c
180+++ b/ldso/libdl/libdl.c
181@@ -288,7 +288,7 @@ void *dlopen(const char *libname, int flag)
182 #endif
183
184 /* A bit of sanity checking... */
185- if (!(flag & (RTLD_LAZY|RTLD_NOW))) {
186+ if (!(flag & (RTLD_LAZY|RTLD_NOW|RTLD_NOLOAD))) {
187 _dl_error_number = LD_BAD_HANDLE;
188 return NULL;
189 }
190@@ -358,8 +358,9 @@ void *dlopen(const char *libname, int flag)
191 /* Try to load the specified library */
192 _dl_if_debug_print("Trying to dlopen '%s', RTLD_GLOBAL:%d RTLD_NOW:%d\n",
193 (char*)libname, (flag & RTLD_GLOBAL ? 1:0), (now_flag & RTLD_NOW ? 1:0));
194- tpnt = _dl_load_shared_library(0, &rpnt, tfrom, (char*)libname, 0);
195
196+ tpnt = _dl_load_shared_library((flag & RTLD_NOLOAD) ? DL_RESOLVE_NOLOAD : 0,
197+ &rpnt, tfrom, (char*)libname, 0);
198 if (tpnt == NULL) {
199 _dl_unmap_cache();
200 return NULL;
201diff --git a/libc/sysdeps/linux/common/bits/dlfcn.h b/libc/sysdeps/linux/common/bits/dlfcn.h
202index 4bfbbff..47b42ad 100644
203--- a/libc/sysdeps/linux/common/bits/dlfcn.h
204+++ b/libc/sysdeps/linux/common/bits/dlfcn.h
205@@ -24,9 +24,9 @@
206 /* The MODE argument to `dlopen' contains one of the following: */
207 #define RTLD_LAZY 0x00001 /* Lazy function call binding. */
208 #define RTLD_NOW 0x00002 /* Immediate function call binding. */
209-#if 0 /* uClibc doesnt support these */
210-#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
211+#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */
212 #define RTLD_NOLOAD 0x00004 /* Do not load the object. */
213+#if 0 /* uClibc doesnt support these */
214 #define RTLD_DEEPBIND 0x00008 /* Use deep binding. */
215 #endif
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch
deleted file mode 100644
index b19408f1b2..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/select-force-thumb.patch
+++ /dev/null
@@ -1,172 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313301agb;
3 Sat, 8 Jan 2011 16:45:17 -0800 (PST)
4Received: by 10.216.186.82 with SMTP id v60mr20017574wem.56.1294533916559;
5 Sat, 08 Jan 2011 16:45:16 -0800 (PST)
6Return-Path: <yann.morin.1998@anciens.enib.fr>
7Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
8 by mx.google.com with ESMTP id o13si33755824wee.56.2011.01.08.16.45.16;
9 Sat, 08 Jan 2011 16:45:16 -0800 (PST)
10Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
11Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
12Received: from roazhon.bzh.lan ([90.32.245.227])
13 by mwinf5d24 with ME
14 id tClC1f0024v5z3u03ClFDL; Sun, 09 Jan 2011 01:45:16 +0100
15From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
16To: uclibc@uclibc.org
17Cc: Khem Raj <raj.khem@gmail.com>,
18 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
19 Carmelo AMOROSO <carmelo.amoroso@st.com>
20Subject: [PATCH 2/7] ARM: introduce blind options to select & force THUMB mode
21Date: Sun, 9 Jan 2011 01:45:05 +0100
22Message-Id: <1294533910-19305-3-git-send-email-yann.morin.1998@anciens.enib.fr>
23X-Mailer: git-send-email 1.7.1
24In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
25References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
26
27Add three new blind options to set use of Thumb mode:
28- COMPILE_IN_THUMB_MODE
29 - if set, CFLAGS will contain -mthumb
30 - if unset, the compiler's default is used
31- HAS_THUMB
32 - CPUS with Thumb instruction set can select this
33 - use of BX depends on this
34- FORCE_THUMB
35 - CPUs that are Thumb-only must select this
36 - this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX
37
38Also, remove leading space in Rules.mak.
39
40Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
41Cc: Khem Raj <raj.khem@gmail.com>
42Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
43Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
44---
45 Rules.mak | 7 ++++---
46 extra/Configs/Config.arm | 31 ++++++++++++++++++++++++++++---
47 2 files changed, 32 insertions(+), 6 deletions(-)
48
49diff --git a/Rules.mak b/Rules.mak
50index eecdc64..2a16908 100644
51--- a/Rules.mak
52+++ b/Rules.mak
53@@ -348,9 +348,10 @@ ifeq ($(TARGET_ARCH),arm)
54 CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4
55 CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)
56 CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale
57- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
58- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 -mthumb
59- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 -mthumb
60+ CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt
61+ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3
62+ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1
63+ CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb
64 endif
65
66 ifeq ($(TARGET_ARCH),mips)
67diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
68index 3b90e67..c9c40d4 100644
69--- a/extra/Configs/Config.arm
70+++ b/extra/Configs/Config.arm
71@@ -64,70 +64,95 @@ config CONFIG_ARM710
72 config CONFIG_ARM7TDMI
73 bool "Arm 7TDMI"
74 select ARCH_HAS_NO_MMU
75+ select HAS_THUMB
76
77 config CONFIG_ARM720T
78 bool "Arm 720T"
79 select ARCH_HAS_MMU
80+ select HAS_THUMB
81
82 config CONFIG_ARM920T
83 bool "Arm 920T"
84 select ARCH_HAS_MMU
85+ select HAS_THUMB
86
87 config CONFIG_ARM922T
88 bool "Arm 922T"
89 select ARCH_HAS_MMU
90+ select HAS_THUMB
91
92 config CONFIG_ARM926T
93 bool "Arm 926T"
94 select ARCH_HAS_MMU
95+ select HAS_THUMB
96
97 config CONFIG_ARM10T
98 bool "Arm 10T"
99 select ARCH_HAS_MMU
100+ select HAS_THUMB
101
102 config CONFIG_ARM1136JF_S
103 bool "Arm 1136JF-S"
104 select ARCH_HAS_MMU
105+ select HAS_THUMB
106
107 config CONFIG_ARM1176JZ_S
108 bool "Arm 1176JZ-S"
109 select ARCH_HAS_MMU
110+ select HAS_THUMB
111
112 config CONFIG_ARM1176JZF_S
113 bool "Arm 1176JZF-S"
114 select ARCH_HAS_MMU
115+ select HAS_THUMB
116
117 config CONFIG_ARM_CORTEX_M3
118 bool "Arm Cortex-M3"
119 select ARCH_HAS_NO_MMU
120- select USE_BX
121+ select FORCE_THUMB
122
123 config CONFIG_ARM_CORTEX_M1
124 bool "Arm Cortex-M1"
125 select ARCH_HAS_NO_MMU
126- select USE_BX
127+ select FORCE_THUMB
128
129 config CONFIG_ARM_SA110
130 bool "Intel StrongArm SA-110"
131 select ARCH_HAS_MMU
132+ select HAS_THUMB
133
134 config CONFIG_ARM_SA1100
135 bool "Intel StrongArm SA-1100"
136 select ARCH_HAS_MMU
137+ select HAS_THUMB
138
139 config CONFIG_ARM_XSCALE
140 bool "Intel Xscale"
141 select ARCH_HAS_MMU
142+ select HAS_THUMB
143
144 config CONFIG_ARM_IWMMXT
145 bool "Intel Xscale With WMMX PXA27x"
146 select ARCH_HAS_MMU
147+ select HAS_THUMB
148
149 endchoice
150
151+config HAS_THUMB
152+ bool
153+
154+config FORCE_THUMB
155+ bool
156+ select HAS_THUMB
157+ select COMPILE_IN_THUMB_MODE
158+ select USE_BX
159+
160+config COMPILE_IN_THUMB_MODE
161+ bool
162+
163 config USE_BX
164 bool "Use BX in function return"
165 default y
166- depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710
167+ depends on HAS_THUMB
168 help
169 Use BX instruction for THUMB aware architectures.
170--
1711.7.1
172
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch
deleted file mode 100644
index 4b85a43e8a..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/sync_file_range2.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1Some architectures like ppc, arm use aligned 64 bit inputs so a register is not wasted
2this then uses __NR_sync_file_range2 syscall. Implement is
3
4Singed-off-by: Khem Raj <raj.khem@gmail.com>
5
6Upstream-Status: Pending
7
8Index: git/libc/sysdeps/linux/common/sync_file_range.c
9===================================================================
10--- git.orig/libc/sysdeps/linux/common/sync_file_range.c 2011-07-19 14:23:35.000000000 -0700
11+++ git/libc/sysdeps/linux/common/sync_file_range.c 2011-07-19 15:04:38.631808666 -0700
12@@ -11,7 +11,8 @@
13 #if defined __USE_GNU
14 #include <fcntl.h>
15
16-#if defined __NR_sync_file_range && defined __UCLIBC_HAS_LFS__
17+#if defined __UCLIBC_HAS_LFS__
18+#if defined __NR_sync_file_range
19 #define __NR___syscall_sync_file_range __NR_sync_file_range
20 static __inline__ _syscall6(int, __syscall_sync_file_range, int, fd,
21 off_t, offset_hi, off_t, offset_lo,
22@@ -23,5 +24,23 @@
23 __LONG_LONG_PAIR((long)(nbytes >> 32), (long)(nbytes & 0xffffffff)),
24 flags);
25 }
26-#endif
27-#endif
28+#elif defined __NR_sync_file_range2
29+#define __NR___syscall_sync_file_range2 __NR_sync_file_range2
30+static __inline__ _syscall6(int, __syscall_sync_file_range2, int, fd,
31+ unsigned int, flags, off_t, offset_hi, off_t, offset_lo,
32+ off_t, nbytes_hi, off_t, nbytes_lo)
33+int sync_file_range(int fd, off64_t offset, off64_t nbytes, unsigned int flags)
34+{
35+ return __syscall_sync_file_range2(fd, flags,
36+ __LONG_LONG_PAIR((long)(offset >> 32), (long)(offset & 0xffffffff)),
37+ __LONG_LONG_PAIR((long)(nbytes >> 32), (long)(nbytes & 0xffffffff)));
38+}
39+#else
40+int sync_file_range(int fd, off64_t offset, off64_t nbytes, unsigned int flags)
41+{
42+ __set_errno (ENOSYS);
43+ return -1
44+}
45+#endif /* __NR_sync_file_range */
46+#endif /* __UCLIBC_HAS_LFS__ */
47+#endif /* __USE_GNU */
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch
deleted file mode 100644
index 82970ca458..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/transform-eabi-oabi-choice.patch
+++ /dev/null
@@ -1,71 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313305agb;
3 Sat, 8 Jan 2011 16:45:19 -0800 (PST)
4Received: by 10.216.153.210 with SMTP id f60mr573848wek.114.1294533918335;
5 Sat, 08 Jan 2011 16:45:18 -0800 (PST)
6Return-Path: <yann.morin.1998@anciens.enib.fr>
7Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])
8 by mx.google.com with ESMTP id n4si33737071wej.152.2011.01.08.16.45.17;
9 Sat, 08 Jan 2011 16:45:18 -0800 (PST)
10Received-SPF: neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) client-ip=80.12.242.123;
11Authentication-Results: mx.google.com; spf=neutral (google.com: 80.12.242.123 is neither permitted nor denied by best guess record for domain of yann.morin.1998@anciens.enib.fr) smtp.mail=yann.morin.1998@anciens.enib.fr
12Received: from roazhon.bzh.lan ([90.32.245.227])
13 by mwinf5d24 with ME
14 id tClC1f0024v5z3u03ClGDX; Sun, 09 Jan 2011 01:45:17 +0100
15From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
16To: uclibc@uclibc.org
17Cc: Khem Raj <raj.khem@gmail.com>,
18 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
19 Carmelo AMOROSO <carmelo.amoroso@st.com>
20Subject: [PATCH 4/7] ARM: transform the EABI/OABI choice into a boolean
21Date: Sun, 9 Jan 2011 01:45:07 +0100
22Message-Id: <1294533910-19305-5-git-send-email-yann.morin.1998@anciens.enib.fr>
23X-Mailer: git-send-email 1.7.1
24In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
25References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>
26
27The CONFIG_ARM_OABI option is never used.
28
29Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
30Cc: Khem Raj <raj.khem@gmail.com>
31Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
32Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
33---
34 extra/Configs/Config.arm | 23 ++++++++---------------
35 1 files changed, 8 insertions(+), 15 deletions(-)
36
37Index: git/extra/Configs/Config.arm
38===================================================================
39--- git.orig/extra/Configs/Config.arm
40+++ git/extra/Configs/Config.arm
41@@ -12,23 +12,16 @@ config FORCE_OPTIONS_FOR_ARCH
42 default y
43 select ARCH_ANY_ENDIAN
44
45-choice
46- prompt "Target ABI"
47- default CONFIG_ARM_EABI
48+config CONFIG_ARM_EABI
49+ bool "Build for EABI"
50 help
51- If you choose "EABI" here, functions and constants required by the
52- ARM EABI will be built into the library. You should choose "EABI"
53+ If you say 'y' here, functions and constants required by the
54+ ARM EABI will be built into the library. You should say 'y'
55 if your compiler uses the ARM EABI, in which case you will also
56- need a kernel supporting the EABI system call interface, or "OABI"
57- for a compiler using the old Linux ABI.
58-
59-config CONFIG_ARM_OABI
60- bool "OABI"
61-
62-config CONFIG_ARM_EABI
63- bool "EABI"
64+ need a kernel supporting the EABI system call interface.
65
66-endchoice
67+ If you say 'n' here, then the library will be built for the
68+ old Linux ABI.
69
70 config COMPILE_IN_THUMB_MODE
71 bool "Build using Thumb mode"
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch
deleted file mode 100644
index 504d37bcd2..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-arm-ftruncate64.patch
+++ /dev/null
@@ -1,13 +0,0 @@
1Index: uclibc-0.9.29/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
2===================================================================
3--- uclibc-0.9.29.orig/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
4+++ uclibc-0.9.29/libc/sysdeps/linux/arm/bits/uClibc_arch_features.h
5@@ -38,4 +38,8 @@
6 /* define if target supports IEEE signed zero floats */
7 #define __UCLIBC_HAVE_SIGNED_ZERO__
8
9+#ifdef __ARM_EABI__
10+# define __UCLIBC_TRUNCATE64_HAS_4_ARGS__
11+#endif
12+
13 #endif /* _BITS_UCLIBC_ARCH_FEATURES_H */
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch b/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch
deleted file mode 100644
index 78401bd2ad..0000000000
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_scheduler_update.patch
+++ /dev/null
@@ -1,455 +0,0 @@
1From 2becc16ecbef71c496644d9dc6cbd7383d7cdca3 Mon Sep 17 00:00:00 2001
2From: Henning Heinold <heinold@inf.fu-berlin.de>
3Date: Sat, 4 Jun 2011 21:21:41 +0200
4Subject: [PATCH 1/2] libc: updates the linux scheduler functions, most stuff
5 was taken from the eglibc
6
7
8Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
9---
10 include/sched.h | 52 ++++++++++++----
11 libc/sysdeps/linux/common/Makefile.in | 4 +-
12 libc/sysdeps/linux/common/bits/sched.h | 96 +++++++++++++++++++++++-----
13 libc/sysdeps/linux/common/sched_cpualloc.c | 27 ++++++++
14 libc/sysdeps/linux/common/sched_cpucount.c | 60 +++++++++++++++++
15 libc/sysdeps/linux/common/sched_cpufree.c | 27 ++++++++
16 libc/sysdeps/linux/common/sched_getcpu.c | 37 +++++++++++
17 libc/sysdeps/linux/common/unshare.c | 12 ++++
18 8 files changed, 286 insertions(+), 29 deletions(-)
19 create mode 100644 libc/sysdeps/linux/common/sched_cpualloc.c
20 create mode 100644 libc/sysdeps/linux/common/sched_cpucount.c
21 create mode 100644 libc/sysdeps/linux/common/sched_cpufree.c
22 create mode 100644 libc/sysdeps/linux/common/sched_getcpu.c
23 create mode 100644 libc/sysdeps/linux/common/unshare.c
24
25diff --git a/include/sched.h b/include/sched.h
26index 0d110c3..e265b84 100644
27--- a/include/sched.h
28+++ b/include/sched.h
29@@ -1,5 +1,5 @@
30 /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
31- Copyright (C) 1996,1997,1999,2001-2003,2004 Free Software Foundation, Inc.
32+ Copyright (C) 1996,1997,1999,2001-2004,2007 Free Software Foundation, Inc.
33 This file is part of the GNU C Library.
34
35 The GNU C Library is free software; you can redistribute it and/or
36@@ -25,6 +25,9 @@
37 /* Get type definitions. */
38 #include <bits/types.h>
39
40+#define __need_size_t
41+#include <stddef.h>
42+
43 #define __need_timespec
44 #include <time.h>
45
46@@ -65,11 +68,42 @@ extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
47
48 #if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
49 /* Access macros for `cpu_set'. */
50-#define CPU_SETSIZE __CPU_SETSIZE
51-#define CPU_SET(cpu, cpusetp) __CPU_SET (cpu, cpusetp)
52-#define CPU_CLR(cpu, cpusetp) __CPU_CLR (cpu, cpusetp)
53-#define CPU_ISSET(cpu, cpusetp) __CPU_ISSET (cpu, cpusetp)
54-#define CPU_ZERO(cpusetp) __CPU_ZERO (cpusetp)
55+# define CPU_SETSIZE __CPU_SETSIZE
56+# define CPU_SET(cpu, cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp)
57+# define CPU_CLR(cpu, cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp)
58+# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), \
59+ cpusetp)
60+# define CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp)
61+# define CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp)
62+
63+# define CPU_SET_S(cpu, setsize, cpusetp) __CPU_SET_S (cpu, setsize, cpusetp)
64+# define CPU_CLR_S(cpu, setsize, cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp)
65+# define CPU_ISSET_S(cpu, setsize, cpusetp) __CPU_ISSET_S (cpu, setsize, \
66+ cpusetp)
67+# define CPU_ZERO_S(setsize, cpusetp) __CPU_ZERO_S (setsize, cpusetp)
68+# define CPU_COUNT_S(setsize, cpusetp) __CPU_COUNT_S (setsize, cpusetp)
69+
70+# define CPU_EQUAL(cpusetp1, cpusetp2) \
71+ __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)
72+# define CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
73+ __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)
74+
75+# define CPU_AND(destset, srcset1, srcset2) \
76+ __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &)
77+# define CPU_OR(destset, srcset1, srcset2) \
78+ __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)
79+# define CPU_XOR(destset, srcset1, srcset2) \
80+ __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)
81+# define CPU_AND_S(setsize, destset, srcset1, srcset2) \
82+ __CPU_OP_S (setsize, destset, srcset1, srcset2, &)
83+# define CPU_OR_S(setsize, destset, srcset1, srcset2) \
84+ __CPU_OP_S (setsize, destset, srcset1, srcset2, |)
85+# define CPU_XOR_S(setsize, destset, srcset1, srcset2) \
86+ __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)
87+
88+# define CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count)
89+# define CPU_ALLOC(count) __CPU_ALLOC (count)
90+# define CPU_FREE(cpuset) __CPU_FREE (cpuset)
91
92
93 /* Set the CPU affinity for a task */
94@@ -79,12 +113,6 @@ extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
95 /* Get the CPU affinity for a task */
96 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
97 cpu_set_t *__cpuset) __THROW;
98-
99-extern int __clone (int (*__fn) (void *__arg), void *__child_stack,
100- int __flags, void *__arg, ...);
101-extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
102- size_t __child_stack_size, int __flags, void *__arg, ...);
103-
104 #endif
105
106 __END_DECLS
107diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
108index 8f936ff..cb8c153 100644
109--- a/libc/sysdeps/linux/common/Makefile.in
110+++ b/libc/sysdeps/linux/common/Makefile.in
111@@ -22,9 +22,11 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += capget.c capset.c inotify.c ioperm.c iopl.c \
112 modify_ldt.c pipe2.c personality.c ppoll.c prctl.c \
113 readahead.c reboot.c \
114 remap_file_pages.c sched_getaffinity.c sched_setaffinity.c \
115+ sched_cpualloc.c sched_cpucount.c sched_cpufree.c \
116 sendfile64.c sendfile.c setfsgid.c setfsuid.c setresuid.c \
117 splice.c vmsplice.c tee.c signalfd.c swapoff.c swapon.c \
118- sync_file_range.c sysctl.c sysinfo.c timerfd.c uselib.c vhangup.c
119+ sync_file_range.c sysctl.c sysinfo.c timerfd.c unshare.c \
120+ uselib.c vhangup.c
121 # NPTL needs these internally: madvise.c
122 CSRC-$(findstring y,$(UCLIBC_LINUX_SPECIFIC)$(UCLIBC_HAS_THREADS_NATIVE)) += madvise.c
123 ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
124diff --git a/libc/sysdeps/linux/common/bits/sched.h b/libc/sysdeps/linux/common/bits/sched.h
125index b48a0c8..fea66a8 100644
126--- a/libc/sysdeps/linux/common/bits/sched.h
127+++ b/libc/sysdeps/linux/common/bits/sched.h
128@@ -1,6 +1,7 @@
129 /* Definitions of constants and data structure for POSIX 1003.1b-1993
130 scheduling interface.
131- Copyright (C) 1996-1999,2001-2003,2005,2006 Free Software Foundation, Inc.
132+ Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008
133+ Free Software Foundation, Inc.
134 This file is part of the GNU C Library.
135
136 The GNU C Library is free software; you can redistribute it and/or
137@@ -58,7 +59,13 @@
138 force CLONE_PTRACE on this clone. */
139 # define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
140 the child. */
141-# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
142+# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
143+# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
144+# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
145+# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
146+# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
147+# define CLONE_NEWNET 0x40000000 /* New network namespace. */
148+# define CLONE_IO 0x80000000 /* Clone I/O context. */
149 #endif
150
151 /* The official definition. */
152@@ -74,10 +81,11 @@ __BEGIN_DECLS
153 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
154 int __flags, void *__arg, ...) __THROW;
155
156-#if 0
157 /* Unshare the specified resources. */
158 extern int unshare (int __flags) __THROW;
159-#endif
160+
161+/* Get index of currently used CPU. */
162+extern int sched_getcpu (void) __THROW;
163 #endif
164
165 __END_DECLS
166@@ -102,7 +110,7 @@ struct __sched_param
167 # define __CPU_SETSIZE 1024
168 # define __NCPUBITS (8 * sizeof (__cpu_mask))
169
170-/* Type for array elements in 'cpu_set'. */
171+/* Type for array elements in 'cpu_set_t'. */
172 typedef unsigned long int __cpu_mask;
173
174 /* Basic access functions. */
175@@ -116,17 +124,73 @@ typedef struct
176 } cpu_set_t;
177
178 /* Access functions for CPU masks. */
179-# define __CPU_ZERO(cpusetp) \
180+# define __CPU_ZERO_S(setsize, cpusetp) \
181 do { \
182- unsigned int __i; \
183- cpu_set_t *__arr = (cpusetp); \
184- for (__i = 0; __i < sizeof (cpu_set_t) / sizeof (__cpu_mask); ++__i) \
185- __arr->__bits[__i] = 0; \
186+ size_t __i; \
187+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
188+ __cpu_mask *__bits = (cpusetp)->__bits; \
189+ for (__i = 0; __i < __imax; ++__i) \
190+ __bits[__i] = 0; \
191 } while (0)
192-# define __CPU_SET(cpu, cpusetp) \
193- ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))
194-# define __CPU_CLR(cpu, cpusetp) \
195- ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
196-# define __CPU_ISSET(cpu, cpusetp) \
197- (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
198+# define __CPU_SET_S(cpu, setsize, cpusetp) \
199+ (__extension__ \
200+ ({ size_t __cpu = (cpu); \
201+ __cpu < 8 * (setsize) \
202+ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
203+ |= __CPUMASK (__cpu)) \
204+ : 0; }))
205+# define __CPU_CLR_S(cpu, setsize, cpusetp) \
206+ (__extension__ \
207+ ({ size_t __cpu = (cpu); \
208+ __cpu < 8 * (setsize) \
209+ ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
210+ &= ~__CPUMASK (__cpu)) \
211+ : 0; }))
212+# define __CPU_ISSET_S(cpu, setsize, cpusetp) \
213+ (__extension__ \
214+ ({ size_t __cpu = (cpu); \
215+ __cpu < 8 * (setsize) \
216+ ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \
217+ & __CPUMASK (__cpu))) != 0 \
218+ : 0; }))
219+
220+# define __CPU_COUNT_S(setsize, cpusetp) \
221+ __sched_cpucount (setsize, cpusetp)
222+
223+# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
224+ (__extension__ \
225+ ({ __cpu_mask *__arr1 = (cpusetp1)->__bits; \
226+ __cpu_mask *__arr2 = (cpusetp2)->__bits; \
227+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
228+ size_t __i; \
229+ for (__i = 0; __i < __imax; ++__i) \
230+ if (__arr1[__i] != __arr2[__i]) \
231+ break; \
232+ __i == __imax; }))
233+
234+# define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
235+ (__extension__ \
236+ ({ cpu_set_t *__dest = (destset); \
237+ __cpu_mask *__arr1 = (srcset1)->__bits; \
238+ __cpu_mask *__arr2 = (srcset2)->__bits; \
239+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
240+ size_t __i; \
241+ for (__i = 0; __i < __imax; ++__i) \
242+ ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; \
243+ __dest; }))
244+
245+# define __CPU_ALLOC_SIZE(count) \
246+ ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))
247+# define __CPU_ALLOC(count) __sched_cpualloc (count)
248+# define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
249+
250+__BEGIN_DECLS
251+
252+extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
253+ __THROW;
254+extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur;
255+extern void __sched_cpufree (cpu_set_t *__set) __THROW;
256+
257+__END_DECLS
258+
259 #endif
260diff --git a/libc/sysdeps/linux/common/sched_cpualloc.c b/libc/sysdeps/linux/common/sched_cpualloc.c
261new file mode 100644
262index 0000000..2642a80
263--- /dev/null
264+++ b/libc/sysdeps/linux/common/sched_cpualloc.c
265@@ -0,0 +1,27 @@
266+/* Copyright (C) 2007 Free Software Foundation, Inc.
267+ This file is part of the GNU C Library.
268+
269+ The GNU C Library is free software; you can redistribute it and/or
270+ modify it under the terms of the GNU Lesser General Public
271+ License as published by the Free Software Foundation; either
272+ version 2.1 of the License, or (at your option) any later version.
273+
274+ The GNU C Library is distributed in the hope that it will be useful,
275+ but WITHOUT ANY WARRANTY; without even the implied warranty of
276+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
277+ Lesser General Public License for more details.
278+
279+ You should have received a copy of the GNU Lesser General Public
280+ License along with the GNU C Library; if not, write to the Free
281+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
282+ 02111-1307 USA. */
283+
284+#include <sched.h>
285+#include <stdlib.h>
286+
287+
288+cpu_set_t *
289+__sched_cpualloc (size_t count)
290+{
291+ return malloc (CPU_ALLOC_SIZE (count));
292+}
293diff --git a/libc/sysdeps/linux/common/sched_cpucount.c b/libc/sysdeps/linux/common/sched_cpucount.c
294new file mode 100644
295index 0000000..331c0b8
296--- /dev/null
297+++ b/libc/sysdeps/linux/common/sched_cpucount.c
298@@ -0,0 +1,60 @@
299+/* Copyright (C) 2007 Free Software Foundation, Inc.
300+ This file is part of the GNU C Library.
301+
302+ The GNU C Library is free software; you can redistribute it and/or
303+ modify it under the terms of the GNU Lesser General Public
304+ License as published by the Free Software Foundation; either
305+ version 2.1 of the License, or (at your option) any later version.
306+
307+ The GNU C Library is distributed in the hope that it will be useful,
308+ but WITHOUT ANY WARRANTY; without even the implied warranty of
309+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
310+ Lesser General Public License for more details.
311+
312+ You should have received a copy of the GNU Lesser General Public
313+ License along with the GNU C Library; if not, write to the Free
314+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
315+ 02111-1307 USA. */
316+
317+#include <limits.h>
318+#include <sched.h>
319+
320+
321+int
322+__sched_cpucount (size_t setsize, const cpu_set_t *setp)
323+{
324+ int s = 0;
325+ const __cpu_mask *p = setp->__bits;
326+ const __cpu_mask *end = &setp->__bits[setsize / sizeof (__cpu_mask)];
327+
328+ while (p < end)
329+ {
330+ __cpu_mask l = *p++;
331+
332+#ifdef POPCNT
333+ s += POPCNT (l);
334+#else
335+ if (l == 0)
336+ continue;
337+
338+# if LONG_BIT > 32
339+ l = (l & 0x5555555555555555ul) + ((l >> 1) & 0x5555555555555555ul);
340+ l = (l & 0x3333333333333333ul) + ((l >> 2) & 0x3333333333333333ul);
341+ l = (l & 0x0f0f0f0f0f0f0f0ful) + ((l >> 4) & 0x0f0f0f0f0f0f0f0ful);
342+ l = (l & 0x00ff00ff00ff00fful) + ((l >> 8) & 0x00ff00ff00ff00fful);
343+ l = (l & 0x0000ffff0000fffful) + ((l >> 16) & 0x0000ffff0000fffful);
344+ l = (l & 0x00000000fffffffful) + ((l >> 32) & 0x00000000fffffffful);
345+# else
346+ l = (l & 0x55555555ul) + ((l >> 1) & 0x55555555ul);
347+ l = (l & 0x33333333ul) + ((l >> 2) & 0x33333333ul);
348+ l = (l & 0x0f0f0f0ful) + ((l >> 4) & 0x0f0f0f0ful);
349+ l = (l & 0x00ff00fful) + ((l >> 8) & 0x00ff00fful);
350+ l = (l & 0x0000fffful) + ((l >> 16) & 0x0000fffful);
351+# endif
352+
353+ s += l;
354+#endif
355+ }
356+
357+ return s;
358+}
359diff --git a/libc/sysdeps/linux/common/sched_cpufree.c b/libc/sysdeps/linux/common/sched_cpufree.c
360new file mode 100644
361index 0000000..dd4c613
362--- /dev/null
363+++ b/libc/sysdeps/linux/common/sched_cpufree.c
364@@ -0,0 +1,27 @@
365+/* Copyright (C) 2007 Free Software Foundation, Inc.
366+ This file is part of the GNU C Library.
367+
368+ The GNU C Library is free software; you can redistribute it and/or
369+ modify it under the terms of the GNU Lesser General Public
370+ License as published by the Free Software Foundation; either
371+ version 2.1 of the License, or (at your option) any later version.
372+
373+ The GNU C Library is distributed in the hope that it will be useful,
374+ but WITHOUT ANY WARRANTY; without even the implied warranty of
375+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
376+ Lesser General Public License for more details.
377+
378+ You should have received a copy of the GNU Lesser General Public
379+ License along with the GNU C Library; if not, write to the Free
380+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
381+ 02111-1307 USA. */
382+
383+#include <sched.h>
384+#include <stdlib.h>
385+
386+
387+void
388+__sched_cpufree (cpu_set_t *set)
389+{
390+ free (set);
391+}
392diff --git a/libc/sysdeps/linux/common/sched_getcpu.c b/libc/sysdeps/linux/common/sched_getcpu.c
393new file mode 100644
394index 0000000..b193d65
395--- /dev/null
396+++ b/libc/sysdeps/linux/common/sched_getcpu.c
397@@ -0,0 +1,37 @@
398+/* Copyright (C) 2007 Free Software Foundation, Inc.
399+ This file is part of the GNU C Library.
400+
401+ The GNU C Library is free software; you can redistribute it and/or
402+ modify it under the terms of the GNU Lesser General Public
403+ License as published by the Free Software Foundation; either
404+ version 2.1 of the License, or (at your option) any later version.
405+
406+ The GNU C Library is distributed in the hope that it will be useful,
407+ but WITHOUT ANY WARRANTY; without even the implied warranty of
408+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
409+ Lesser General Public License for more details.
410+
411+ You should have received a copy of the GNU Lesser General Public
412+ License along with the GNU C Library; if not, write to the Free
413+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
414+ 02111-1307 USA. */
415+
416+#include <stdlib.h>
417+#include <errno.h>
418+#include <sched.h>
419+#include <sysdep.h>
420+
421+
422+int
423+sched_getcpu (void)
424+{
425+#ifdef __NR_getcpu
426+ unsigned int cpu;
427+ int r = INLINE_SYSCALL (getcpu, 3, &cpu, NULL, NULL);
428+
429+ return r == -1 ? r : cpu;
430+#else
431+ __set_errno (ENOSYS);
432+ return -1;
433+#endif
434+}
435diff --git a/libc/sysdeps/linux/common/unshare.c b/libc/sysdeps/linux/common/unshare.c
436new file mode 100644
437index 0000000..485bf88
438--- /dev/null
439+++ b/libc/sysdeps/linux/common/unshare.c
440@@ -0,0 +1,12 @@
441+/* vi: set sw=4 ts=4: */
442+/*
443+ * unshare() for uClibc
444+ *
445+ * Copyright (C) 2011 Henning Heinold <heinold@inf.fu-berlin.de>
446+ *
447+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
448+ */
449+
450+#include <sys/syscall.h>
451+#include <sched.h>
452+_syscall1(int, unshare, int, flags)
453--
4541.7.5.3
455
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-headers.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-headers.patch
index 7fd148fed2..b31b991846 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-headers.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-headers.patch
@@ -8,6 +8,8 @@ Signed-off-by: Salvatore Cro <salvatore.cro at st.com>
8 create mode 100644 include/argp.h 8 create mode 100644 include/argp.h
9 create mode 100644 libc/argp/argp-fmtstream.h 9 create mode 100644 libc/argp/argp-fmtstream.h
10 10
11Upstream-Status: Pending
12
11Index: git/include/argp.h 13Index: git/include/argp.h
12=================================================================== 14===================================================================
13--- /dev/null 15--- /dev/null
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-support.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-support.patch
index 04a3c7824c..3e9680f1fe 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/argp-support.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/argp-support.patch
@@ -13,6 +13,9 @@ it doesn't need to link libuargp.so explicitely.
13Signed-off-by: Salvatore Cro <salvatore.cro at st.com> 13Signed-off-by: Salvatore Cro <salvatore.cro at st.com>
14Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono at st.com> 14Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono at st.com>
15Signed-off-by: Carmelo Amoroso <carmelo.amoroso at st.com> 15Signed-off-by: Carmelo Amoroso <carmelo.amoroso at st.com>
16
17Upstream-Status: Pending
18
16--- 19---
17 Makefile.in | 8 + 20 Makefile.in | 8 +
18 Makerules | 8 +- 21 Makerules | 8 +-
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/compile-arm-fork-with-O2.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/compile-arm-fork-with-O2.patch
index 429f27dfc4..15ee0ca156 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/compile-arm-fork-with-O2.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/compile-arm-fork-with-O2.patch
@@ -1,5 +1,5 @@
1When compiling in thumb mode for arm with -Os gcc gives up since it can not find registers 1When compiling in thumb mode for arm with -Os gcc gives up since it can not find registers
2to spill. So we use -O2 option for compiling fork.c It may be addressable is gcc. 2to spill. So we use -O2 option for compiling fork.c It may be addressable in gcc.
3 3
4Signed-off-by: Khem Raj <raj.khem@gmail.com> 4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5 5
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch
new file mode 100644
index 0000000000..4e900f3931
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch
@@ -0,0 +1,25 @@
1Add definition of MSG_WAITFORONE and MSG_CMSG_CLOEXEC
2
3Upstream-Status: Pending
4
5Index: git/libc/sysdeps/linux/common/bits/socket.h
6===================================================================
7--- git.orig/libc/sysdeps/linux/common/bits/socket.h 2012-01-26 23:23:21.537456132 -0800
8+++ git/libc/sysdeps/linux/common/bits/socket.h 2012-01-26 23:25:10.125461388 -0800
9@@ -235,8 +235,15 @@
10 #define MSG_ERRQUEUE MSG_ERRQUEUE
11 MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */
12 #define MSG_NOSIGNAL MSG_NOSIGNAL
13- MSG_MORE = 0x8000 /* Sender will send more. */
14+ MSG_MORE = 0x8000, /* Sender will send more. */
15 #define MSG_MORE MSG_MORE
16+ MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/
17+#define MSG_WAITFORONE MSG_WAITFORONE
18+
19+ MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file
20+ descriptor received through
21+ SCM_RIGHTS. */
22+#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC
23 };
24
25
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch
new file mode 100644
index 0000000000..481f23b2c4
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/dup3.patch
@@ -0,0 +1,37 @@
1Implement dup3()
2
3Upstream-Status: Pending
4
5Index: git/libc/sysdeps/linux/common/dup3.c
6===================================================================
7--- /dev/null 1970-01-01 00:00:00.000000000 +0000
8+++ git/libc/sysdeps/linux/common/dup3.c 2012-01-27 07:40:52.802900849 -0800
9@@ -0,0 +1,15 @@
10+/* vi: set sw=4 ts=4: */
11+/*
12+ * dup3() for uClibc
13+ *
14+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
15+ *
16+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
17+ */
18+
19+#include <sys/syscall.h>
20+#include <unistd.h>
21+
22+
23+_syscall3(int, dup3, int, oldfd, int, newfd, int, flags)
24+libc_hidden_def(dup3)
25Index: git/include/unistd.h
26===================================================================
27--- git.orig/include/unistd.h 2012-01-27 01:19:17.521792781 -0800
28+++ git/include/unistd.h 2012-01-27 07:40:03.106898447 -0800
29@@ -512,6 +512,8 @@
30 /* Duplicate FD to FD2, closing FD2 and making it open on the same file. */
31 extern int dup2 (int __fd, int __fd2) __THROW;
32 libc_hidden_proto(dup2)
33+extern int dup3 (int __fd, int __fd2, int __flags) __THROW;
34+libc_hidden_proto(dup3)
35
36 /* NULL-terminated array of "NAME=VALUE" environment variables. */
37 extern char **__environ;
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch
index cfa68ce52d..d44accadbb 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch
@@ -1,3 +1,9 @@
1resolver code should always be in arm mode
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4
5Upstream-Status: Pending
6
1Index: uClibc/ldso/ldso/arm/resolve.S 7Index: uClibc/ldso/ldso/arm/resolve.S
2=================================================================== 8===================================================================
3--- uClibc.orig/ldso/ldso/arm/resolve.S 2009-03-20 12:03:32.000000000 -0700 9--- uClibc.orig/ldso/ldso/arm/resolve.S 2009-03-20 12:03:32.000000000 -0700
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch
new file mode 100644
index 0000000000..2995a6b930
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/libc_symbols_include_bits_uclibc_config.patch
@@ -0,0 +1,23 @@
1Avoid build warnings
2
3Upstream-Status: Pending
4
5Index: git/include/libc-symbols.h
6===================================================================
7--- git.orig/include/libc-symbols.h 2011-07-05 17:04:41.171219323 -0700
8+++ git/include/libc-symbols.h 2011-07-05 22:50:36.851661478 -0700
9@@ -48,10 +48,12 @@
10
11 */
12
13-#include <bits/uClibc_arch_features.h>
14-
15 /* Enable declarations of GNU extensions, since we are compiling them. */
16 #define _GNU_SOURCE 1
17+#define __need_uClibc_config_h
18+#include <bits/uClibc_config.h>
19+#undef __need_uClibc_config_h
20+#include <bits/uClibc_arch_features.h>
21
22 /* Prepare for the case that `__builtin_expect' is not available. */
23 #if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ < 96
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/mips/uClibc.machine b/meta/recipes-core/uclibc/uclibc-0.9.33/mips/uClibc.machine
index 7d7ab3f418..7d7ab3f418 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/mips/uClibc.machine
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/mips/uClibc.machine
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/orign_path.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/orign_path.patch
index 631951e489..c9c15a34b7 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/orign_path.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/orign_path.patch
@@ -3,16 +3,16 @@ http://lists.busybox.net/pipermail/uclibc/2011-March/045003.html
3 3
4Upstream-Status: Pending 4Upstream-Status: Pending
5 5
6diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c 6Index: git/ldso/ldso/dl-elf.c
7index 505247e..2b2d429 100644 7===================================================================
8--- a/ldso/ldso/dl-elf.c 8--- git.orig/ldso/ldso/dl-elf.c 2012-01-23 19:18:58.000000000 -0800
9+++ b/ldso/ldso/dl-elf.c 9+++ git/ldso/ldso/dl-elf.c 2012-01-23 21:52:06.144646590 -0800
10@@ -133,53 +133,60 @@ _dl_protect_relro (struct elf_resolve *l) 10@@ -133,53 +133,60 @@
11 * in uClibc/ldso/util/ldd.c */ 11 * in uClibc/ldso/util/ldd.c */
12 static struct elf_resolve * 12 static struct elf_resolve *
13 search_for_named_library(const char *name, int secure, const char *path_list, 13 search_for_named_library(const char *name, unsigned rflags, const char *path_list,
14- struct dyn_elf **rpnt) 14- struct dyn_elf **rpnt)
15+ struct dyn_elf **rpnt, const char *origin) 15+ struct dyn_elf **rpnt, const char* origin)
16 { 16 {
17- char *path, *path_n, *mylibname; 17- char *path, *path_n, *mylibname;
18+ char *mylibname; 18+ char *mylibname;
@@ -47,18 +47,6 @@ index 505247e..2b2d429 100644
47- if (*path == 0) { 47- if (*path == 0) {
48- *path = ':'; 48- *path = ':';
49- done = 1; 49- done = 1;
50- }
51- if (*path == ':') {
52- *path = 0;
53- if (*path_n)
54- _dl_strcpy(mylibname, path_n);
55- else
56- _dl_strcpy(mylibname, "."); /* Assume current dir if empty path */
57- _dl_strcat(mylibname, "/");
58- _dl_strcat(mylibname, name);
59- if ((tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname)) != NULL)
60- return tpnt;
61- path_n = path+1;
62+ for (p = path_list; p != NULL; p = pn) { 50+ for (p = path_list; p != NULL; p = pn) {
63+ pn = _dl_strchr(p + 1, ':'); 51+ pn = _dl_strchr(p + 1, ':');
64+ if (pn != NULL) { 52+ if (pn != NULL) {
@@ -69,7 +57,7 @@ index 505247e..2b2d429 100644
69+ 57+
70+ if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) { 58+ if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) {
71+ int olen; 59+ int olen;
72+ if (secure && plen != 7) 60+ if (rflags && plen != 7)
73+ continue; 61+ continue;
74+ if (origin == NULL) 62+ if (origin == NULL)
75+ continue; 63+ continue;
@@ -86,12 +74,24 @@ index 505247e..2b2d429 100644
86+ } else { 74+ } else {
87+ _dl_strcpy(mylibname, "."); 75+ _dl_strcpy(mylibname, ".");
88 } 76 }
77- if (*path == ':') {
78- *path = 0;
79- if (*path_n)
80- _dl_strcpy(mylibname, path_n);
81- else
82- _dl_strcpy(mylibname, "."); /* Assume current dir if empty path */
83- _dl_strcat(mylibname, "/");
84- _dl_strcat(mylibname, name);
85- if ((tpnt = _dl_load_elf_shared_library(rflags, rpnt, mylibname)) != NULL)
86- return tpnt;
87- path_n = path+1;
88- }
89- path++; 89- path++;
90- } while (!done); 90- } while (!done);
91+ _dl_strcat(mylibname, "/"); 91+ _dl_strcat(mylibname, "/");
92+ _dl_strcat(mylibname, name); 92+ _dl_strcat(mylibname, name);
93+ 93+
94+ tpnt = _dl_load_elf_shared_library(secure, rpnt, mylibname); 94+ tpnt = _dl_load_elf_shared_library(rflags, rpnt, mylibname);
95+ if (tpnt != NULL) 95+ if (tpnt != NULL)
96+ return tpnt; 96+ return tpnt;
97+ } 97+ }
@@ -99,44 +99,46 @@ index 505247e..2b2d429 100644
99 return NULL; 99 return NULL;
100 } 100 }
101 101
102@@ -231,7 +238,8 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 102@@ -231,8 +238,10 @@
103 if (pnt) { 103 if (pnt) {
104 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; 104 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
105 _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt); 105 _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);
106- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt)) != NULL) 106- if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != NULL)
107+ if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, 107+ if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt,
108+ tpnt->libname)) != NULL) 108+ tpnt->libname)) != NULL)
109 return tpnt1; 109 return tpnt1;
110+
110 } 111 }
111 #endif 112 #endif
112@@ -239,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 113
114@@ -240,7 +249,7 @@
113 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */ 115 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
114 if (_dl_library_path) { 116 if (_dl_library_path) {
115 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path); 117 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
116- if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt)) != NULL) 118- if ((tpnt1 = search_for_named_library(libname, rflags, _dl_library_path, rpnt)) != NULL)
117+ if ((tpnt1 = search_for_named_library(libname, secure, _dl_library_path, rpnt, NULL)) != NULL) 119+ if ((tpnt1 = search_for_named_library(libname, rflags, _dl_library_path, rpnt, NULL)) != NULL)
118 { 120 {
119 return tpnt1; 121 return tpnt1;
120 } 122 }
121@@ -253,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 123@@ -254,7 +263,7 @@
122 if (pnt) { 124 if (pnt) {
123 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; 125 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
124 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt); 126 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
125- if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt)) != NULL) 127- if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != NULL)
126+ if ((tpnt1 = search_for_named_library(libname, secure, pnt, rpnt, NULL)) != NULL) 128+ if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt, NULL)) != NULL)
127 return tpnt1; 129 return tpnt1;
128 } 130 }
129 #endif 131 #endif
130@@ -287,7 +295,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 132@@ -288,7 +297,7 @@
131 /* Look for libraries wherever the shared library loader 133 /* Look for libraries wherever the shared library loader
132 * was installed */ 134 * was installed */
133 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath); 135 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
134- tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt); 136- tpnt1 = search_for_named_library(libname, rflags, _dl_ldsopath, rpnt);
135+ tpnt1 = search_for_named_library(libname, secure, _dl_ldsopath, rpnt, NULL); 137+ tpnt1 = search_for_named_library(libname, rflags, _dl_ldsopath, rpnt, NULL);
136 if (tpnt1 != NULL) 138 if (tpnt1 != NULL)
137 return tpnt1; 139 return tpnt1;
138 140 #endif
139@@ -300,7 +308,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 141@@ -301,7 +310,7 @@
140 #ifndef __LDSO_CACHE_SUPPORT__ 142 #ifndef __LDSO_CACHE_SUPPORT__
141 ":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib" 143 ":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib"
142 #endif 144 #endif
@@ -145,12 +147,12 @@ index 505247e..2b2d429 100644
145 if (tpnt1 != NULL) 147 if (tpnt1 != NULL)
146 return tpnt1; 148 return tpnt1;
147 149
148diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c 150Index: git/ldso/ldso/ldso.c
149index 7ee9257..9423670 100644 151===================================================================
150--- a/ldso/ldso/ldso.c 152--- git.orig/ldso/ldso/ldso.c 2012-01-23 19:18:58.000000000 -0800
151+++ b/ldso/ldso/ldso.c 153+++ git/ldso/ldso/ldso.c 2012-01-23 21:34:11.152594621 -0800
152@@ -272,6 +272,20 @@ static void __attribute__ ((destructor)) __attribute_used__ _dl_fini(void) 154@@ -407,6 +407,20 @@
153 } 155 return p - list;
154 } 156 }
155 157
156+static void _dl_setup_progname(const char *argv0) 158+static void _dl_setup_progname(const char *argv0)
@@ -167,10 +169,10 @@ index 7ee9257..9423670 100644
167+ } 169+ }
168+} 170+}
169+ 171+
170 void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, 172 void *_dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
171 ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, 173 ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, char **argv
172 char **argv 174 DL_GET_READY_TO_RUN_EXTRA_PARMS)
173@@ -321,9 +335,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, 175@@ -458,9 +472,7 @@
174 * been fixed up by now. Still no function calls outside of this 176 * been fixed up by now. Still no function calls outside of this
175 * library, since the dynamic resolver is not yet ready. 177 * library, since the dynamic resolver is not yet ready.
176 */ 178 */
@@ -179,5 +181,5 @@ index 7ee9257..9423670 100644
179- } 181- }
180+ _dl_setup_progname(argv[0]); 182+ _dl_setup_progname(argv[0]);
181 183
184 #ifndef __LDSO_STANDALONE_SUPPORT__
182 if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) { 185 if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) {
183 _dl_dprintf(_dl_debug_file, "Standalone execution is not supported yet\n");
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/powerpc_copysignl.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/powerpc_copysignl.patch
index 339ce7f5cb..3fa10af4db 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/powerpc_copysignl.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/powerpc_copysignl.patch
@@ -1,3 +1,9 @@
1Add ppc copysignl implementation
2
3Upstream-Status: Pending
4
5Signed-off-by: Khem Raj <raj.khem@gmail.com>
6
1Index: git/libc/sysdeps/linux/powerpc/Makefile.arch 7Index: git/libc/sysdeps/linux/powerpc/Makefile.arch
2=================================================================== 8===================================================================
3--- git.orig/libc/sysdeps/linux/powerpc/Makefile.arch 9--- git.orig/libc/sysdeps/linux/powerpc/Makefile.arch
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/remove_attribute_optimize_Os.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/remove_attribute_optimize_Os.patch
index 1930383260..bee251c335 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/remove_attribute_optimize_Os.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/remove_attribute_optimize_Os.patch
@@ -1,15 +1,8 @@
1Index: git/include/features.h 1Dont support localised optimizations this helps to have a global -O level
2=================================================================== 2
3--- git.orig/include/features.h 3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4+++ git/include/features.h 4Upstream-Status: Pending
5@@ -186,7 +186,6 @@ 5
6 # define __need_uClibc_config_h
7 # include <bits/uClibc_config.h>
8 # undef __need_uClibc_config_h
9-
10 /* For uClibc, always optimize for size -- this should disable
11 * a lot of expensive inlining...
12 * TODO: this is wrong! __OPTIMIZE_SIZE__ is an indicator of
13Index: git/libpthread/nptl/pthread_mutex_timedlock.c 6Index: git/libpthread/nptl/pthread_mutex_timedlock.c
14=================================================================== 7===================================================================
15--- git.orig/libpthread/nptl/pthread_mutex_timedlock.c 8--- git.orig/libpthread/nptl/pthread_mutex_timedlock.c
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.distro b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.distro
index 5638d47dab..c33bf8e7c4 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.distro
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.distro
@@ -181,4 +181,10 @@ UCLIBC_HAS_FLOATS=y
181 181
182# needed by systemd 182# needed by systemd
183UCLIBC_HAS_UTMPX=y 183UCLIBC_HAS_UTMPX=y
184 184UCLIBC_LINUX_MODULE_26=y
185UCLIBC_HAS_RESOLVER_SUPPORT=y
186# needed for LTP
187UCLIBC_SUSV4_LEGACY=y
188UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
189DO_XSI_MATH=y
190UCLIBC_SV4_DEPRECATED=y
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.machine b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.machine
index 595f444dac..595f444dac 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/uClibc.machine
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uClibc.machine
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-execvpe.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc-execvpe.patch
index cd90a09205..fe191fc496 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc-execvpe.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc-execvpe.patch
@@ -12,6 +12,9 @@ Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
12 3 files changed, 46 insertions(+), 5 deletions(-) 12 3 files changed, 46 insertions(+), 5 deletions(-)
13 create mode 100644 libc/unistd/execvpe.c 13 create mode 100644 libc/unistd/execvpe.c
14 14
15
16Upstream-Status: Pending
17
15diff --git a/include/unistd.h b/include/unistd.h 18diff --git a/include/unistd.h b/include/unistd.h
16index 9568790..070e4f2 100644 19index 9568790..070e4f2 100644
17--- a/include/unistd.h 20--- a/include/unistd.h
diff --git a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_enable_log2_test.patch b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc_enable_log2_test.patch
index f8f3a7d1aa..37a59884b8 100644
--- a/meta/recipes-core/uclibc/uclibc-0.9.32/uclibc_enable_log2_test.patch
+++ b/meta/recipes-core/uclibc/uclibc-0.9.33/uclibc_enable_log2_test.patch
@@ -1,3 +1,8 @@
1uclibc now has log2 so enable the tests
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4Upstream-Status: Pending
5
1Index: uClibc/test/math/libm-test.inc 6Index: uClibc/test/math/libm-test.inc
2=================================================================== 7===================================================================
3--- uClibc/test/math/libm-test.inc (revision 23784) 8--- uClibc/test/math/libm-test.inc (revision 23784)
diff --git a/meta/recipes-core/uclibc/uclibc-initial_0.9.32.bb b/meta/recipes-core/uclibc/uclibc-initial_0.9.33.bb
index 234b810074..234b810074 100644
--- a/meta/recipes-core/uclibc/uclibc-initial_0.9.32.bb
+++ b/meta/recipes-core/uclibc/uclibc-initial_0.9.33.bb
diff --git a/meta/recipes-core/uclibc/uclibc_0.9.32.bb b/meta/recipes-core/uclibc/uclibc_0.9.32.bb
deleted file mode 100644
index 235b436bc5..0000000000
--- a/meta/recipes-core/uclibc/uclibc_0.9.32.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1SRCREV="9152c4d67c763fde5712e2d181d92c0d7e1e2ab9"
2
3require uclibc.inc
4PR = "${INC_PR}.3"
5PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
6
7SRC_URI = "git://uclibc.org/uClibc.git;branch=${PV};protocol=git \
8 file://uClibc.machine \
9 file://uClibc.distro \
10 file://uclibc-arm-ftruncate64.patch \
11 file://uclibc_enable_log2_test.patch \
12 file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \
13 file://select-force-thumb.patch \
14 file://remove-sub-arch-variants.patch \
15 file://transform-eabi-oabi-choice.patch \
16 file://include-arm-asm.h.patch \
17 file://detect-bx-availibility.patch \
18 file://remove-eabi-oabi-selection.patch \
19 file://powerpc_copysignl.patch \
20 file://argp-support.patch \
21 file://argp-headers.patch \
22 file://remove_attribute_optimize_Os.patch \
23 file://compile-arm-fork-with-O2.patch \
24 file://epoll-asm-fix.patch \
25 file://orign_path.patch \
26 file://rtld_no.patch \
27 file://0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch \
28 file://0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch \
29 file://uclibc-execvpe.patch \
30 file://uclibc_scheduler_update.patch \
31 file://sync_file_range2.patch \
32 file://mount.h-update.patch \
33 "
34S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/uclibc/uclibc_0.9.33.bb b/meta/recipes-core/uclibc/uclibc_0.9.33.bb
new file mode 100644
index 0000000000..461f5bdd08
--- /dev/null
+++ b/meta/recipes-core/uclibc/uclibc_0.9.33.bb
@@ -0,0 +1,24 @@
1SRCREV="5653245fa516c5823226582d9a02b1b18d5e8925"
2
3require uclibc.inc
4
5PR = "${INC_PR}.0"
6PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
7
8SRC_URI = "git://uclibc.org/uClibc.git;branch=${PV};protocol=git \
9 file://uClibc.machine \
10 file://uClibc.distro \
11 file://uclibc_enable_log2_test.patch \
12 file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \
13 file://powerpc_copysignl.patch \
14 file://argp-support.patch \
15 file://argp-headers.patch \
16 file://remove_attribute_optimize_Os.patch \
17 file://compile-arm-fork-with-O2.patch \
18 file://uclibc-execvpe.patch \
19 file://orign_path.patch \
20 file://dup3.patch \
21 file://define-MSG_CMSG_CLOEXEC.patch \
22 "
23
24S = "${WORKDIR}/git"