Great, but how about using code similar to the following rather than
hand-coded asm operations?
extern struct pthread __pt_current_struct asm("%gs:0");
#define __pt_current (&__pt_current_struct)
#define THREAD_GETMEM(descr, member) (__pt_current->member)
#define THREAD_SETMEM(descr, member, value) ((__pt_current->member) =
value)
#define THREAD_MASKMEM(descr, member, mask) ((__pt_current->member) &=
mask)
...
Of course, it doesn't work if you try to take the address of a member.
This archive was generated by hypermail 2b29 : Mon Sep 23 2002 - 22:00:30 EST