PATCH: PR gold/13507: Gold assumes GOT entry size is the same as ELF class size

H.J. Lu hjl.tools@gmail.com
Fri Dec 16 22:10:00 GMT 2011


On Fri, Dec 16, 2011 at 10:59 AM, Ian Lance Taylor <iant@google.com> wrote:
>
>>
>> Unless we can remove all dependencies on the ELF class from
>> Output_data_got, I don't see how it will work.
>
> I agree.  That is exactly what I am suggesting.
>
>
>> Considering there are codes in Output_data_got like
>>
>>             Sized_symbol<size>* sgsym;
>>             // This cast is a bit ugly.  We don't want to put a
>>             // virtual method in Symbol, because we want Symbol to be
>>             // as small as possible.
>>             sgsym = static_cast<Sized_symbol<size>*>(gsym);
>>             val = sgsym->value();
>>
>> add another template parameter for GOT entry size is less intrusive.
>> FWIW, I enclosed a new patch without adding a template parameter for
>> GOT entry size.  If it isn't acceptable, I will work on a patch to add
>> a new template parameter, which will be added to most of template
>> classes.
>
> My goal is not the least intrusive change.  My goal is the change which
> gives us the best source code going forward.  I'm fairly sure that
> passing in the GOT size as a parameter is not the best change.
>

Given that it is very unlikely I can remove all dependencies on the ELF
class from Output_data_got, I will prepare a patch to add a new
parameter to class templates for GOT entry size.

-- 
H.J.



More information about the Binutils mailing list