summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-07-01 16:17:44 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-07-07 10:57:53 +0100
commit07d06735279d6214197ebb3614dea0b90c2e7300 (patch)
tree3ab6dadb991ef4e7953a87c3f25c2ffbb7806429 /meta
parentd0829aea5f3d170f188e806eca253f994a318e31 (diff)
downloadpoky-07d06735279d6214197ebb3614dea0b90c2e7300.tar.gz
uclibc_git: Move SRCREV past 0.9.32 release
Set DP = -1 since 0.9.32 should be preferred Remove patches already merged upstream Change PV to 0.9.32+0.9.33-rc0 (From OE-Core rev: b0f87affd43ebaf4a9fd07e1cb99408073c61263) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch29
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch33
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/append_UCLIBC_EXTRA_CFLAGS.patch33
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/detect-bx-availibility.patch75
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/epoll-asm-fix.patch25
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/include-arm-asm.h.patch65
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/orign_path.patch42
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/remove-eabi-oabi-selection.patch91
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/remove-sub-arch-variants.patch215
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/reorder-use-BX.patch72
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/rtld_no.patch83
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch172
-rw-r--r--meta/recipes-core/uclibc/uclibc-git/transform-eabi-oabi-choice.patch71
-rw-r--r--meta/recipes-core/uclibc/uclibc_git.bb21
14 files changed, 70 insertions, 957 deletions
diff --git a/meta/recipes-core/uclibc/uclibc-git/0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch b/meta/recipes-core/uclibc/uclibc-git/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-git/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-git/0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch b/meta/recipes-core/uclibc/uclibc-git/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-git/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-git/append_UCLIBC_EXTRA_CFLAGS.patch b/meta/recipes-core/uclibc/uclibc-git/append_UCLIBC_EXTRA_CFLAGS.patch
deleted file mode 100644
index edcb4e324b..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/append_UCLIBC_EXTRA_CFLAGS.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1UCLIBC_EXTRA_CFLAGS is currently added before the OPTIMIZATION flags
2and OPTIMIZATION is chosen to be Os by default. But in OE we pass the optimisation
3flags through UCLIBC_EXTRA_CFLAGS but they are not effective since -Os is
4specified at last. So we need to change the order of these option flags
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9
10diff --git a/Rules.mak b/Rules.mak
11index 65fe47c..eca7f40 100644
12--- a/Rules.mak
13+++ b/Rules.mak
14@@ -585,9 +574,6 @@ CFLAGS := -include $(top_srcdir)include/libc-symbols.h \
15 -nostdinc -I$(top_builddir)include -I$(top_srcdir)include -I. \
16 -I$(top_srcdir)libc/sysdeps/linux \
17 -I$(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)
18-ifneq ($(strip $(UCLIBC_EXTRA_CFLAGS)),"")
19-CFLAGS += $(call qstrip,$(UCLIBC_EXTRA_CFLAGS))
20-endif
21
22 # We need this to be checked within libc-symbols.h
23 ifneq ($(HAVE_SHARED),y)
24@@ -633,6 +619,9 @@ LDFLAGS += -Wl,-s
25 else
26 STRIPTOOL := true -Stripping_disabled
27 endif
28+ifneq ($(strip $(UCLIBC_EXTRA_CFLAGS)),"")
29+CFLAGS += $(call qstrip,$(UCLIBC_EXTRA_CFLAGS))
30+endif
31
32 ifeq ($(DOMULTI),y)
33 # we try to compile all sources at once into an object (IMA), but
diff --git a/meta/recipes-core/uclibc/uclibc-git/detect-bx-availibility.patch b/meta/recipes-core/uclibc/uclibc-git/detect-bx-availibility.patch
deleted file mode 100644
index c5d212a642..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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-git/epoll-asm-fix.patch b/meta/recipes-core/uclibc/uclibc-git/epoll-asm-fix.patch
deleted file mode 100644
index bcd834d618..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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-git/include-arm-asm.h.patch b/meta/recipes-core/uclibc/uclibc-git/include-arm-asm.h.patch
deleted file mode 100644
index 621896fb10..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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-git/orign_path.patch b/meta/recipes-core/uclibc/uclibc-git/orign_path.patch
index 631951e489..b22be8ce63 100644
--- a/meta/recipes-core/uclibc/uclibc-git/orign_path.patch
+++ b/meta/recipes-core/uclibc/uclibc-git/orign_path.patch
@@ -3,11 +3,11 @@ 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 2011-07-01 15:20:51.000000000 -0700
9+++ b/ldso/ldso/dl-elf.c 9+++ git/ldso/ldso/dl-elf.c 2011-07-01 15:21:47.493578777 -0700
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, int secure, const char *path_list,
@@ -99,7 +99,7 @@ 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,7 +238,8 @@
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);
@@ -109,7 +109,7 @@ index 505247e..2b2d429 100644
109 return tpnt1; 109 return tpnt1;
110 } 110 }
111 #endif 111 #endif
112@@ -239,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 112@@ -239,7 +247,7 @@
113 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */ 113 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
114 if (_dl_library_path) { 114 if (_dl_library_path) {
115 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path); 115 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
@@ -118,7 +118,7 @@ index 505247e..2b2d429 100644
118 { 118 {
119 return tpnt1; 119 return tpnt1;
120 } 120 }
121@@ -253,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 121@@ -253,7 +261,7 @@
122 if (pnt) { 122 if (pnt) {
123 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; 123 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
124 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt); 124 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
@@ -127,7 +127,7 @@ index 505247e..2b2d429 100644
127 return tpnt1; 127 return tpnt1;
128 } 128 }
129 #endif 129 #endif
130@@ -287,7 +295,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 130@@ -287,7 +295,7 @@
131 /* Look for libraries wherever the shared library loader 131 /* Look for libraries wherever the shared library loader
132 * was installed */ 132 * was installed */
133 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath); 133 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
@@ -136,7 +136,7 @@ index 505247e..2b2d429 100644
136 if (tpnt1 != NULL) 136 if (tpnt1 != NULL)
137 return tpnt1; 137 return tpnt1;
138 138
139@@ -300,7 +308,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 139@@ -300,7 +308,7 @@
140 #ifndef __LDSO_CACHE_SUPPORT__ 140 #ifndef __LDSO_CACHE_SUPPORT__
141 ":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib" 141 ":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib"
142 #endif 142 #endif
@@ -145,12 +145,12 @@ index 505247e..2b2d429 100644
145 if (tpnt1 != NULL) 145 if (tpnt1 != NULL)
146 return tpnt1; 146 return tpnt1;
147 147
148diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c 148Index: git/ldso/ldso/ldso.c
149index 7ee9257..9423670 100644 149===================================================================
150--- a/ldso/ldso/ldso.c 150--- git.orig/ldso/ldso/ldso.c 2011-07-01 15:20:51.000000000 -0700
151+++ b/ldso/ldso/ldso.c 151+++ git/ldso/ldso/ldso.c 2011-07-01 15:24:32.363820591 -0700
152@@ -272,6 +272,20 @@ static void __attribute__ ((destructor)) __attribute_used__ _dl_fini(void) 152@@ -370,6 +370,20 @@
153 } 153 return p - list;
154 } 154 }
155 155
156+static void _dl_setup_progname(const char *argv0) 156+static void _dl_setup_progname(const char *argv0)
@@ -167,10 +167,10 @@ index 7ee9257..9423670 100644
167+ } 167+ }
168+} 168+}
169+ 169+
170 void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, 170 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, 171 ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, char **argv
172 char **argv 172 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, 173@@ -421,9 +435,7 @@
174 * been fixed up by now. Still no function calls outside of this 174 * been fixed up by now. Still no function calls outside of this
175 * library, since the dynamic resolver is not yet ready. 175 * library, since the dynamic resolver is not yet ready.
176 */ 176 */
@@ -179,5 +179,5 @@ index 7ee9257..9423670 100644
179- } 179- }
180+ _dl_setup_progname(argv[0]); 180+ _dl_setup_progname(argv[0]);
181 181
182 #ifndef __LDSO_STANDALONE_SUPPORT__
182 if (_start == (void *) auxvt[AT_ENTRY].a_un.a_val) { 183 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-git/remove-eabi-oabi-selection.patch b/meta/recipes-core/uclibc/uclibc-git/remove-eabi-oabi-selection.patch
deleted file mode 100644
index f4957351e9..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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-git/remove-sub-arch-variants.patch b/meta/recipes-core/uclibc/uclibc-git/remove-sub-arch-variants.patch
deleted file mode 100644
index 16f3f41c30..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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-git/reorder-use-BX.patch b/meta/recipes-core/uclibc/uclibc-git/reorder-use-BX.patch
deleted file mode 100644
index f9f19f9d08..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/reorder-use-BX.patch
+++ /dev/null
@@ -1,72 +0,0 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.90.86.4 with SMTP id j4cs313299agb;
3 Sat, 8 Jan 2011 16:45:16 -0800 (PST)
4Received: by 10.227.134.5 with SMTP id h5mr1312651wbt.75.1294533915992;
5 Sat, 08 Jan 2011 16:45:15 -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 m42si33753731wej.65.2011.01.08.16.45.15;
9 Sat, 08 Jan 2011 16:45:15 -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 tClC1f0024v5z3u03ClEDA; Sun, 09 Jan 2011 01:45:15 +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 1/7] ARM: reorder "Use BX" option
21Date: Sun, 9 Jan 2011 01:45:04 +0100
22Message-Id: <1294533910-19305-2-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
27"Use BX" is not available on all CPUs, so the option depends on
28a correct CPU to be chosen . It is weird that e BX" then appears
29_above_ the CPU selection, not below.
30
31Move the "Use BX" after the CPU selection.
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 | 14 +++++++-------
39 1 files changed, 7 insertions(+), 7 deletions(-)
40
41diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
42index b060ace..3b90e67 100644
43--- a/extra/Configs/Config.arm
44+++ b/extra/Configs/Config.arm
45@@ -30,13 +30,6 @@ config CONFIG_ARM_EABI
46
47 endchoice
48
49-config USE_BX
50- bool "Use BX in function return"
51- default y
52- depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710
53- help
54- Use BX instruction for THUMB aware architectures.
55-
56 choice
57 prompt "Target Processor Type"
58 default CONFIG_GENERIC_ARM
59@@ -131,3 +124,10 @@ config CONFIG_ARM_IWMMXT
60 select ARCH_HAS_MMU
61
62 endchoice
63+
64+config USE_BX
65+ bool "Use BX in function return"
66+ default y
67+ depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710
68+ help
69+ Use BX instruction for THUMB aware architectures.
70--
711.7.1
72
diff --git a/meta/recipes-core/uclibc/uclibc-git/rtld_no.patch b/meta/recipes-core/uclibc/uclibc-git/rtld_no.patch
index 30cb7f6ef6..36fec651fe 100644
--- a/meta/recipes-core/uclibc/uclibc-git/rtld_no.patch
+++ b/meta/recipes-core/uclibc/uclibc-git/rtld_no.patch
@@ -3,11 +3,11 @@ http://lists.busybox.net/pipermail/uclibc/2011-March/045004.html
3 3
4Upstream-Status: Pending 4Upstream-Status: Pending
5 5
6diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h 6Index: git/ldso/include/dl-elf.h
7index 7fbb373..7102351 100644 7===================================================================
8--- a/ldso/include/dl-elf.h 8--- git.orig/ldso/include/dl-elf.h 2011-07-01 15:20:51.000000000 -0700
9+++ b/ldso/include/dl-elf.h 9+++ git/ldso/include/dl-elf.h 2011-07-01 15:30:43.274364603 -0700
10@@ -25,16 +25,18 @@ static __inline__ void _dl_map_cache(void) { } 10@@ -26,16 +26,18 @@
11 static __inline__ void _dl_unmap_cache(void) { } 11 static __inline__ void _dl_unmap_cache(void) { }
12 #endif 12 #endif
13 13
@@ -18,21 +18,21 @@ index 7fbb373..7102351 100644
18 extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt, 18 extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
19 unsigned long rel_addr, unsigned long rel_size); 19 unsigned long rel_addr, unsigned long rel_size);
20 extern int _dl_parse_relocation_information(struct dyn_elf *rpnt, 20 extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,
21 unsigned long rel_addr, unsigned long rel_size); 21 struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size);
22-extern struct elf_resolve * _dl_load_shared_library(int secure, 22-extern struct elf_resolve * _dl_load_shared_library(int secure,
23+extern struct elf_resolve * _dl_load_shared_library(int resolve_flags, 23+extern struct elf_resolve * _dl_load_shared_library(int resolve_flags,
24 struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname, 24 struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname,
25 int trace_loaded_objects); 25 int trace_loaded_objects);
26-extern struct elf_resolve * _dl_load_elf_shared_library(int secure, 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, 27+extern struct elf_resolve * _dl_load_elf_shared_library(int resolve_flags,
28 struct dyn_elf **rpnt, char *libname); 28 struct dyn_elf **rpnt, const char *libname);
29 extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const char *full_libname, 29 extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const char *full_libname,
30 int trace_loaded_objects); 30 int trace_loaded_objects);
31diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c 31Index: git/ldso/ldso/dl-elf.c
32index 2b2d429..6d35bf2 100644 32===================================================================
33--- a/ldso/ldso/dl-elf.c 33--- git.orig/ldso/ldso/dl-elf.c 2011-07-01 15:21:47.000000000 -0700
34+++ b/ldso/ldso/dl-elf.c 34+++ git/ldso/ldso/dl-elf.c 2011-07-01 15:31:29.814432859 -0700
35@@ -132,7 +132,7 @@ _dl_protect_relro (struct elf_resolve *l) 35@@ -132,7 +132,7 @@
36 /* This function's behavior must exactly match that 36 /* This function's behavior must exactly match that
37 * in uClibc/ldso/util/ldd.c */ 37 * in uClibc/ldso/util/ldd.c */
38 static struct elf_resolve * 38 static struct elf_resolve *
@@ -41,7 +41,7 @@ index 2b2d429..6d35bf2 100644
41 struct dyn_elf **rpnt, const char *origin) 41 struct dyn_elf **rpnt, const char *origin)
42 { 42 {
43 char *mylibname; 43 char *mylibname;
44@@ -162,7 +162,7 @@ search_for_named_library(const char *name, int secure, const char *path_list, 44@@ -162,7 +162,7 @@
45 45
46 if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) { 46 if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) {
47 int olen; 47 int olen;
@@ -50,7 +50,7 @@ index 2b2d429..6d35bf2 100644
50 continue; 50 continue;
51 if (origin == NULL) 51 if (origin == NULL)
52 continue; 52 continue;
53@@ -182,7 +182,7 @@ search_for_named_library(const char *name, int secure, const char *path_list, 53@@ -182,7 +182,7 @@
54 _dl_strcat(mylibname, "/"); 54 _dl_strcat(mylibname, "/");
55 _dl_strcat(mylibname, name); 55 _dl_strcat(mylibname, name);
56 56
@@ -59,7 +59,7 @@ index 2b2d429..6d35bf2 100644
59 if (tpnt != NULL) 59 if (tpnt != NULL)
60 return tpnt; 60 return tpnt;
61 } 61 }
62@@ -194,7 +194,7 @@ search_for_named_library(const char *name, int secure, const char *path_list, 62@@ -194,7 +194,7 @@
63 unsigned long _dl_error_number; 63 unsigned long _dl_error_number;
64 unsigned long _dl_internal_error_number; 64 unsigned long _dl_internal_error_number;
65 65
@@ -68,7 +68,7 @@ index 2b2d429..6d35bf2 100644
68 struct elf_resolve *tpnt, char *full_libname, int attribute_unused trace_loaded_objects) 68 struct elf_resolve *tpnt, char *full_libname, int attribute_unused trace_loaded_objects)
69 { 69 {
70 char *pnt; 70 char *pnt;
71@@ -223,7 +223,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 71@@ -223,7 +223,7 @@
72 72
73 if (libname != full_libname) { 73 if (libname != full_libname) {
74 _dl_if_debug_dprint("\ttrying file='%s'\n", full_libname); 74 _dl_if_debug_dprint("\ttrying file='%s'\n", full_libname);
@@ -77,7 +77,7 @@ index 2b2d429..6d35bf2 100644
77 if (tpnt1) { 77 if (tpnt1) {
78 return tpnt1; 78 return tpnt1;
79 } 79 }
80@@ -238,7 +238,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 80@@ -238,7 +238,7 @@
81 if (pnt) { 81 if (pnt) {
82 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; 82 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
83 _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt); 83 _dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);
@@ -86,7 +86,7 @@ index 2b2d429..6d35bf2 100644
86 tpnt->libname)) != NULL) 86 tpnt->libname)) != NULL)
87 return tpnt1; 87 return tpnt1;
88 } 88 }
89@@ -247,7 +247,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 89@@ -247,7 +247,7 @@
90 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */ 90 /* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
91 if (_dl_library_path) { 91 if (_dl_library_path) {
92 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path); 92 _dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
@@ -95,7 +95,7 @@ index 2b2d429..6d35bf2 100644
95 { 95 {
96 return tpnt1; 96 return tpnt1;
97 } 97 }
98@@ -261,7 +261,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 98@@ -261,7 +261,7 @@
99 if (pnt) { 99 if (pnt) {
100 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB]; 100 pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
101 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt); 101 _dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
@@ -104,7 +104,7 @@ index 2b2d429..6d35bf2 100644
104 return tpnt1; 104 return tpnt1;
105 } 105 }
106 #endif 106 #endif
107@@ -284,7 +284,7 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 107@@ -284,7 +284,7 @@
108 || libent[i].flags == LIB_ELF_LIBC0 108 || libent[i].flags == LIB_ELF_LIBC0
109 || libent[i].flags == LIB_ELF_LIBC5) 109 || libent[i].flags == LIB_ELF_LIBC5)
110 && _dl_strcmp(libname, strs + libent[i].sooffset) == 0 110 && _dl_strcmp(libname, strs + libent[i].sooffset) == 0
@@ -113,7 +113,7 @@ index 2b2d429..6d35bf2 100644
113 ) { 113 ) {
114 return tpnt1; 114 return tpnt1;
115 } 115 }
116@@ -295,14 +295,14 @@ struct elf_resolve *_dl_load_shared_library(int secure, struct dyn_elf **rpnt, 116@@ -295,14 +295,14 @@
117 /* Look for libraries wherever the shared library loader 117 /* Look for libraries wherever the shared library loader
118 * was installed */ 118 * was installed */
119 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath); 119 _dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
@@ -130,16 +130,16 @@ index 2b2d429..6d35bf2 100644
130 UCLIBC_RUNTIME_PREFIX "lib:" 130 UCLIBC_RUNTIME_PREFIX "lib:"
131 UCLIBC_RUNTIME_PREFIX "usr/lib" 131 UCLIBC_RUNTIME_PREFIX "usr/lib"
132 #ifndef __LDSO_CACHE_SUPPORT__ 132 #ifndef __LDSO_CACHE_SUPPORT__
133@@ -329,7 +329,7 @@ goof: 133@@ -444,7 +444,7 @@
134 * are required. 134 * are required.
135 */ 135 */
136 136
137-struct elf_resolve *_dl_load_elf_shared_library(int secure, 137-struct elf_resolve *_dl_load_elf_shared_library(int secure,
138+struct elf_resolve *_dl_load_elf_shared_library(int resolve_flags, 138+struct elf_resolve *_dl_load_elf_shared_library(int resolve_flags,
139 struct dyn_elf **rpnt, char *libname) 139 struct dyn_elf **rpnt, const char *libname)
140 { 140 {
141 ElfW(Ehdr) *epnt; 141 ElfW(Ehdr) *epnt;
142@@ -368,7 +368,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure, 142@@ -483,7 +483,7 @@
143 } 143 }
144 /* If we are in secure mode (i.e. a setu/gid binary using LD_PRELOAD), 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. */ 145 we don't load the library if it isn't setuid. */
@@ -148,7 +148,7 @@ index 2b2d429..6d35bf2 100644
148 if (!(st.st_mode & S_ISUID)) { 148 if (!(st.st_mode & S_ISUID)) {
149 _dl_close(infile); 149 _dl_close(infile);
150 return NULL; 150 return NULL;
151@@ -384,6 +384,10 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure, 151@@ -499,6 +499,10 @@
152 return tpnt; 152 return tpnt;
153 } 153 }
154 } 154 }
@@ -159,11 +159,11 @@ index 2b2d429..6d35bf2 100644
159 header = _dl_mmap((void *) 0, _dl_pagesize, PROT_READ | PROT_WRITE, 159 header = _dl_mmap((void *) 0, _dl_pagesize, PROT_READ | PROT_WRITE,
160 MAP_PRIVATE | MAP_ANONYMOUS | MAP_UNINITIALIZE, -1, 0); 160 MAP_PRIVATE | MAP_ANONYMOUS | MAP_UNINITIALIZE, -1, 0);
161 if (_dl_mmap_check_error(header)) { 161 if (_dl_mmap_check_error(header)) {
162diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c 162Index: git/ldso/ldso/ldso.c
163index 9423670..b71af34 100644 163===================================================================
164--- a/ldso/ldso/ldso.c 164--- git.orig/ldso/ldso/ldso.c 2011-07-01 15:24:32.000000000 -0700
165+++ b/ldso/ldso/ldso.c 165+++ git/ldso/ldso/ldso.c 2011-07-01 15:24:55.143854007 -0700
166@@ -646,7 +646,9 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, 166@@ -854,7 +854,9 @@
167 if (!_dl_secure || _dl_strchr(str, '/') == NULL) { 167 if (!_dl_secure || _dl_strchr(str, '/') == NULL) {
168 _dl_if_debug_dprint("\tfile='%s'; needed by '%s'\n", str, _dl_progname); 168 _dl_if_debug_dprint("\tfile='%s'; needed by '%s'\n", str, _dl_progname);
169 169
@@ -173,12 +173,12 @@ index 9423670..b71af34 100644
173+ &rpnt, NULL, str, trace_loaded_objects); 173+ &rpnt, NULL, str, trace_loaded_objects);
174 if (!tpnt1) { 174 if (!tpnt1) {
175 #ifdef __LDSO_LDD_SUPPORT__ 175 #ifdef __LDSO_LDD_SUPPORT__
176 if (trace_loaded_objects) 176 if (trace_loaded_objects || _dl_trace_prelink)
177diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c 177Index: git/ldso/libdl/libdl.c
178index 68cd579..edf38d2 100644 178===================================================================
179--- a/ldso/libdl/libdl.c 179--- git.orig/ldso/libdl/libdl.c 2011-07-01 15:20:51.000000000 -0700
180+++ b/ldso/libdl/libdl.c 180+++ git/ldso/libdl/libdl.c 2011-07-01 15:24:55.143854007 -0700
181@@ -288,7 +288,7 @@ void *dlopen(const char *libname, int flag) 181@@ -305,7 +305,7 @@
182 #endif 182 #endif
183 183
184 /* A bit of sanity checking... */ 184 /* A bit of sanity checking... */
@@ -187,7 +187,7 @@ index 68cd579..edf38d2 100644
187 _dl_error_number = LD_BAD_HANDLE; 187 _dl_error_number = LD_BAD_HANDLE;
188 return NULL; 188 return NULL;
189 } 189 }
190@@ -358,8 +358,9 @@ void *dlopen(const char *libname, int flag) 190@@ -375,8 +375,9 @@
191 /* Try to load the specified library */ 191 /* Try to load the specified library */
192 _dl_if_debug_print("Trying to dlopen '%s', RTLD_GLOBAL:%d RTLD_NOW:%d\n", 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)); 193 (char*)libname, (flag & RTLD_GLOBAL ? 1:0), (now_flag & RTLD_NOW ? 1:0));
@@ -198,10 +198,10 @@ index 68cd579..edf38d2 100644
198 if (tpnt == NULL) { 198 if (tpnt == NULL) {
199 _dl_unmap_cache(); 199 _dl_unmap_cache();
200 return NULL; 200 return NULL;
201diff --git a/libc/sysdeps/linux/common/bits/dlfcn.h b/libc/sysdeps/linux/common/bits/dlfcn.h 201Index: git/libc/sysdeps/linux/common/bits/dlfcn.h
202index 4bfbbff..47b42ad 100644 202===================================================================
203--- a/libc/sysdeps/linux/common/bits/dlfcn.h 203--- git.orig/libc/sysdeps/linux/common/bits/dlfcn.h 2011-07-01 15:20:52.000000000 -0700
204+++ b/libc/sysdeps/linux/common/bits/dlfcn.h 204+++ git/libc/sysdeps/linux/common/bits/dlfcn.h 2011-07-01 15:24:55.143854007 -0700
205@@ -24,9 +24,9 @@ 205@@ -24,9 +24,9 @@
206 /* The MODE argument to `dlopen' contains one of the following: */ 206 /* The MODE argument to `dlopen' contains one of the following: */
207 #define RTLD_LAZY 0x00001 /* Lazy function call binding. */ 207 #define RTLD_LAZY 0x00001 /* Lazy function call binding. */
@@ -213,3 +213,4 @@ index 4bfbbff..47b42ad 100644
213+#if 0 /* uClibc doesnt support these */ 213+#if 0 /* uClibc doesnt support these */
214 #define RTLD_DEEPBIND 0x00008 /* Use deep binding. */ 214 #define RTLD_DEEPBIND 0x00008 /* Use deep binding. */
215 #endif 215 #endif
216
diff --git a/meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch b/meta/recipes-core/uclibc/uclibc-git/select-force-thumb.patch
deleted file mode 100644
index 7967794a42..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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-git/transform-eabi-oabi-choice.patch b/meta/recipes-core/uclibc/uclibc-git/transform-eabi-oabi-choice.patch
deleted file mode 100644
index 7acd5d17f6..0000000000
--- a/meta/recipes-core/uclibc/uclibc-git/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_git.bb b/meta/recipes-core/uclibc/uclibc_git.bb
index 0e43f9e669..a31d3a6051 100644
--- a/meta/recipes-core/uclibc/uclibc_git.bb
+++ b/meta/recipes-core/uclibc/uclibc_git.bb
@@ -1,8 +1,12 @@
1SRCREV="71d63ed75648da9b0b71afabb9c60aaad792c55c" 1SRCREV="f87898ca4a7d4b7171779c06ff1f4848efeee431"
2 2
3require uclibc.inc 3require uclibc.inc
4PV = "0.9.31+0.9.32rc3" 4
5PR = "${INC_PR}.5" 5# We prefer a release version so DP -1 for this
6DEFAULT_PREFERENCE = "-1"
7
8PV = "0.9.32+0.9.33-rc0"
9PR = "${INC_PR}.0"
6PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" 10PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
7 11
8FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}" 12FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-git' ], d)}"
@@ -13,23 +17,12 @@ SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \
13 file://uclibc-arm-ftruncate64.patch \ 17 file://uclibc-arm-ftruncate64.patch \
14 file://uclibc_enable_log2_test.patch \ 18 file://uclibc_enable_log2_test.patch \
15 file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \ 19 file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \
16 file://reorder-use-BX.patch \
17 file://select-force-thumb.patch \
18 file://remove-sub-arch-variants.patch \
19 file://transform-eabi-oabi-choice.patch \
20 file://include-arm-asm.h.patch \
21 file://detect-bx-availibility.patch \
22 file://remove-eabi-oabi-selection.patch \
23 file://powerpc_copysignl.patch \ 20 file://powerpc_copysignl.patch \
24 file://argp-support.patch \ 21 file://argp-support.patch \
25 file://argp-headers.patch \ 22 file://argp-headers.patch \
26 file://remove_attribute_optimize_Os.patch \ 23 file://remove_attribute_optimize_Os.patch \
27 file://append_UCLIBC_EXTRA_CFLAGS.patch \
28 file://compile-arm-fork-with-O2.patch \ 24 file://compile-arm-fork-with-O2.patch \
29 file://epoll-asm-fix.patch \
30 file://orign_path.patch \ 25 file://orign_path.patch \
31 file://rtld_no.patch \ 26 file://rtld_no.patch \
32 file://0001-Config.in.arch-Free-UCLIBC_HAS_FPU-setting-from-depe.patch \
33 file://0001-mips-signalfd.h-SFD_NONBLOCK-for-mips-is-0200-unlike.patch \
34 " 27 "
35S = "${WORKDIR}/git" 28S = "${WORKDIR}/git"