--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313307agb;\r
+ Sat, 8 Jan 2011 16:45:20 -0800 (PST)\r
+Received: by 10.227.141.78 with SMTP id l14mr16920947wbu.128.1294533919168;\r
+ Sat, 08 Jan 2011 16:45:19 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id w30si33755908wbd.17.2011.01.08.16.45.18;\r
+ Sat, 08 Jan 2011 16:45:19 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClHDo; Sun, 09 Jan 2011 01:45:18 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 6/7] ARM: detect BX availibility at build time\r
+Date: Sun, 9 Jan 2011 01:45:09 +0100\r
+Message-Id: <1294533910-19305-7-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+The "use BX" option is now a suggestion that BX be used if available.\r
+Use a macro to detect if BX is available at build time. If so, and\r
+the user requested it be used, then use it. Otherwise, error out.\r
+\r
+Macro courtesy Khem RAJ:\r
+ http://lists.uclibc.org/pipermail/uclibc/2009-April/042301.html\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ extra/Configs/Config.arm | 4 +++-\r
+ libc/sysdeps/linux/arm/bits/arm_asm.h | 9 ++++++++-\r
+ 2 files changed, 11 insertions(+), 2 deletions(-)\r
+\r
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm\r
+index 227b90c..9aa9e56 100644\r
+--- a/extra/Configs/Config.arm\r
++++ b/extra/Configs/Config.arm\r
+@@ -33,4 +33,6 @@ config COMPILE_IN_THUMB_MODE\r
+ config USE_BX\r
+ bool "Use BX in function return"\r
+ help\r
+- Use BX instruction for THUMB aware architectures.\r
++ Say 'y' to use BX to return from functions on your thumb-aware\r
++ processor. Say 'y' if you need to use interworking. Say 'n' if not.\r
++ It is safe to say 'y' even if you're not doing interworking.\r
+diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h b/libc/sysdeps/linux/arm/bits/arm_asm.h\r
+index 1d87df6..921c9a3 100644\r
+--- a/libc/sysdeps/linux/arm/bits/arm_asm.h\r
++++ b/libc/sysdeps/linux/arm/bits/arm_asm.h\r
+@@ -24,5 +24,12 @@\r
+ #define THUMB1_ONLY 1\r
+ #endif\r
+ \r
+-#endif /* _ARM_ASM_H */\r
++#if defined(__USE_BX__)\r
++# if ( defined (__ARM_ARCH_2__) || defined (__ARM_ARCH_3__) \\r
++ || defined (__ARM_ARCH_3M__) || defined (__ARM_ARCH_4__) \\r
++ )\r
++# error Use of BX was requested, but is not available on the target processor.\r
++# endif /* ARCH level */\r
++#endif /* __USE_BX__ */\r
+ \r
++#endif /* _ARM_ASM_H */\r
+-- \r
+1.7.1\r
+\r
--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313304agb;\r
+ Sat, 8 Jan 2011 16:45:19 -0800 (PST)\r
+Received: by 10.227.155.75 with SMTP id r11mr17188266wbw.3.1294533918432;\r
+ Sat, 08 Jan 2011 16:45:18 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id k3si33753340wbx.29.2011.01.08.16.45.17;\r
+ Sat, 08 Jan 2011 16:45:18 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClHDf; Sun, 09 Jan 2011 01:45:17 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 5/7] ARM: #include <bits/arm_asm.h> where __USE_BX__ is used\r
+Date: Sun, 9 Jan 2011 01:45:08 +0100\r
+Message-Id: <1294533910-19305-6-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+The check for __USE_BX__ will be available in bits/arm_asm.h,\r
+so the latter must be included wherever the former is used.\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ ldso/ldso/arm/dl-startup.h | 1 +\r
+ libc/sysdeps/linux/arm/sysdep.h | 1 +\r
+ 2 files changed, 2 insertions(+), 0 deletions(-)\r
+\r
+diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h\r
+index a95389d..2dfdaff 100644\r
+--- a/ldso/ldso/arm/dl-startup.h\r
++++ b/ldso/ldso/arm/dl-startup.h\r
+@@ -7,6 +7,7 @@\r
+ */\r
+ \r
+ #include <features.h>\r
++#include <bits/arm_asm.h>\r
+ \r
+ #if !defined(__thumb__)\r
+ __asm__(\r
+diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h\r
+index 013f88c..e498695 100644\r
+--- a/libc/sysdeps/linux/arm/sysdep.h\r
++++ b/libc/sysdeps/linux/arm/sysdep.h\r
+@@ -21,6 +21,7 @@\r
+ #define _LINUX_ARM_SYSDEP_H 1\r
+ \r
+ #include <common/sysdep.h>\r
++#include <bits/arm_asm.h>\r
+ \r
+ #include <sys/syscall.h>\r
+ /* For Linux we can use the system call table in the header file\r
+-- \r
+1.7.1\r
+\r
--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313309agb;\r
+ Sat, 8 Jan 2011 16:45:20 -0800 (PST)\r
+Received: by 10.216.173.7 with SMTP id u7mr612034wel.50.1294533919433;\r
+ Sat, 08 Jan 2011 16:45:19 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id e10si33752027wer.68.2011.01.08.16.45.19;\r
+ Sat, 08 Jan 2011 16:45:19 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClJDu; Sun, 09 Jan 2011 01:45:18 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 7/7] ARM: remove EABI/OABI selection\r
+Date: Sun, 9 Jan 2011 01:45:10 +0100\r
+Message-Id: <1294533910-19305-8-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+Rely on the compiler to be properly setup for the default ABI.\r
+\r
+When installing-headers, there are two cases:\r
+- NPTL: no issue, a cross-compiler is already expected\r
+- LinuxThreads: no issue, EABI/OABI has no impact on installed headers.\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ extra/Configs/Config.arm | 11 -----------\r
+ libc/sysdeps/linux/arm/Makefile.arch | 9 +++++++--\r
+ libc/sysdeps/linux/arm/bits/huge_val.h | 4 ++--\r
+ 3 files changed, 9 insertions(+), 15 deletions(-)\r
+\r
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm\r
+index 9aa9e56..85f2515 100644\r
+--- a/extra/Configs/Config.arm\r
++++ b/extra/Configs/Config.arm\r
+@@ -12,17 +12,6 @@ config FORCE_OPTIONS_FOR_ARCH\r
+ default y\r
+ select ARCH_ANY_ENDIAN\r
+ \r
+-config CONFIG_ARM_EABI\r
+- bool "Build for EABI"\r
+- help\r
+- If you say 'y' here, functions and constants required by the\r
+- ARM EABI will be built into the library. You should say 'y'\r
+- if your compiler uses the ARM EABI, in which case you will also\r
+- need a kernel supporting the EABI system call interface.\r
+- \r
+- If you say 'n' here, then the library will be built for the\r
+- old Linux ABI.\r
+-\r
+ config COMPILE_IN_THUMB_MODE\r
+ bool "Build using Thumb mode"\r
+ select USE_BX\r
+diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch\r
+index b53c539..14279e0 100644\r
+--- a/libc/sysdeps/linux/arm/Makefile.arch\r
++++ b/libc/sysdeps/linux/arm/Makefile.arch\r
+@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)\r
+ CSRC += posix_fadvise.c posix_fadvise64.c\r
+ endif\r
+ \r
+-ifeq ($(CONFIG_ARM_EABI),y)\r
++# Is our compiler set up for EABI ?\r
++IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM </dev/null 2>/dev/null \\r
++ |sed -r -e '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d; s/.+/y/;' \\r
++ )\r
++\r
++ifeq ($(IS_EABI),y)\r
+ CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \\r
+ aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \\r
+ aeabi_memmove.c aeabi_memset.c find_exidx.c\r
+@@ -37,7 +42,7 @@ else\r
+ CSRC += syscall.c\r
+ endif\r
+ \r
+-ifeq ($(CONFIG_ARM_EABI),y)\r
++ifeq ($(IS_EABI),y)\r
+ libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \\r
+ $(ARCH_OUT)/aeabi_sighandlers.o\r
+ libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \\r
+diff --git a/libc/sysdeps/linux/arm/bits/huge_val.h b/libc/sysdeps/linux/arm/bits/huge_val.h\r
+index a215f3c..745e0bb 100644\r
+--- a/libc/sysdeps/linux/arm/bits/huge_val.h\r
++++ b/libc/sysdeps/linux/arm/bits/huge_val.h\r
+@@ -32,7 +32,7 @@\r
+ # define HUGE_VAL (__extension__ 0x1.0p2047)\r
+ #elif defined __GNUC__\r
+ \r
+-#ifndef __CONFIG_ARM_EABI__\r
++#ifndef __ARM_EABI__\r
+ # define HUGE_VAL \\r
+ (__extension__ \\r
+ ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \\r
+@@ -50,7 +50,7 @@\r
+ \r
+ typedef union { unsigned char __c[8]; double __d; } __huge_val_t;\r
+ \r
+-#ifndef __CONFIG_ARM_EABI__\r
++#ifndef __ARM_EABI__\r
+ # if __BYTE_ORDER == __BIG_ENDIAN\r
+ # define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }\r
+ # endif\r
+-- \r
+1.7.1\r
+\r
--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313303agb;\r
+ Sat, 8 Jan 2011 16:45:18 -0800 (PST)\r
+Received: by 10.227.98.158 with SMTP id q30mr1255804wbn.151.1294533917314;\r
+ Sat, 08 Jan 2011 16:45:17 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id r3si33749838wbr.54.2011.01.08.16.45.16;\r
+ Sat, 08 Jan 2011 16:45:17 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClGDS; Sun, 09 Jan 2011 01:45:16 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 3/7] ARM: remove sub-arch/variants selection from menuconfig\r
+Date: Sun, 9 Jan 2011 01:45:06 +0100\r
+Message-Id: <1294533910-19305-4-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+Rely on the compiler to be correctly set up to generate\r
+appropriate code for the target variant.\r
+\r
+This exposes the Thumb option, as it is no longer auto-selected.\r
+The "Use BX" no longer depends on supported CPU to be selected,\r
+so it now defaults to 'n' as it shall work by default on CPUs\r
+that do not have BX.\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ Rules.mak | 19 -------\r
+ extra/Configs/Config.arm | 125 ++--------------------------------------------\r
+ 2 files changed, 5 insertions(+), 139 deletions(-)\r
+\r
+diff --git a/Rules.mak b/Rules.mak\r
+index 2a16908..09741a6 100644\r
+--- a/Rules.mak\r
++++ b/Rules.mak\r
+@@ -332,25 +332,6 @@ ifeq ($(TARGET_ARCH),arm)\r
+ OPTIMIZATION+=-fstrict-aliasing\r
+ CPU_CFLAGS-$(ARCH_LITTLE_ENDIAN)+=-mlittle-endian\r
+ CPU_CFLAGS-$(ARCH_BIG_ENDIAN)+=-mbig-endian\r
+- CPU_CFLAGS-$(CONFIG_GENERIC_ARM)+=\r
+- CPU_CFLAGS-$(CONFIG_ARM610)+=-mtune=arm610 -march=armv3\r
+- CPU_CFLAGS-$(CONFIG_ARM710)+=-mtune=arm710 -march=armv3\r
+- CPU_CFLAGS-$(CONFIG_ARM7TDMI)+=-mtune=arm7tdmi -march=armv4t\r
+- CPU_CFLAGS-$(CONFIG_ARM720T)+=-mtune=arm7tdmi -march=armv4t\r
+- CPU_CFLAGS-$(CONFIG_ARM920T)+=-mtune=arm9tdmi -march=armv4t\r
+- CPU_CFLAGS-$(CONFIG_ARM922T)+=-mtune=arm9tdmi -march=armv4t\r
+- CPU_CFLAGS-$(CONFIG_ARM926T)+=-mtune=arm9e -march=armv5te\r
+- CPU_CFLAGS-$(CONFIG_ARM10T)+=-mtune=arm10tdmi -march=armv5t\r
+- CPU_CFLAGS-$(CONFIG_ARM1136JF_S)+=-mtune=arm1136jf-s -march=armv6\r
+- CPU_CFLAGS-$(CONFIG_ARM1176JZ_S)+=-mtune=arm1176jz-s -march=armv6\r
+- CPU_CFLAGS-$(CONFIG_ARM1176JZF_S)+=-mtune=arm1176jzf-s -march=armv6\r
+- CPU_CFLAGS-$(CONFIG_ARM_SA110)+=-mtune=strongarm110 -march=armv4\r
+- CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4\r
+- CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)\r
+- CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale\r
+- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt\r
+- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3\r
+- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1\r
+ CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb\r
+ endif\r
+ \r
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm\r
+index c9c40d4..6c75a00 100644\r
+--- a/extra/Configs/Config.arm\r
++++ b/extra/Configs/Config.arm\r
+@@ -30,129 +30,14 @@ config CONFIG_ARM_EABI\r
+ \r
+ endchoice\r
+ \r
+-choice\r
+- prompt "Target Processor Type"\r
+- default CONFIG_GENERIC_ARM\r
+- help\r
+- This is the processor type of your CPU. This information is used for\r
+- optimizing purposes. To build a library that will run on all ARMCPU\r
+- types (albeit not optimally fast), you can specify "Generic Arm" here.\r
+- If you pick anything other than "Generic Arm", there is no guarantee \r
+- that uClibc will even run on anything other than the selected\r
+- processor type.\r
+-\r
+- Here are the settings recommended for greatest speed:\r
+- - "Generic Arm" select this if your compiler is already setup to\r
+- optimize things properly, or if you want to run on pretty much\r
+- everything, or you just don't much care.\r
+- - For anything else, pick the ARM core type that best matches the\r
+- cpu you will be using on your device.\r
+-\r
+- If you don't know what to do, choose "Generic Arm".\r
+-\r
+-config CONFIG_GENERIC_ARM\r
+- bool "Generic Arm"\r
+-\r
+-config CONFIG_ARM610\r
+- bool "Arm 610"\r
+- select ARCH_HAS_MMU\r
+-\r
+-config CONFIG_ARM710\r
+- bool "Arm 710"\r
+- select ARCH_HAS_MMU\r
+-\r
+-config CONFIG_ARM7TDMI\r
+- bool "Arm 7TDMI"\r
+- select ARCH_HAS_NO_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM720T\r
+- bool "Arm 720T"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM920T\r
+- bool "Arm 920T"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM922T\r
+- bool "Arm 922T"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM926T\r
+- bool "Arm 926T"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM10T\r
+- bool "Arm 10T"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM1136JF_S\r
+- bool "Arm 1136JF-S"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM1176JZ_S\r
+- bool "Arm 1176JZ-S"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM1176JZF_S\r
+- bool "Arm 1176JZF-S"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM_CORTEX_M3\r
+- bool "Arm Cortex-M3"\r
+- select ARCH_HAS_NO_MMU\r
+- select FORCE_THUMB\r
+-\r
+-config CONFIG_ARM_CORTEX_M1\r
+- bool "Arm Cortex-M1"\r
+- select ARCH_HAS_NO_MMU\r
+- select FORCE_THUMB\r
+-\r
+-config CONFIG_ARM_SA110\r
+- bool "Intel StrongArm SA-110"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM_SA1100\r
+- bool "Intel StrongArm SA-1100"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM_XSCALE\r
+- bool "Intel Xscale"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-config CONFIG_ARM_IWMMXT\r
+- bool "Intel Xscale With WMMX PXA27x"\r
+- select ARCH_HAS_MMU\r
+- select HAS_THUMB\r
+-\r
+-endchoice\r
+-\r
+-config HAS_THUMB\r
+- bool\r
+-\r
+-config FORCE_THUMB\r
+- bool\r
+- select HAS_THUMB\r
+- select COMPILE_IN_THUMB_MODE\r
+- select USE_BX\r
+-\r
+ config COMPILE_IN_THUMB_MODE\r
+- bool\r
++ bool "Build using Thumb mode"\r
++ select USE_BX\r
++ help\r
++ Say 'y' here to force building uClibc in thumb mode.\r
++ Say 'n' to use your compiler's default mode.\r
+ \r
+ config USE_BX\r
+ bool "Use BX in function return"\r
+- default y\r
+- depends on HAS_THUMB\r
+ help\r
+ Use BX instruction for THUMB aware architectures.\r
+-- \r
+1.7.1\r
+\r
--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313299agb;\r
+ Sat, 8 Jan 2011 16:45:16 -0800 (PST)\r
+Received: by 10.227.134.5 with SMTP id h5mr1312651wbt.75.1294533915992;\r
+ Sat, 08 Jan 2011 16:45:15 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id m42si33753731wej.65.2011.01.08.16.45.15;\r
+ Sat, 08 Jan 2011 16:45:15 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClEDA; Sun, 09 Jan 2011 01:45:15 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 1/7] ARM: reorder "Use BX" option\r
+Date: Sun, 9 Jan 2011 01:45:04 +0100\r
+Message-Id: <1294533910-19305-2-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+"Use BX" is not available on all CPUs, so the option depends on\r
+a correct CPU to be chosen . It is weird that e BX" then appears\r
+_above_ the CPU selection, not below.\r
+\r
+Move the "Use BX" after the CPU selection.\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ extra/Configs/Config.arm | 14 +++++++-------\r
+ 1 files changed, 7 insertions(+), 7 deletions(-)\r
+\r
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm\r
+index b060ace..3b90e67 100644\r
+--- a/extra/Configs/Config.arm\r
++++ b/extra/Configs/Config.arm\r
+@@ -30,13 +30,6 @@ config CONFIG_ARM_EABI\r
+ \r
+ endchoice\r
+ \r
+-config USE_BX\r
+- bool "Use BX in function return"\r
+- default y\r
+- depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710\r
+- help\r
+- Use BX instruction for THUMB aware architectures.\r
+-\r
+ choice\r
+ prompt "Target Processor Type"\r
+ default CONFIG_GENERIC_ARM\r
+@@ -131,3 +124,10 @@ config CONFIG_ARM_IWMMXT\r
+ select ARCH_HAS_MMU\r
+ \r
+ endchoice\r
++\r
++config USE_BX\r
++ bool "Use BX in function return"\r
++ default y\r
++ depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710\r
++ help\r
++ Use BX instruction for THUMB aware architectures.\r
+-- \r
+1.7.1\r
+\r
--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313301agb;\r
+ Sat, 8 Jan 2011 16:45:17 -0800 (PST)\r
+Received: by 10.216.186.82 with SMTP id v60mr20017574wem.56.1294533916559;\r
+ Sat, 08 Jan 2011 16:45:16 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id o13si33755824wee.56.2011.01.08.16.45.16;\r
+ Sat, 08 Jan 2011 16:45:16 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClFDL; Sun, 09 Jan 2011 01:45:16 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 2/7] ARM: introduce blind options to select & force THUMB mode\r
+Date: Sun, 9 Jan 2011 01:45:05 +0100\r
+Message-Id: <1294533910-19305-3-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+Add three new blind options to set use of Thumb mode:\r
+- COMPILE_IN_THUMB_MODE\r
+ - if set, CFLAGS will contain -mthumb\r
+ - if unset, the compiler's default is used\r
+- HAS_THUMB\r
+ - CPUS with Thumb instruction set can select this\r
+ - use of BX depends on this\r
+- FORCE_THUMB\r
+ - CPUs that are Thumb-only must select this\r
+ - this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX\r
+\r
+Also, remove leading space in Rules.mak.\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ Rules.mak | 7 ++++---\r
+ extra/Configs/Config.arm | 31 ++++++++++++++++++++++++++++---\r
+ 2 files changed, 32 insertions(+), 6 deletions(-)\r
+\r
+diff --git a/Rules.mak b/Rules.mak\r
+index eecdc64..2a16908 100644\r
+--- a/Rules.mak\r
++++ b/Rules.mak\r
+@@ -348,9 +348,10 @@ ifeq ($(TARGET_ARCH),arm)\r
+ CPU_CFLAGS-$(CONFIG_ARM_SA1100)+=-mtune=strongarm1100 -march=armv4\r
+ CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=$(call check_gcc,-mtune=xscale,-mtune=strongarm110)\r
+ CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv5te -Wa,-mcpu=xscale\r
+- CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt\r
+- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3 -mthumb\r
+- CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1 -mthumb\r
++ CPU_CFLAGS-$(CONFIG_ARM_IWMMXT)+=-march=iwmmxt -Wa,-mcpu=iwmmxt -mabi=iwmmxt\r
++ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M3)+=-mcpu=cortex-m3\r
++ CPU_CFLAGS-$(CONFIG_ARM_CORTEX_M1)+=-mcpu=cortex-m1\r
++ CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb\r
+ endif\r
+ \r
+ ifeq ($(TARGET_ARCH),mips)\r
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm\r
+index 3b90e67..c9c40d4 100644\r
+--- a/extra/Configs/Config.arm\r
++++ b/extra/Configs/Config.arm\r
+@@ -64,70 +64,95 @@ config CONFIG_ARM710\r
+ config CONFIG_ARM7TDMI\r
+ bool "Arm 7TDMI"\r
+ select ARCH_HAS_NO_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM720T\r
+ bool "Arm 720T"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM920T\r
+ bool "Arm 920T"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM922T\r
+ bool "Arm 922T"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM926T\r
+ bool "Arm 926T"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM10T\r
+ bool "Arm 10T"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM1136JF_S\r
+ bool "Arm 1136JF-S"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM1176JZ_S\r
+ bool "Arm 1176JZ-S"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM1176JZF_S\r
+ bool "Arm 1176JZF-S"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM_CORTEX_M3\r
+ bool "Arm Cortex-M3"\r
+ select ARCH_HAS_NO_MMU\r
+- select USE_BX\r
++ select FORCE_THUMB\r
+ \r
+ config CONFIG_ARM_CORTEX_M1\r
+ bool "Arm Cortex-M1"\r
+ select ARCH_HAS_NO_MMU\r
+- select USE_BX\r
++ select FORCE_THUMB\r
+ \r
+ config CONFIG_ARM_SA110\r
+ bool "Intel StrongArm SA-110"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM_SA1100\r
+ bool "Intel StrongArm SA-1100"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM_XSCALE\r
+ bool "Intel Xscale"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ config CONFIG_ARM_IWMMXT\r
+ bool "Intel Xscale With WMMX PXA27x"\r
+ select ARCH_HAS_MMU\r
++ select HAS_THUMB\r
+ \r
+ endchoice\r
+ \r
++config HAS_THUMB\r
++ bool\r
++\r
++config FORCE_THUMB\r
++ bool\r
++ select HAS_THUMB\r
++ select COMPILE_IN_THUMB_MODE\r
++ select USE_BX\r
++\r
++config COMPILE_IN_THUMB_MODE\r
++ bool\r
++\r
+ config USE_BX\r
+ bool "Use BX in function return"\r
+ default y\r
+- depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710\r
++ depends on HAS_THUMB\r
+ help\r
+ Use BX instruction for THUMB aware architectures.\r
+-- \r
+1.7.1\r
+\r
--- /dev/null
+Delivered-To: raj.khem@gmail.com\r
+Received: by 10.90.86.4 with SMTP id j4cs313305agb;\r
+ Sat, 8 Jan 2011 16:45:19 -0800 (PST)\r
+Received: by 10.216.153.210 with SMTP id f60mr573848wek.114.1294533918335;\r
+ Sat, 08 Jan 2011 16:45:18 -0800 (PST)\r
+Return-Path: <yann.morin.1998@anciens.enib.fr>\r
+Received: from smtp.smtpout.orange.fr (smtp01.smtpout.orange.fr [80.12.242.123])\r
+ by mx.google.com with ESMTP id n4si33737071wej.152.2011.01.08.16.45.17;\r
+ Sat, 08 Jan 2011 16:45:18 -0800 (PST)\r
+Received-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;\r
+Authentication-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\r
+Received: from roazhon.bzh.lan ([90.32.245.227])\r
+ by mwinf5d24 with ME\r
+ id tClC1f0024v5z3u03ClGDX; Sun, 09 Jan 2011 01:45:17 +0100\r
+From: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+To: uclibc@uclibc.org\r
+Cc: Khem Raj <raj.khem@gmail.com>,\r
+ Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,\r
+ Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+Subject: [PATCH 4/7] ARM: transform the EABI/OABI choice into a boolean\r
+Date: Sun, 9 Jan 2011 01:45:07 +0100\r
+Message-Id: <1294533910-19305-5-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+X-Mailer: git-send-email 1.7.1\r
+In-Reply-To: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+References: <1294533910-19305-1-git-send-email-yann.morin.1998@anciens.enib.fr>\r
+\r
+The CONFIG_ARM_OABI option is never used.\r
+\r
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>\r
+Cc: Khem Raj <raj.khem@gmail.com>\r
+Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>\r
+Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>\r
+---\r
+ extra/Configs/Config.arm | 23 ++++++++---------------\r
+ 1 files changed, 8 insertions(+), 15 deletions(-)\r
+\r
+diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm\r
+index 6c75a00..227b90c 100644\r
+--- a/extra/Configs/Config.arm\r
++++ b/extra/Configs/Config.arm\r
+@@ -12,23 +12,16 @@ config FORCE_OPTIONS_FOR_ARCH\r
+ default y\r
+ select ARCH_ANY_ENDIAN\r
+ \r
+-choice\r
+- prompt "Target ABI"\r
+- default CONFIG_ARM_OABI\r
++config CONFIG_ARM_EABI\r
++ bool "Build for EABI"\r
+ help\r
+- If you choose "EABI" here, functions and constants required by the\r
+- ARM EABI will be built into the library. You should choose "EABI"\r
++ If you say 'y' here, functions and constants required by the\r
++ ARM EABI will be built into the library. You should say 'y'\r
+ if your compiler uses the ARM EABI, in which case you will also\r
+- need a kernel supporting the EABI system call interface, or "OABI"\r
+- for a compiler using the old Linux ABI.\r
+-\r
+-config CONFIG_ARM_OABI\r
+- bool "OABI"\r
+-\r
+-config CONFIG_ARM_EABI\r
+- bool "EABI"\r
+-\r
+-endchoice\r
++ need a kernel supporting the EABI system call interface.\r
++ \r
++ If you say 'n' here, then the library will be built for the\r
++ old Linux ABI.\r
+ \r
+ config COMPILE_IN_THUMB_MODE\r
+ bool "Build using Thumb mode"\r
+-- \r
+1.7.1\r
+\r
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.32"
-SRCREV="4d81f2a74578f819285b131c682e8d2f6c315c4e"
+SRCREV="8764f2e75c875757529aa81e5cd96e17e6f6e5e4"
PR_append = "+gitr${SRCPV}"
DEFAULT_PREFERENCE = "-1"
#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
file://uclibc-arm-ftruncate64.patch \
file://uclibc_enable_log2_test.patch \
file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch \
+ file://reorder-use-BX.patch \
+ file://select-force-thumb.patch \
+ file://remove-sub-arch-variants.patch \
+ file://transform-eabi-oabi-choice.patch \
+ file://include-arm-asm.h.patch \
+ file://detect-bx-availibility.patch \
+ file://remove-eabi-oabi-selection.patch \
"
S = "${WORKDIR}/git"