Skip to content

Commit

Permalink
replace the mips64 fixes patch with an upstream commit
Browse files Browse the repository at this point in the history
The current one broke all other 64 bit targets.. DOH!

Signed-off-by: Imre Kaloz <[email protected]>

SVN-Revision: 38889
  • Loading branch information
kaloz committed Nov 22, 2013
1 parent 5143157 commit 61ad683
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 14 deletions.
57 changes: 43 additions & 14 deletions toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch
Original file line number Diff line number Diff line change
@@ -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 ""

source "extra/Configs/Config.in.arch"
From 603af30d6992e94ac30a66b953264076f4f2fd71 Mon Sep 17 00:00:00 2001
From: Markos Chandras <[email protected]>
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 <[email protected]>
Cc: Anthony G. Basile <[email protected]>
Signed-off-by: Bernhard Reutner-Fischer <[email protected]>
---

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
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From 7e509aae23665b9a79f6c9b4c24d1d8a55bd3582 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <[email protected]>
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 <[email protected]>
Reviewed-by: Markos Chandras <[email protected]>
Signed-off-by: Bernhard Reutner-Fischer <[email protected]>
---

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

0 comments on commit 61ad683

Please sign in to comment.