replace the mips64 fixes patch with an upstream commit

The current one broke all other 64 bit targets.. DOH!

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 38889
This commit is contained in:
Imre Kaloz 2013-11-22 09:22:54 +00:00
parent 5143157af8
commit 61ad6831d3
2 changed files with 75 additions and 14 deletions

View file

@ -1,23 +1,52 @@
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -235,6 +235,9 @@ config TARGET_SUBARCH
default "i486" if CONFIG_486
default "i586" if CONFIG_586 || CONFIG_586MMX
default "i686" if TARGET_ARCH = "i386"
+ default "mips" if CONFIG_MIPS_N32_ABI
+ default "mips" if CONFIG_MIPS_O32_ABI
+ default "mips64" if CONFIG_MIPS_N64_ABI
default ""
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
source "extra/Configs/Config.in.arch"
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>
---
diff --git a/Rules.mak b/Rules.mak
index 792b794..889108e 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -118,7 +118,7 @@ export MAJOR_VERSION MINOR_VERSION SUBLE
@@ -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 ),)
+ifneq ($(strip $(findstring $(TARGET_SUBARCH) , 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)
--
cgit v0.9.1

View file

@ -0,0 +1,32 @@
From 7e509aae23665b9a79f6c9b4c24d1d8a55bd3582 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 24 Jul 2013 15:30:35 +0000
Subject: Rules.mak: Fix setting arch native bit
fix breakage from 603af30d
Removing the whitespace from findstring for 64 bit architectures has
bad consequences since powerpc would be a match in powerpc64 and sparc
would also be a match in sparc64.
That doesn't make them 64 bits in reality causing general breakage.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
diff --git a/Rules.mak b/Rules.mak
index 889108e..be53d81 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -141,7 +141,7 @@ UBACKTRACE_DSO := libubacktrace.so.$(ABI_VERSION)
UCLIBC_LDSO_NAME := ld-uClibc
ARCH_NATIVE_BIT := 32
-ifneq ($(findstring $(TARGET_ARCH),hppa64 ia64 powerpc64 s390x sparc64 x86_64),)
+ifneq ($(findstring $(TARGET_ARCH) , hppa64 ia64 powerpc64 s390x sparc64 x86_64 ),)
UCLIBC_LDSO_NAME := ld64-uClibc
ARCH_NATIVE_BIT := 64
else
--
cgit v0.9.1