This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] bfd: aarch64: fix word and arrdess size declaration in ilp32 mode


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3145b997151d2815065b5c880c1b0d63905d7630

commit 3145b997151d2815065b5c880c1b0d63905d7630
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Fri Dec 9 21:47:58 2016 +0530

    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

Diff:
---
 bfd/ChangeLog     | 7 +++++++
 bfd/cpu-aarch64.c | 8 ++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 259825d..fefad35 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]