In article
Eischen <[EMAIL PROTECTED]> wrote:

> I think the only reason we used %fs instead of %gs was WINE.  I
> think Linux uses %gs for TSD, so if WINE were to ever depend on
> linuxthreads, one of them would have to change.

At least on Red Hat 7.0 (glibc-2.1.92-14), Linux does not use a
segment register to find TSD.  It aligns all stacks at a multpile
of 2MB and then does bit ops on the current stack pointer to find a
thread control block at the base (highest address) of the stack.

There is an alternate implementation in that version of glibc which
uses %gs to find TSD.  However, it is not used in this version of
Linux.  I don't know whether it's used in other versions or not.

  John Polstra                                               [EMAIL PROTECTED]
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to