This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][AArch64] Fix PR18841 ifunc relocation ordering
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: Nick Clifton <nickc at redhat dot com>, Binutils <binutils at sourceware dot org>
- Cc: nd at arm dot com
- Date: Wed, 19 Jul 2017 10:20:44 +0100
- Subject: Re: [PATCH][AArch64] Fix PR18841 ifunc relocation ordering
- Authentication-results: sourceware.org; auth=none
- Authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com;
- Nodisclaimer: True
- References: <59637E45.8060206@arm.com> <7ab6987e-ac06-7899-7a76-e8bac2fe40d5@redhat.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 18/07/17 17:23, Nick Clifton wrote:
> Hi Szabolcs,
>
>> In order to get the ifunc relocs properly sorted the correct class
>> needs to be returned. The code mimics what has been done for x86.
>>
>> Fixes
>> FAIL: Run pr18841 with libpr18841c.so
>
> The patch is OK, but I would like to see one change:
>
> + if (!bed->s->swap_symbol_in (abfd,
> + (htab->root.dynsym->contents
> + + r_symndx * bed->s->sizeof_sym),
> + 0, &sym))
> + abort ();
>
> I strongly dislike calls to abort() inside a library. Corrupt input
> files can trigger them, and they are of no help to the user. So please
> replace this with a call to bfd_error_message(). (It would be nice if
> there was a reloc_class_unknown so that you could return that value, but
> that would be too big of a change).
>
thanks for the review.
i don't see bfd_error_message.
do you mean bfd_perror (printing last bfd error)
or bfd_assert (aborting with an error message)
or bfd_error_handler (printing a custom message) ?
i can return some random reloc class, but i don't
know if continuing in such state is valid.