bfd: aarch64: fix word and arrdess size declaration in ilp32 mode

ILP32 has 32-bit word and address, but currently they declared as 64-bit in
bfd_aarch64_arch_ilp32, which breaks further logic of bfd. This patch fixes it.

Glibc testsuite build with patched binutils shows that next tests stop to fail:
iconvdata/mtrace-tst-loading
iconvdata/tst-loading
iconvdata/tst-tables
localedata/mtrace-tst-leaks
localedata/tst-leaks
posix/tst-getaddrinfo4
posix/tst-getaddrinfo5
posix/tst-regex2
This commit is contained in:
Yury Norov 2016-12-09 21:47:58 +05:30
parent 4e25adb395
commit 3145b99715
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2016-12-21: Yury Norov <ynorov@caviumnetworks.com>
Andreas Schwab <schwab@suse.de>
* cpu-aarch64.c: Fix word and address size declaration in
ilp32 mode in bfd_arch_info_type bfd_aarch64_arch_ilp32
structure.
2016-12-20 Andrew Waterman <andrew@sifive.com>
* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use

View File

@ -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, WORDSIZE, DEFAULT, NEXT) \
{ WORDSIZE, WORDSIZE, 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)