summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2013-07-11 17:59:16 +0100
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2013-07-19 17:35:00 +0200
commit603af30d6992e94ac30a66b953264076f4f2fd71 (patch)
treef1fce0cf656f0f31e51084c0e361a6cacb255fd0
parent4a96b948687166da26a6c327e6c6733ad2336c5c (diff)
Rules.mak: MIPS64: Select correct interpreter
gcc (eg 4.7.3) hardcodes the MIPS64 interpreters like this: (see gcc/config/linux.h and gcc/config/mips/linux64.h) o32: UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" n32: UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" n64: UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0" The existing check for MIPS64 in uClibc is wrong because it does not respect the selected ABI We fix this by explicitely checking the selected ABI instead of the selected MIPS variant. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Cc: Anthony G. Basile <blueness@gentoo.org> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--Rules.mak12
1 files changed, 9 insertions, 3 deletions
diff --git a/Rules.mak b/Rules.mak
index 792b794f7..889108eb2 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -138,13 +138,19 @@ export MAJOR_VERSION MINOR_VERSION SUBLEVEL VERSION ABI_VERSION LC_ALL
LIBC := libc
SHARED_LIBNAME := $(LIBC).so.$(ABI_VERSION)
UBACKTRACE_DSO := libubacktrace.so.$(ABI_VERSION)
-ifneq ($(findstring $(TARGET_ARCH) , hppa64 ia64 mips64 powerpc64 s390x sparc64 x86_64 ),)
+
+UCLIBC_LDSO_NAME := ld-uClibc
+ARCH_NATIVE_BIT := 32
+ifneq ($(findstring $(TARGET_ARCH),hppa64 ia64 powerpc64 s390x sparc64 x86_64),)
UCLIBC_LDSO_NAME := ld64-uClibc
ARCH_NATIVE_BIT := 64
else
-UCLIBC_LDSO_NAME := ld-uClibc
-ARCH_NATIVE_BIT := 32
+ifeq ($(CONFIG_MIPS_N64_ABI),y)
+UCLIBC_LDSO_NAME := ld64-uClibc
+ARCH_NATIVE_BIT := 64
endif
+endif
+
UCLIBC_LDSO := $(UCLIBC_LDSO_NAME).so.$(ABI_VERSION)
NONSHARED_LIBNAME := uclibc_nonshared.a
libc := $(top_builddir)lib/$(SHARED_LIBNAME)