[AArch64][4/4] Define TC_ADDRESS_BYTES for GAS

Yury Norov ynorov@caviumnetworks.com
Wed Dec 7 16:12:00 GMT 2016


> This is my version of the change. The same idea, but I also set
> bits_per_word to 32:
> 
> diff --git a/bfd/cpu-aarch64.c b/bfd/cpu-aarch64.c
> index 596d241..cc98e2e 100644
> --- a/bfd/cpu-aarch64.c
> +++ b/bfd/cpu-aarch64.c
> @@ -105,8 +105,13 @@ scan (const struct bfd_arch_info *info, const char *string)
>      "aarch64", PRINT, 4, DEFAULT, compatible, scan,		\
>      bfd_arch_default_fill, NEXT }
>  
> +#define N32(NUMBER, PRINT, DEFAULT, NEXT)				\
> +  { 32, 32, 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);
> +  N32 (bfd_mach_aarch64_ilp32, "aarch64:ilp32", FALSE, NULL);
>  
>  const bfd_arch_info_type bfd_aarch64_arch =
>    N (0, "aarch64", TRUE, &bfd_aarch64_arch_ilp32);
> 
> ---
> 
> And this is before/after test results:
> 
> After                                                   Before
> 						>	FAIL: c++-types-check
> FAIL: elf/tst-tls-manydynamic			<
>                                                 >	FAIL: iconvdata/mtrace-tst-loading
> 						>	FAIL: iconvdata/tst-loading
> 						>	FAIL: iconvdata/tst-tables
>                                 		>	FAIL: localedata/mtrace-tst-leaks
> 						>	FAIL: localedata/tst-leaks
> 						>	FAIL: posix/tst-getaddrinfo4
> 						>	FAIL: posix/tst-getaddrinfo5
> 						>	FAIL: posix/tst-regex2
> 
> Pretty good to me. I'm not experienced in ld logic, but tests show
> that changing both wordsize and addrsize is right idea. If no
> objections here, I'll send the patch to binutils maillist.
> 
> Steve, could you try this patch with real hardware and report here?

Hi Andreas,

Are you OK with this change? If no objections, I'd like to send it,
and it would be great if you let me  add you as the co-author to
changelog. BTW, tst-tls-manydynamic is not a real regression. It
also fails for LP64 in my setup.

Yury.



More information about the Binutils mailing list