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 11:06, Marcus Shawcroft <marcus.shawcroft@arm.com> wrote:
> On 26/11/13 10:39, Will Newton wrote:
>>
>> 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. ;-)
>
>
> If you are confident it is an assert then I'm happy to leave the code the
> same as the donor.  In which case this is OK for trunk.
>
> I'd like to see these two IFUNC patches in 2.24, Tristan ?

Hi Tristan,

Are these ok for 2.24?

Thanks,

-- 
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]