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: PR gold/13507: Gold assumes GOT entry size is the same as ELF class size


"H.J. Lu" <hjl.tools@gmail.com> writes:

>>> It doesn't work. Âtarget.h has
>>>
>>> template<int size, bool big_endian>
>>> class Sized_target : public Target
>>> {
>>> ...
>>> Âvirtual Output_data_got<size, big_endian>*
>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>> Âinit_got_plt_for_update(Symbol_table*,
>>> Â Â Â Â Â Â Â Â Â Â Â Â ÂLayout*,
>>> Â Â Â Â Â Â Â Â Â Â Â Â Âunsigned int /* got_count */,
>>> Â Â Â Â Â Â Â Â Â Â Â Â Âunsigned int /* plt_count */)
>>> Â{ gold_unreachable(); }
>>> ...
>>>
>>> Here ELF class size is used for GOT entry size.
>>
>> The incremental linker is work in progress.
>>
>
> Do you have any suggestions how to address this?

Cary, CC'ed, has been working on the incremental linker.

Fundamentally the generic incremental linker code in incremental.cc is
going to have to ask the target for the size of a GOT entry.  That is
true under any possible scheme.  This could be done by making
Output_data_got a virtual class, or via some other scheme.

Ian


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