aboutsummaryrefslogtreecommitdiff
path: root/bfd/cpu-aarch64.c
diff options
context:
space:
mode:
authorYury Norov <ynorov@caviumnetworks.com>2016-12-09 21:47:58 +0530
committerYury Norov <ynorov@caviumnetworks.com>2016-12-21 17:56:03 +0530
commit3145b997151d2815065b5c880c1b0d63905d7630 (patch)
treebbb8a144c7100c3b8385be8408971c599747e711 /bfd/cpu-aarch64.c
parent4e25adb3956f880efc28bfebabe79be7338b413f (diff)
downloadgdb-3145b997151d2815065b5c880c1b0d63905d7630.zip
gdb-3145b997151d2815065b5c880c1b0d63905d7630.tar.gz
gdb-3145b997151d2815065b5c880c1b0d63905d7630.tar.bz2
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
Diffstat (limited to 'bfd/cpu-aarch64.c')
-rw-r--r--bfd/cpu-aarch64.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/bfd/cpu-aarch64.c b/bfd/cpu-aarch64.c
index 596d241..1adc670 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, 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)