[PATCH 2/2] bfd/elfnn-aarch64.c: Handle static links with ifunc correctly.
Will Newton
will.newton@linaro.org
Tue Nov 26 11:07:00 GMT 2013
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
More information about the Binutils
mailing list