diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2017-06-16 21:06:14 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2017-06-16 21:06:14 +0000 |
commit | be5c4e06871958f2cbd7f091b6b123fb5ee94151 (patch) | |
tree | 518a3bf84169c51c523bdf46c1f22b6eea84a76c | |
parent | e61a3cdd259de13884da900ecb5440a9cc466665 (diff) | |
download | gcc-be5c4e06871958f2cbd7f091b6b123fb5ee94151.zip gcc-be5c4e06871958f2cbd7f091b6b123fb5ee94151.tar.gz gcc-be5c4e06871958f2cbd7f091b6b123fb5ee94151.tar.bz2 |
[arm] Rework multilib support
It looks like the fuchsia port relied on inheriting the multilib rules from
the bare-metal port (the t-arm-elf makefile fragment), but that has now been
rewritten on the assuption that the base architecture is ARMv4t; fuchsia
has a base architecture of ARMv7-a.
To account for this, I've cloned the original t-arm-elf rules into a
new makefile fragment t-fuchsia and arranged for that to be used when
targetting this system.
* config/arm/t-fuchsia: New file.
* config.gcc (arm*-*-fuchsia*): Use it.
From-SVN: r249305
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config.gcc | 2 | ||||
-rw-r--r-- | gcc/config/arm/t-fuchsia | 33 |
3 files changed, 39 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f73286..3424581 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2017-06-16 Richard Earnshaw <rearnsha@arm.com> + * config/arm/t-fuchsia: New file. + * config.gcc (arm*-*-fuchsia*): Use it. + +2017-06-16 Richard Earnshaw <rearnsha@arm.com> + * config/arm/t-symbian: Rewrite for new option infrastructure. 2017-06-16 Richard Earnshaw <rearnsha@arm.com> diff --git a/gcc/config.gcc b/gcc/config.gcc index 94a281d..0518cb7 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1160,7 +1160,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*) ;; arm*-*-fuchsia*) tm_file="${tm_file} fuchsia.h arm/fuchsia-elf.h glibc-stdint.h" - tmake_file="${tmake_file} arm/t-bpabi" + tmake_file="${tmake_file} arm/t-bpabi arm/t-fuchsia" target_cpu_cname="generic-armv7-a" ;; arm*-*-rtems*) diff --git a/gcc/config/arm/t-fuchsia b/gcc/config/arm/t-fuchsia new file mode 100644 index 0000000..18fc518 --- /dev/null +++ b/gcc/config/arm/t-fuchsia @@ -0,0 +1,33 @@ +# Copyright (C) 2017 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +# Reset all the multilib variables. +MULTILIB_OPTIONS = +MULTILIB_DIRNAMES = +MULTILIB_EXCEPTIONS = +MULTILIB_REUSE = +MULTILIB_MATCHES = +MULTILIB_REQUIRED = + +# For compatibility with gcc-7 we build the following multilibs +MULTILIB_OPTIONS += marm/mthumb +MULTILIB_DIRNAMES += arm thumb + +MULTILIB_OPTIONS += mfloat-abi=hard +MULTILIB_DIRNAMES += fpu +MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* |