190 lines
8.7 KiB
Diff
190 lines
8.7 KiB
Diff
# DP: - Remaining multiarch patches, not yet submitted upstream.
|
|
# DP: - Add MULTIARCH_DIRNAME definitions for multilib configurations,
|
|
# DP: which are used for the non-multilib builds.
|
|
|
|
2013-06-12 Matthias Klose <doko@ubuntu.com>
|
|
|
|
* config/i386/t-linux64: Set MULTIARCH_DIRNAME.
|
|
* config.gcc (i[34567]86-*-linux* | x86_64-*-linux*): Prepend
|
|
i386/t-linux to $tmake_file;
|
|
set default ABI to N64 for mips64el.
|
|
* config/mips/t-linux64: Set MULTIARCH_DIRNAME.
|
|
* config/rs6000/t-linux64: Set MULTIARCH_DIRNAME.
|
|
* config/s390/t-linux64: Set MULTIARCH_DIRNAME.
|
|
* config/sparc/t-linux64: Set MULTIARCH_DIRNAME.
|
|
* src/gcc/config/mips/mips.h: (/usr)/lib as default path.
|
|
|
|
--- a/src/gcc/config/sh/t-linux
|
|
+++ b/src/gcc/config/sh/t-linux
|
|
@@ -1,3 +1,11 @@
|
|
MULTILIB_DIRNAMES=
|
|
MULTILIB_MATCHES=
|
|
+
|
|
+ifneq (,$(findstring sh4,$(target)))
|
|
+MULTILIB_OSDIRNAMES = .:sh4-linux-gnu sh4_nofpu-linux-gnu:sh4-linux-gnu
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,sh4-linux-gnu)
|
|
+else
|
|
+MULTILIB_OSDIRNAMES = .:sh3-linux-gnu sh3_nofpu-linux-gnu:sh3-linux-gnu
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,sh3-linux-gnu)
|
|
+endif
|
|
MULTILIB_EXCEPTIONS=m1 mb/m1 m2a
|
|
--- a/src/gcc/config/sparc/t-linux64
|
|
+++ b/src/gcc/config/sparc/t-linux64
|
|
@@ -27,3 +27,5 @@ MULTILIB_OPTIONS = m64/m32
|
|
MULTILIB_DIRNAMES = 64 32
|
|
MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu)
|
|
MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu)
|
|
+
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,sparc$(if $(findstring 64,$(target)),64)-linux-gnu)
|
|
--- a/src/gcc/config/s390/t-linux64
|
|
+++ b/src/gcc/config/s390/t-linux64
|
|
@@ -9,3 +9,5 @@ MULTILIB_OPTIONS = m64/m31
|
|
MULTILIB_DIRNAMES = 64 32
|
|
MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:s390x-linux-gnu)
|
|
MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:s390-linux-gnu)
|
|
+
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,s390$(if $(findstring s390x,$(target)),x)-linux-gnu)
|
|
--- a/src/gcc/config/rs6000/t-linux64
|
|
+++ b/src/gcc/config/rs6000/t-linux64
|
|
@@ -31,6 +31,8 @@ MULTILIB_EXTRA_OPTS :=
|
|
MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
|
|
MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
|
|
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,powerpc$(if $(findstring 64,$(target)),64)-linux-gnu)
|
|
+
|
|
rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
--- a/src/gcc/config/i386/t-linux64
|
|
+++ b/src/gcc/config/i386/t-linux64
|
|
@@ -36,3 +36,13 @@ MULTILIB_DIRNAMES = $(patsubst m%, %,
|
|
MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
|
|
MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
|
|
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
|
|
+
|
|
+ifneq (,$(findstring x86_64,$(target)))
|
|
+ ifneq (,$(findstring biarchx32.h,$(tm_include_list)))
|
|
+ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnux32)
|
|
+ else
|
|
+ MULTIARCH_DIRNAME = $(call if_multiarch,x86_64-linux-gnu)
|
|
+ endif
|
|
+else
|
|
+ MULTIARCH_DIRNAME = $(call if_multiarch,i386-linux-gnu)
|
|
+endif
|
|
--- a/src/gcc/config/mips/t-linux64
|
|
+++ b/src/gcc/config/mips/t-linux64
|
|
@@ -18,24 +18,28 @@
|
|
|
|
MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
|
|
MULTILIB_DIRNAMES = n32 32 64
|
|
+MIPS_R6 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),r6)
|
|
+MIPS_32 = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),32)
|
|
+MIPS_ISA = $(if $(findstring r6, $(firstword $(subst -, ,$(target)))),isa)
|
|
MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
|
|
MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
|
|
+
|
|
ifeq (yes,$(enable_multiarch))
|
|
ifneq (,$(findstring gnuabi64,$(target)))
|
|
MULTILIB_OSDIRNAMES = \
|
|
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
|
- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
+ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
|
+ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
+ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
else ifneq (,$(findstring gnuabin32,$(target)))
|
|
MULTILIB_OSDIRNAMES = \
|
|
- ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
|
- ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
+ ../lib$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
|
+ ../libo32$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
+ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
else
|
|
MULTILIB_OSDIRNAMES = \
|
|
- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
|
- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
+ ../lib32$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
|
|
+ ../lib$(call if_multiarch,:mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
+ ../lib64$(call if_multiarch,:mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
endif
|
|
else
|
|
MULTILIB_OSDIRNAMES = \
|
|
@@ -43,3 +47,13 @@ else
|
|
../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
|
|
../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
endif
|
|
+
|
|
+ifneq (,$(findstring abin32,$(target)))
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT))
|
|
+else
|
|
+ifneq (,$(findstring abi64,$(target)))
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)64$(MIPS_R6)$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
|
|
+else
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,mips$(MIPS_ISA)$(MIPS_32)$(MIPS_R6)$(MIPS_EL)-linux-gnu$(MIPS_SOFT))
|
|
+endif
|
|
+endif
|
|
--- a/src/gcc/config.gcc
|
|
+++ b/src/gcc/config.gcc
|
|
@@ -2606,7 +2606,8 @@ mips*-*-linux*) # Linux MIPS, either
|
|
extra_options="${extra_options} linux-android.opt"
|
|
case ${target} in
|
|
mipsisa32r6*)
|
|
- default_mips_arch=mips32r6
|
|
+ with_arch_32="mips32r6"
|
|
+ with_arch_64="mips64r6"
|
|
;;
|
|
mipsisa32r2*)
|
|
default_mips_arch=mips32r2
|
|
@@ -2628,7 +2629,8 @@ mips*-*-linux*) # Linux MIPS, either
|
|
;;
|
|
mipsisa64r6*-*-linux-gnuabi64)
|
|
default_mips_abi=64
|
|
- default_mips_arch=mips64r6
|
|
+ with_arch_32="mips32r6"
|
|
+ with_arch_64="mips64r6"
|
|
enable_mips_multilibs="yes"
|
|
;;
|
|
mipsisa64r6*-*-linux*)
|
|
@@ -5845,7 +5847,7 @@ case ${target} in
|
|
;;
|
|
i[34567]86-*-linux* | x86_64-*-linux*)
|
|
extra_objs="${extra_objs} gnu-property.o"
|
|
- tmake_file="$tmake_file i386/t-linux i386/t-gnu-property"
|
|
+ tmake_file="i386/t-linux $tmake_file i386/t-gnu-property"
|
|
;;
|
|
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
|
|
tmake_file="$tmake_file i386/t-kfreebsd"
|
|
--- a/src/gcc/Makefile.in
|
|
+++ b/src/gcc/Makefile.in
|
|
@@ -582,7 +582,7 @@ BUILD_SYSTEM_HEADER_DIR = `echo @BUILD_S
|
|
STMP_FIXINC = @STMP_FIXINC@
|
|
|
|
# Test to see whether <limits.h> exists in the system header files.
|
|
-LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h ]
|
|
+LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h -o -f $(BUILD_SYSTEM_HEADER_DIR)/$(MULTIARCH_DIRNAME)/limits.h ]
|
|
|
|
# Directory for prefix to system directories, for
|
|
# each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
|
|
--- a/src/gcc/config/aarch64/t-aarch64-linux
|
|
+++ b/src/gcc/config/aarch64/t-aarch64-linux
|
|
@@ -22,7 +22,7 @@ LIB1ASMSRC = aarch64/lib1funcs.asm
|
|
LIB1ASMFUNCS = _aarch64_sync_cache_range
|
|
|
|
AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
|
|
-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
|
|
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
|
|
MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
|
|
|
|
MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
|
|
--- a/src/gcc/config/arc/t-multilib-linux
|
|
+++ b/src/gcc/config/arc/t-multilib-linux
|
|
@@ -23,3 +23,6 @@ MULTILIB_DIRNAMES = hs archs hs38 hs38_l
|
|
# Aliases:
|
|
MULTILIB_MATCHES += mcpu?arc700=mA7
|
|
MULTILIB_MATCHES += mcpu?arc700=mARC700
|
|
+
|
|
+MULTILIB_OSDIRNAMES =
|
|
+MULTIARCH_DIRNAME = $(call if_multiarch,arc-linux-gnu)
|