[mips-tls] Revised versions of MIPS TLS ABI specification
Thiemo Seufer
ica2_ts at csv.ica.uni-stuttgart.de
Mon Nov 8 16:53:52 UTC 2004
Nigel Stephens wrote:
[snip]
> I think this was suggested because 0x7ff0 is currently used by the
> linker as the offset of the $gp register from the start of the small
> data region. It's probably this value to ensure that a reference to the
> sub-words of a larger variable is safe to break down into gp-relative
> offsets, without causing an underflow below -0x8000, for the largest
> possible directly loadable scalar (a "long double"). Thiemo may know a
> better reason :-).
I don't. :-) I simply used the gp offset as example. I guess it has
a value of 0x7ff0 instead of 0x8000 for historical reasons (probably
some implementation limitation in very early MIPS toolchains).
> But I don't think that causes us a problem with the suggested 0x7000
> offset: the resulting range of offsets from -0x7000 up to 0x7fff will
> work fine on MIPS, but care will be needed when accessing the "private"
> thread data stored in the 4KB region below the TCB, to make sure that it
> cannot underflow.
Yes, the biases suggested by Daniel (0x8000 and -0x7000) are ok.
Thiemo
More information about the mips-tls
mailing list