diff options
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.patch | 51 |
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 @@ | |||
1 | From 34b861e7a4cfd7b1f0d2c0f8cf9bb0b0b81eb61a Mon Sep 17 00:00:00 2001 | 1 | From 86664e09670efa5a8662ef59590e01707f8e0cc3 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:10:06 +0400 | 3 | Date: Fri, 29 Mar 2013 09:10:06 +0400 |
4 | Subject: [PATCH] 64-bit multilib hack. | 4 | Subject: [PATCH] 64-bit multilib hack |
5 | 5 | ||
6 | GCC has internal multilib handling code but it assumes a very specific rigid directory | 6 | GCC has internal multilib handling code but it assumes a very specific rigid directory |
7 | layout. The build system implementation of multilib layout is very generic and allows | 7 | layout. The build system implementation of multilib layout is very generic and allows |
@@ -28,18 +28,17 @@ Upstream-Status: Inappropriate [OE-Specific] | |||
28 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 28 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
29 | Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> | 29 | Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> |
30 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | 30 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
31 | Signed-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 | ||
41 | diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux | 40 | diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux |
42 | index d0cd546002a..f4056d68372 100644 | 41 | index 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) |
58 | diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux | 57 | diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux |
59 | index ecb9ae6859f..12a164028d4 100644 | 58 | index 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 |
74 | diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 | 73 | diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 |
75 | index 5526ad0e6cc..fa51c88912b 100644 | 74 | index 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)) |
88 | diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 | 87 | diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 |
89 | index 2fdd8e00407..04f2099250f 100644 | 88 | index 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 | + | ||
106 | diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux | 123 | diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux |
107 | index 216d2776a18..e4d817621fc 100644 | 124 | index 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)) | ||
118 | diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 | 133 | diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 |
119 | index 47e0efd5764..05f5a3f188e 100644 | 134 | index 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 @@ |