[AArch64][4/4] Define TC_ADDRESS_BYTES for GAS
Jiong Wang
jiong.wang@foss.arm.com
Tue Dec 6 11:09:00 GMT 2016
On 06/12/16 10:50, Andreas Schwab wrote:
> On Dez 05 2016, Jiong Wang <jiong.wang@foss.arm.com> wrote:
>
>> The default address_per_bytes is define in cpu-aarch64.c, current it's 8 for
>> both LP64 and ILP32, whether we should change it to 4 as well as word_per_bytes
>> looks to me is another issue we need to investigate.
> This works for me and fixes quite a few failures:
Hi Andreas,
Thanks very much for verifying this.
Yury, does Andreas's cpu-aarch64.c change works well with Cavium's ILP32
environment, mind a full testing on it?
Thanks.
>
> * cpu-aarch64.c (N): Add argument ADDRSIZE.
> (bfd_aarch64_arch_ilp32): Set it to 32.
> (bfd_aarch64_arch): Set it to 64.
> ---
> bfd/cpu-aarch64.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/bfd/cpu-aarch64.c b/bfd/cpu-aarch64.c
> index 596d24190b..af2da8455d 100644
> --- a/bfd/cpu-aarch64.c
> +++ b/bfd/cpu-aarch64.c
> @@ -100,16 +100,16 @@ scan (const struct bfd_arch_info *info, const char *string)
> return FALSE;
> }
>
> -#define N(NUMBER, PRINT, DEFAULT, NEXT) \
> - { 64, 64, 8, bfd_arch_aarch64, NUMBER, \
> +#define N(NUMBER, PRINT, ADDRSIZE, DEFAULT, NEXT) \
> + { 64, ADDRSIZE, 8, bfd_arch_aarch64, NUMBER, \
> "aarch64", PRINT, 4, DEFAULT, compatible, scan, \
> bfd_arch_default_fill, NEXT }
>
> static const bfd_arch_info_type bfd_aarch64_arch_ilp32 =
> - N (bfd_mach_aarch64_ilp32, "aarch64:ilp32", FALSE, NULL);
> + N (bfd_mach_aarch64_ilp32, "aarch64:ilp32", 32, FALSE, NULL);
>
> const bfd_arch_info_type bfd_aarch64_arch =
> - N (0, "aarch64", TRUE, &bfd_aarch64_arch_ilp32);
> + N (0, "aarch64", 64, TRUE, &bfd_aarch64_arch_ilp32);
>
> bfd_boolean
> bfd_is_aarch64_special_symbol_name (const char *name, int type)
More information about the Binutils
mailing list