[AArch64, ILP32] 1/6 Initial support - configury changes
authorYufeng Zhang <yufeng.zhang@arm.com>
Tue, 23 Jul 2013 12:12:53 +0000 (12:12 +0000)
committerYufeng Zhang <yufeng@gcc.gnu.org>
Tue, 23 Jul 2013 12:12:53 +0000 (12:12 +0000)
commit17a819cb0d6becdfe32f6b26164fb14b77d96369
treeba5fed4bf9a0db1ffa9273ecb836474c8c54c143
parent9f9cbdcea607f6705cd25c5d34e2554dfa8fa074
[AArch64, ILP32] 1/6 Initial support - configury changes

gcc/
* config.gcc (aarch64*-*-*): Support --with-abi.
(aarch64*-*-elf): Support --with-multilib-list.
(aarch64*-*-linux*): Likewise.
(supported_defaults): Add abi to aarch64*-*-*.
* configure.ac: Mention AArch64 for --with-multilib-list.
* configure: Re-generated.
* config/aarch64/biarchilp32.h: New file.
* config/aarch64/biarchlp64.h: New file.
* config/aarch64/aarch64-elf.h (ENDIAN_SPEC): New define.
(ABI_SPEC): Ditto.
(MULTILIB_DEFAULTS): Ditto.
(DRIVER_SELF_SPECS): Ditto.
(ASM_SPEC): Update to also substitute -mabi.
* config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Add linker script
file whose name depends on -mabi= and -mbig-endian.
* config/aarch64/aarch64.h (LONG_TYPE_SIZE): Change to depend on
TARGET_ILP32.
(POINTER_SIZE): New define.
(POINTERS_EXTEND_UNSIGNED): Ditto.
(enum aarch64_abi_type): New enumeration tag.
(AARCH64_ABI_LP64, AARCH64_ABI_ILP32): New enumerators.
(AARCH64_ABI_DEFAULT): Define to AARCH64_ABI_LP64 if undefined.
(TARGET_ILP32): New define.
* config/aarch64/aarch64.opt (mabi): New.
(aarch64_abi): New.
(ilp32, lp64): New values for -mabi.
* config/aarch64/t-aarch64 (comma): New define.
(MULTILIB_OPTIONS): Ditto.
(MULTILIB_DIRNAMES): Ditto.
* config/aarch64/t-aarch64-linux (MULTIARCH_DIRNAME): New define.
* doc/invoke.texi: Document -mabi for AArch64.

From-SVN: r201164
13 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/aarch64/aarch64-elf-raw.h
gcc/config/aarch64/aarch64-elf.h
gcc/config/aarch64/aarch64.h
gcc/config/aarch64/aarch64.opt
gcc/config/aarch64/biarchilp32.h [new file with mode: 0644]
gcc/config/aarch64/biarchlp64.h [new file with mode: 0644]
gcc/config/aarch64/t-aarch64
gcc/config/aarch64/t-aarch64-linux
gcc/configure
gcc/configure.ac
gcc/doc/invoke.texi