This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: MIPS : offset address in .rel.dyn for the different symbols may become the same
Thiemo Seufer <ths@networkno.de> writes:
> Richard Sandiford wrote:
> [snip]
>> I can reproduce this with binutils CVS. It's yet another case in which
>> we're getting confused about whether TLS information is stored in the
>> mips_got_entry structure or in the symbol's hash table entry. In the
>> "master" GOT, we keep entries for each input bfd distinct, so that we
>> can easily split the master GOT into multiple GOTs later on. Thus if
>> one input bfd uses only IE accesses for a symbol, and another uses only
>> GD accesses, there will be two separate master GOT entries, each with
>> just one TLS type. We store the accrued TLS information in the hash
>> table in such cases; it is the hash table entry that tells us that
>> both access models are needed.
>>
>> The testcase exposes one situation in which we weren't making the
>> distinction correctly. Please let me know if this patch fixes things
>> for you.
>>
>> Richard
>>
>>
>> bfd/
>> * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
>> type (3) single-GOT entry, read tls_type from the hash table entry
>> rather than the GOT entry.
>
> Please commit, thanks. :-)
Thanks, finally done after testing on mips64-linux-gnu.
Richard