diff options
author | Markos Chandras <markos.chandras@imgtec.com> | 2013-07-11 17:59:16 +0100 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2013-07-19 17:35:00 +0200 |
commit | 603af30d6992e94ac30a66b953264076f4f2fd71 (patch) | |
tree | f1fce0cf656f0f31e51084c0e361a6cacb255fd0 | |
parent | 4a96b948687166da26a6c327e6c6733ad2336c5c (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.mak | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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) |