From 603af30d6992e94ac30a66b953264076f4f2fd71 Mon Sep 17 00:00:00 2001 From: Markos Chandras Date: Thu, 11 Jul 2013 16:59:16 +0000 Subject: 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 Cc: Anthony G. Basile Signed-off-by: Bernhard Reutner-Fischer --- --- a/Rules.mak +++ b/Rules.mak @@ -118,13 +118,19 @@ export MAJOR_VERSION MINOR_VERSION SUBLE 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)