This is the mail archive of the binutils@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]

Re: [PATCH][AArch64] Fix PR18841 ifunc relocation ordering


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.


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