Status of threading and TLS

Peter Grehan grehan at freebsd.org
Fri Sep 1 18:40:07 UTC 2006


Hi Marcel,

> If anyone has any suggestions why for libpthread we end up
> with r2 off by 8 bytes, I'm happy to hear it...

  I don't have access to a PPC machine at the moment, but would it have 
anything to do with:

struct ppc32_tp {
         void            *tp_dtv;        /* dynamic thread vector */
         uint32_t        _reserved_;
         double          tp_tls[0];      /* static TLS */
};

  I think the last element was put in for alignment, but would that 
possibly have an effect somewhere else, in that it's forcing an 8-byte 
pad somewhere ?

  If the last element is removed, does it make a difference ? I saw that 
the libthr code doesn't have a member.

later,

Peter.



More information about the freebsd-ppc mailing list