[PATCH][AArch64] Fix PR18841 ifunc relocation ordering
Szabolcs Nagy
szabolcs.nagy@arm.com
Wed Jul 19 09:20:00 GMT 2017
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.
More information about the Binutils
mailing list