summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch51
1 files changed, 33 insertions, 18 deletions
diff --git a/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch b/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
index e83f05b8aa..d547d7e48a 100644
--- a/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
+++ b/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
@@ -1,7 +1,7 @@
1From 34b861e7a4cfd7b1f0d2c0f8cf9bb0b0b81eb61a Mon Sep 17 00:00:00 2001 1From 86664e09670efa5a8662ef59590e01707f8e0cc3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:10:06 +0400 3Date: Fri, 29 Mar 2013 09:10:06 +0400
4Subject: [PATCH] 64-bit multilib hack. 4Subject: [PATCH] 64-bit multilib hack
5 5
6GCC has internal multilib handling code but it assumes a very specific rigid directory 6GCC has internal multilib handling code but it assumes a very specific rigid directory
7layout. The build system implementation of multilib layout is very generic and allows 7layout. The build system implementation of multilib layout is very generic and allows
@@ -28,18 +28,17 @@ Upstream-Status: Inappropriate [OE-Specific]
28Signed-off-by: Khem Raj <raj.khem@gmail.com> 28Signed-off-by: Khem Raj <raj.khem@gmail.com>
29Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> 29Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
30Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 30Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
31Signed-off-by: Khem Raj <raj.khem@gmail.com>
32--- 31---
33 gcc/config/aarch64/t-aarch64-linux | 8 ++++---- 32 gcc/config/aarch64/t-aarch64-linux | 8 ++++----
34 gcc/config/arc/t-multilib-linux | 4 ++-- 33 gcc/config/arc/t-multilib-linux | 4 ++--
35 gcc/config/i386/t-linux64 | 6 ++---- 34 gcc/config/i386/t-linux64 | 6 ++----
36 gcc/config/mips/t-linux64 | 10 +++------- 35 gcc/config/mips/t-linux64 | 28 ++--------------------------
37 gcc/config/riscv/t-linux | 6 ++++-- 36 gcc/config/riscv/t-linux | 4 ++--
38 gcc/config/rs6000/t-linux64 | 5 ++--- 37 gcc/config/rs6000/t-linux64 | 5 ++---
39 6 files changed, 17 insertions(+), 22 deletions(-) 38 6 files changed, 14 insertions(+), 41 deletions(-)
40 39
41diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux 40diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
42index d0cd546002a..f4056d68372 100644 41index 57bf4100fcd..aaef5da8059 100644
43--- a/gcc/config/aarch64/t-aarch64-linux 42--- a/gcc/config/aarch64/t-aarch64-linux
44+++ b/gcc/config/aarch64/t-aarch64-linux 43+++ b/gcc/config/aarch64/t-aarch64-linux
45@@ -21,8 +21,8 @@ 44@@ -21,8 +21,8 @@
@@ -56,7 +55,7 @@ index d0cd546002a..f4056d68372 100644
56-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) 55-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
57+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) 56+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
58diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux 57diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux
59index ecb9ae6859f..12a164028d4 100644 58index a839e4ea67c..f92664573a9 100644
60--- a/gcc/config/arc/t-multilib-linux 59--- a/gcc/config/arc/t-multilib-linux
61+++ b/gcc/config/arc/t-multilib-linux 60+++ b/gcc/config/arc/t-multilib-linux
62@@ -16,9 +16,9 @@ 61@@ -16,9 +16,9 @@
@@ -72,7 +71,7 @@ index ecb9ae6859f..12a164028d4 100644
72 # Aliases: 71 # Aliases:
73 MULTILIB_MATCHES += mcpu?arc700=mA7 72 MULTILIB_MATCHES += mcpu?arc700=mA7
74diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 73diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
75index 5526ad0e6cc..fa51c88912b 100644 74index 138956b0962..d6e0cdc4342 100644
76--- a/gcc/config/i386/t-linux64 75--- a/gcc/config/i386/t-linux64
77+++ b/gcc/config/i386/t-linux64 76+++ b/gcc/config/i386/t-linux64
78@@ -32,7 +32,5 @@ 77@@ -32,7 +32,5 @@
@@ -86,37 +85,53 @@ index 5526ad0e6cc..fa51c88912b 100644
86+MULTILIB_DIRNAMES = . . 85+MULTILIB_DIRNAMES = . .
87+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) 86+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
88diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 87diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
89index 2fdd8e00407..04f2099250f 100644 88index 176091cabb6..8258ef40559 100644
90--- a/gcc/config/mips/t-linux64 89--- a/gcc/config/mips/t-linux64
91+++ b/gcc/config/mips/t-linux64 90+++ b/gcc/config/mips/t-linux64
92@@ -17,10 +17,6 @@ 91@@ -17,29 +17,5 @@
93 # <http://www.gnu.org/licenses/>. 92 # <http://www.gnu.org/licenses/>.
94 93
95 MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 94 MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
96-MULTILIB_DIRNAMES = n32 32 64 95-MULTILIB_DIRNAMES = n32 32 64
97-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) 96-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
98-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) 97-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
99-MULTILIB_OSDIRNAMES = \ 98-ifeq (yes,$(enable_multiarch))
99- ifneq (,$(findstring gnuabi64,$(target)))
100- MULTILIB_OSDIRNAMES = \
101- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
102- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
103- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
104- else ifneq (,$(findstring gnuabin32,$(target)))
105- MULTILIB_OSDIRNAMES = \
106- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
107- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
108- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
109- else
110- MULTILIB_OSDIRNAMES = \
100- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ 111- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
101- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ 112- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
102- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) 113- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
114- endif
115-else
116- MULTILIB_OSDIRNAMES = \
117- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
118- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
119- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
120-endif
103+MULTILIB_DIRNAMES = . . . 121+MULTILIB_DIRNAMES = . . .
104+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) 122+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
105+
106diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux 123diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
107index 216d2776a18..e4d817621fc 100644 124index 216d2776a18..e3c520f4bf6 100644
108--- a/gcc/config/riscv/t-linux 125--- a/gcc/config/riscv/t-linux
109+++ b/gcc/config/riscv/t-linux 126+++ b/gcc/config/riscv/t-linux
110@@ -1,3 +1,5 @@ 127@@ -1,3 +1,3 @@
111 # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ 128 # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
112-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) 129-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
113-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) 130-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
114+#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) 131+#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
115+MULTILIB_DIRNAMES := . .
116+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) 132+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
117+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
118diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 133diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
119index 47e0efd5764..05f5a3f188e 100644 134index 01a94242308..1429eceaebf 100644
120--- a/gcc/config/rs6000/t-linux64 135--- a/gcc/config/rs6000/t-linux64
121+++ b/gcc/config/rs6000/t-linux64 136+++ b/gcc/config/rs6000/t-linux64
122@@ -26,10 +26,9 @@ 137@@ -26,10 +26,9 @@