[PATCH 2/2] bfd/elfnn-aarch64.c: Handle static links with ifunc correctly.

Richard Earnshaw rearnsha@arm.com
Tue Nov 26 11:07:00 GMT 2013


On 26/11/13 10:34, Marcus Shawcroft wrote:
> On 26 November 2013 08:54, Will Newton <will.newton@linaro.org> wrote:
> 
>> -      if (info->shared && SYMBOL_REFERENCES_LOCAL (info, h))
>> +      if (h->def_regular
>> +         && h->type == STT_GNU_IFUNC)
>> +       {
>> +         if (info->shared)
>> +           {
>> +             /* Generate R_AARCH64_GLOB_DAT.  */
>> +             goto do_glob_dat;
>> +           }
>> +         else
>> +           {
>> +             asection *plt;
>> +
>> +             if (!h->pointer_equality_needed)
>> +               abort ();
> 
> Is abort() the best option here, can't we spit out a diagnostic and return?
> 
> /Marcus
> 

In general, abort is OK here if it's due to internal inconsistencies in
the linker.   It's not OK if it's due to inconsistencies in the input
object files.

R.



More information about the Binutils mailing list