49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
|
From 603af30d6992e94ac30a66b953264076f4f2fd71 Mon Sep 17 00:00:00 2001
|
||
|
From: Markos Chandras <markos.chandras@imgtec.com>
|
||
|
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 <markos.chandras@imgtec.com>
|
||
|
Cc: Anthony G. Basile <blueness@gentoo.org>
|
||
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
||
|
---
|
||
|
|
||
|
--- 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)
|