[PATCH][AArch64] Fix PR18841 ifunc relocation ordering

Nick Clifton nickc@redhat.com
Tue Jul 18 16:24:00 GMT 2017


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).

Cheers
  Nick



More information about the Binutils mailing list