1
# DP: - Remaining multiarch patches, not yet submitted upstream.
2
# DP: - Add MULTIARCH_DIRNAME definitions for multilib configurations,
3
# DP: which are used for the non-multilib builds.
5
2013-06-12 Matthias Klose <doko@ubuntu.com>
7
* config/i386/t-linux64: Set MULTIARCH_DIRNAME.
8
* config/i386/t-kfreebsd: Set MULTIARCH_DIRNAME.
9
* config.gcc (i[34567]86-*-linux* | x86_64-*-linux*): Prepend
10
i386/t-linux to $tmake_file;
11
set default ABI to N64 for mips64el.
12
* config/mips/t-linux64: Set MULTIARCH_DIRNAME.
13
* config/rs6000/t-linux64: Set MULTIARCH_DIRNAME.
14
* config/s390/t-linux64: Set MULTIARCH_DIRNAME.
15
* config/sparc/t-linux64: Set MULTIARCH_DIRNAME.
16
* src/gcc/config/mips/mips.h: (/usr)/lib as default path.
18
Index: b/src/gcc/config/sh/t-linux
19
===================================================================
20
--- a/src/gcc/config/sh/t-linux
21
+++ b/src/gcc/config/sh/t-linux
26
+MULTILIB_OSDIRNAMES = sh4-linux-gnu:sh4-linux-gnu sh4_nofpu-linux-gnu:sh4-linux-gnu
27
Index: b/src/gcc/config/sparc/t-linux64
28
===================================================================
29
--- a/src/gcc/config/sparc/t-linux64
30
+++ b/src/gcc/config/sparc/t-linux64
31
@@ -27,3 +27,5 @@ MULTILIB_OPTIONS = m64/m32
32
MULTILIB_DIRNAMES = 64 32
33
MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
34
MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
36
+MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu)
37
Index: b/src/gcc/config/s390/t-linux64
38
===================================================================
39
--- a/src/gcc/config/s390/t-linux64
40
+++ b/src/gcc/config/s390/t-linux64
41
@@ -9,3 +9,5 @@ MULTILIB_OPTIONS = m64/m31
42
MULTILIB_DIRNAMES = 64 32
43
MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
44
MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
46
+MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu)
47
Index: b/src/gcc/config/rs6000/t-linux64
48
===================================================================
49
--- a/src/gcc/config/rs6000/t-linux64
50
+++ b/src/gcc/config/rs6000/t-linux64
51
@@ -31,6 +31,8 @@ MULTILIB_EXTRA_OPTS :=
52
MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
53
MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
55
+MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu)
57
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
60
Index: b/src/gcc/config/i386/t-linux64
61
===================================================================
62
--- a/src/gcc/config/i386/t-linux64
63
+++ b/src/gcc/config/i386/t-linux64
64
@@ -36,3 +36,13 @@ MULTILIB_DIRNAMES = $(patsubst m%, %,
65
MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
66
MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
67
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
69
+ifneq (,$(findstring x86_64,$(target)))
70
+ ifneq (,$(findstring biarchx32.h,$(tm_include_list)))
71
+ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnux32)
73
+ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnu)
76
+ MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu)
78
Index: b/src/gcc/config/i386/t-kfreebsd
79
===================================================================
80
--- a/src/gcc/config/i386/t-kfreebsd
81
+++ b/src/gcc/config/i386/t-kfreebsd
83
-MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu)
84
+ifeq (,$(MULTIARCH_DIRNAME))
85
+ MULTIARCH_DIRNAME = $(call if_multiarch,i386-kfreebsd-gnu)
88
# MULTILIB_OSDIRNAMES are set in t-linux64.
89
KFREEBSD_OS = $(filter kfreebsd%, $(word 3, $(subst -, ,$(target))))
90
MULTILIB_OSDIRNAMES := $(filter-out mx32=%,$(subst linux,$(KFREEBSD_OS),$(MULTILIB_OSDIRNAMES)))
92
+MULTIARCH_DIRNAME := $(subst linux,$(KFREEBSD_OS),$(MULTIARCH_DIRNAME))
93
Index: b/src/gcc/config/mips/t-linux64
94
===================================================================
95
--- a/src/gcc/config/mips/t-linux64
96
+++ b/src/gcc/config/mips/t-linux64
97
@@ -24,3 +24,13 @@ MULTILIB_OSDIRNAMES = \
98
../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
99
../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
100
../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
102
+ifneq (,$(findstring abin32,$(target)))
103
+MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
105
+ifneq (,$(findstring abi64,$(target)))
106
+MULTIARCH_DIRNAME = $(call if_multiarch,mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
108
+MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT))
111
Index: b/src/gcc/config.gcc
112
===================================================================
113
--- a/src/gcc/config.gcc
114
+++ b/src/gcc/config.gcc
115
@@ -2038,6 +2038,10 @@ mips*-*-linux*) # Linux MIPS, either
116
default_mips_arch=mips64r2
117
enable_mips_multilibs="yes"
119
+ mips64*-*-linux-gnuabi64 | mipsisa64*-*-linux-gnuabi64)
120
+ default_mips_abi=64
121
+ enable_mips_multilibs="yes"
123
mips64*-*-linux* | mipsisa64*-*-linux*)
125
enable_mips_multilibs="yes"
126
@@ -4247,7 +4251,7 @@ case ${target} in
127
i[34567]86-*-darwin* | x86_64-*-darwin*)
129
i[34567]86-*-linux* | x86_64-*-linux*)
130
- tmake_file="$tmake_file i386/t-linux"
131
+ tmake_file="i386/t-linux $tmake_file"
133
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
134
tmake_file="$tmake_file i386/t-kfreebsd"
135
Index: b/src/gcc/config/aarch64/t-aarch64-linux
136
===================================================================
137
--- a/src/gcc/config/aarch64/t-aarch64-linux
138
+++ b/src/gcc/config/aarch64/t-aarch64-linux
139
@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
140
LIB1ASMFUNCS = _aarch64_sync_cache_range
142
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
143
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
144
-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
145
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
146
+MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)_ilp32-linux-gnu)
148
-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32
149
+MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
150
Index: b/src/gcc/config/mips/mips.h
151
===================================================================
152
--- a/src/gcc/config/mips/mips.h
153
+++ b/src/gcc/config/mips/mips.h
154
@@ -3185,13 +3185,3 @@ extern GTY(()) struct target_globals *mi
155
with arguments ARGS. */
156
#define PMODE_INSN(NAME, ARGS) \
157
(Pmode == SImode ? NAME ## _si ARGS : NAME ## _di ARGS)
159
-/* If we are *not* using multilibs and the default ABI is not ABI_32 we
160
- need to change these from /lib and /usr/lib. */
161
-#if MIPS_ABI_DEFAULT == ABI_N32
162
-#define STANDARD_STARTFILE_PREFIX_1 "/lib32/"
163
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib32/"
164
-#elif MIPS_ABI_DEFAULT == ABI_64
165
-#define STANDARD_STARTFILE_PREFIX_1 "/lib64/"
166
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib64/"