diff options
author | Alan Modra <amodra@gmail.com> | 2015-03-10 09:48:57 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2015-03-10 09:48:57 +1030 |
commit | 864396ff9e8a4ee1f02e1ff0fb4d096bbca547ff (patch) | |
tree | 53571cee2adb6aca1f31369dc72e57fe49aa049a /gcc/config | |
parent | 711d91e13f68b63402bbce1fe1fc6656cdf912fd (diff) | |
download | gcc-864396ff9e8a4ee1f02e1ff0fb4d096bbca547ff.zip gcc-864396ff9e8a4ee1f02e1ff0fb4d096bbca547ff.tar.gz gcc-864396ff9e8a4ee1f02e1ff0fb4d096bbca547ff.tar.bz2 |
re PR target/65286 (When building on powerpc64le-unknown-linux-gnu, --disable-multilib must be used)
PR target/65286
* config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
to be single-arch by default. Set cpu_is_64bit for powerpc64
given --with-cpu=native.
* config/rs6000/t-fprules: Do not set default MULTILIB vars.
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
and powerpc64le.
* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
rs6000_isa_flags rather than TARGET_64BIT.
From-SVN: r221288
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/rs6000/linux64.h | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/t-fprules | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/t-linux | 11 |
3 files changed, 10 insertions, 9 deletions
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 0fb3911..0879e7e 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -97,7 +97,7 @@ extern int dot_symbols; { \ if (!global_options_set.x_rs6000_alignment_flags) \ rs6000_alignment_flags = MASK_ALIGN_NATURAL; \ - if (TARGET_64BIT) \ + if (rs6000_isa_flags & OPTION_MASK_64BIT) \ { \ if (DEFAULT_ABI != ABI_AIX) \ { \ diff --git a/gcc/config/rs6000/t-fprules b/gcc/config/rs6000/t-fprules index 421b0fb..dc345ad 100644 --- a/gcc/config/rs6000/t-fprules +++ b/gcc/config/rs6000/t-fprules @@ -18,9 +18,3 @@ SOFT_FLOAT_CPUS = e300c2 401 403 405 440 464 476 ec603e 801 821 823 860 MULTILIB_MATCHES_FLOAT = $(foreach cpu, $(SOFT_FLOAT_CPUS), msoft-float=mcpu?$(cpu)) - -# Build the libraries for both hard and soft floating point by default - -MULTILIB_OPTIONS = msoft-float -MULTILIB_DIRNAMES = soft-float -MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT} diff --git a/gcc/config/rs6000/t-linux b/gcc/config/rs6000/t-linux index 0b92eba..1630a0c 100644 --- a/gcc/config/rs6000/t-linux +++ b/gcc/config/rs6000/t-linux @@ -1,10 +1,17 @@ # do not define the multiarch name if configured for a soft-float cpu # or soft-float. ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float))) +ifneq (,$(findstring powerpc64,$(target))) +MULTIARCH_DIRNAME := powerpc64-linux-gnu +else ifneq (,$(findstring spe,$(target))) -MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1) +MULTIARCH_DIRNAME := powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1) else -MULTIARCH_DIRNAME = powerpc-linux-gnu +MULTIARCH_DIRNAME := powerpc-linux-gnu +endif +endif +ifneq (,$(findstring powerpcle,$(target))$(findstring powerpc64le,$(target))) +MULTIARCH_DIRNAME := $(subst -linux,le-linux,$(MULTIARCH_DIRNAME)) endif endif |