On Thu, Apr 07, 2016 at 02:03:53PM +0200, Florian Weimer wrote:
> > struct tlabi {
> >     union {
> >             __u8[64] __foo;
> >             struct {
> >                     /* fields go here */
> >             };
> >     };
> > } __aligned__(64);
> 
> That's not really “fixed size” as far as an ABI is concerned, due to the
> possibility of future extensions.

sizeof(struct tlabi) is always the same, right? How is that not fixed?

> > People objected against the fixed size scheme, but it being possible to
> > get a fixed TCB offset and reduce indirections is a big win IMO.
> 
> It's a difficult trade-off.  It's not an indirection as such, it's avoid
> loading the dynamic TLS offset.

What we _want_ is being able to use %[gf]s:offset and have it work (I
forever forget which segment register userspace TLS uses).

> Let me repeat that the ELF TLS GNU ABI has very limited support for
> static offsets at present, and it is difficult to make them available
> more widely without code generation at run time (in the form of text
> relocations, but still).

Do you have a pointer to something I can read? Because I'm clearly not
understanding the full issue here.

Reply via email to