This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] bfd: aarch64: fix word and arrdess size declaration in ilp32 mode
- From: Yury Norov <ynorov at caviumnetworks dot com>
- To: <binutils at sourceware dot org>
- Cc: Jiong Wang <jiong dot wang at foss dot arm dot com>, Andreas Schwab <schwab at suse dot de>, Steve Ellcey <Steve dot Ellcey at cavium dot com>, Andrew Pinski <Andrew dot Pinski at cavium dot com>, Nick Clifton <nickc at redhat dot com>
- Date: Sun, 18 Dec 2016 14:40:45 +0530
- Subject: Re: [PATCH] bfd: aarch64: fix word and arrdess size declaration in ilp32 mode
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Yuri dot Norov at caviumnetworks dot com;
- References: <1481300278-30272-1-git-send-email-ynorov@caviumnetworks.com> <20161212140815.GA17708@yury-N73SV>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Ping again. Someone, please take a look at this. It fixes some tests,
and it's important for ilp32 enabling in aarch64. Nick? Andreas?
Yury
On Mon, Dec 12, 2016 at 07:38:15PM +0530, Yury Norov wrote:
> Ping?
>
> On Fri, Dec 09, 2016 at 09:47:58PM +0530, Yury Norov wrote:
> > 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
> >
> > I discovered this issue at the same time with Andreas Schwab, so if patch is OK
> > to pull, it would be fair to add also his name as an author in changelog.
> >
> > 2016-12-09: Yury Norov <ynorov@caviumnetworks.com>
> > Andreas Schwab <schwab@suse.de>
> > * bfd/cpu-aarch64.c: Fix word and address size declaration in ilp32 mode
> > in bfd_arch_info_type bfd_aarch64_arch_ilp32 structure.
> >
> > Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>
> > ---
> > 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 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)
> > --
> > 2.7.4