MIPS : offset address in .rel.dyn for the different symbols may become the same
Richard Sandiford
rsandifo@nildram.co.uk
Thu May 31 20:24:00 GMT 2007
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
More information about the Binutils
mailing list