Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [mips-tls] Revised versions of MIPS TLS ABI specification


  • To: mips-tls@xxxxxxxxxxxxxxxx
  • Subject: Re: [mips-tls] Revised versions of MIPS TLS ABI specification
  • From: Thiemo Seufer <ica2_ts@xxxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Mon, 8 Nov 2004 17:53:52 +0100

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