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 2/2] bfd/elfnn-aarch64.c: Handle static links with ifunc correctly.


On 26 November 2013 10:34, Marcus Shawcroft <marcus.shawcroft@gmail.com> 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?

I believe it is really an assert as _bfd_elf_allocate_ifunc_dyn_relocs
ensures this condition does not occur. The code is copied from
i386/x86_64 for better or worse - I am never quite sure whether it is
better to be the same or different in these cases. ;-)

-- 
Will Newton
Toolchain Working Group, Linaro


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