diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2013-11-22 09:22:54 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2013-11-22 09:22:54 +0000 |
commit | c01716afd0fca332c8bd2d14cbeacaa38e635dca (patch) | |
tree | 86aafedf70b9435acad274327974704dd08465c4 /toolchain/uClibc | |
parent | 6d79816d87925f164757a48cfac8f1c707b8d799 (diff) | |
download | upstream-c01716afd0fca332c8bd2d14cbeacaa38e635dca.tar.gz upstream-c01716afd0fca332c8bd2d14cbeacaa38e635dca.tar.bz2 upstream-c01716afd0fca332c8bd2d14cbeacaa38e635dca.zip |
[toolchain/uClibc]: 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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38889 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/uClibc')
-rw-r--r-- | toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch | 57 | ||||
-rw-r--r-- | toolchain/uClibc/patches-0.9.33.2/981-fix_setting_arch_native_bit.patch | 32 |
2 files changed, 75 insertions, 14 deletions
diff --git a/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch b/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch index 8d8ba0cf4e..c9757afb92 100644 --- a/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch +++ b/toolchain/uClibc/patches-0.9.33.2/980-mips64_fixes.patch @@ -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 <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> +--- + +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 diff --git a/toolchain/uClibc/patches-0.9.33.2/981-fix_setting_arch_native_bit.patch b/toolchain/uClibc/patches-0.9.33.2/981-fix_setting_arch_native_bit.patch new file mode 100644 index 0000000000..779ea6c0bf --- /dev/null +++ b/toolchain/uClibc/patches-0.9.33.2/981-fix_setting_arch_native_bit.patch @@ -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 |