[git commit prelink] ARM: remove EABI/OABI selection

Yann E. MORIN yann.morin.1998 at anciens.enib.fr
Fri Jun 24 15:00:20 UTC 2011


commit: http://git.uclibc.org/uClibc/commit/?id=4151e14cc8b60f5b3478d6c1f9372e427f7e05c4
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/prelink

Rely on the compiler to be properly setup for the default ABI.

When installing-headers, there are two cases:
- NPTL: no issue, a cross-compiler is already expected
- LinuxThreads: no issue, EABI/OABI has no impact on installed headers.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at anciens.enib.fr>
Cc: Khem Raj <raj.khem at gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso at st.com>
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 libc/sysdeps/linux/arm/Makefile.arch   |    9 +++++++--
 libc/sysdeps/linux/arm/bits/huge_val.h |    4 ++--
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
index b53c539..14279e0 100644
--- a/libc/sysdeps/linux/arm/Makefile.arch
+++ b/libc/sysdeps/linux/arm/Makefile.arch
@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
 CSRC += posix_fadvise.c posix_fadvise64.c
 endif
 
-ifeq ($(CONFIG_ARM_EABI),y)
+# Is our compiler set up for EABI ?
+IS_EABI:=$(shell $(CC) $(CFLAGS) -x c - -E -dM </dev/null 2>/dev/null \
+                 |sed -r -e '/^\#[[:space:]]*define[[:space:]]+__ARM_EABI__([[:space:]]+1)?$$/!d; s/.+/y/;' \
+          )
+
+ifeq ($(IS_EABI),y)
 CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
 	aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
 	aeabi_memmove.c aeabi_memset.c find_exidx.c
@@ -37,7 +42,7 @@ else
 CSRC += syscall.c
 endif
 
-ifeq ($(CONFIG_ARM_EABI),y)
+ifeq ($(IS_EABI),y)
 libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
 	$(ARCH_OUT)/aeabi_sighandlers.o
 libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
diff --git a/libc/sysdeps/linux/arm/bits/huge_val.h b/libc/sysdeps/linux/arm/bits/huge_val.h
index a215f3c..745e0bb 100644
--- a/libc/sysdeps/linux/arm/bits/huge_val.h
+++ b/libc/sysdeps/linux/arm/bits/huge_val.h
@@ -32,7 +32,7 @@
 # define HUGE_VAL (__extension__ 0x1.0p2047)
 #elif defined __GNUC__
 
-#ifndef __CONFIG_ARM_EABI__
+#ifndef __ARM_EABI__
 # define HUGE_VAL \
   (__extension__							      \
    ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; })   \
@@ -50,7 +50,7 @@
 
 typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
 
-#ifndef __CONFIG_ARM_EABI__
+#ifndef __ARM_EABI__
 # if __BYTE_ORDER == __BIG_ENDIAN
 #  define __HUGE_VAL_bytes	{ 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
 # endif
-- 
1.7.3.4



More information about the uClibc-cvs mailing list