This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Fwd: Mips, -fpie and TLS management
On Mon, Nov 24, 2008 at 03:27:55PM +0100, Joel Porquet wrote:
> >> And the related reloc symbols are:
> >> 5ffe14b0 00000026 R_MIPS_TLS_DTPMOD
> >> 5ffe14b8 00000026 R_MIPS_TLS_DTPMOD
>
> Still, is R_MIPS_TLS_DTPMOD a correct symbol ?
> In the document you wrote about NPTL for mips
> (http://www.linux-mips.org/wiki/NPTL), there's no such relocation
> symbol: just R_MIPS_TLS_DTPMOD32 and R_MIPS_TLS_DTPMOD64.
There's only DTPMOD32 and DTPMOD64 relocations defined in binutils.
I'm not sure why it's printing that - maybe it's just truncated? Try
-W.
> Indeed, the GOT seems to be already filled with the right offset, you
> were right. However the values are just a bit weird:
>
> 5ffe14b0: 00000000 nop
> 5ffe14b4: ffff8004 sdc3 $31,-32764(ra)
> 5ffe14b8: 00000000 nop
> 5ffe14bc: ffff8000 sdc3 $31,-32768(ra)
>
> We can see that the offsets are prefixed by ffff8. Why is that?
The offsets are biased; that's -32768, the lowest 16-bit signed
offset. The bias is used to expand the addressable range of the
thread pointer.
Glad I could help!
--
Daniel Jacobowitz
CodeSourcery