libgcj and the NPTL posix threads implementation
Boehm, Hans
hans.boehm@hp.com
Mon Mar 1 22:52:00 GMT 2004
Based on a quick look in an old X86 manual, the segment register itself
contains an index into a segment table, which might explain the "33".
Apparently
lea %gs:0,<result reg>
only yields the offset part of the resulting address. So maybe there is
no way to get a hold of the actual flat address without dereferencing it?
Yuch.
Hans
> -----Original Message-----
> From: Anthony Green [mailto:green@redhat.com]
> Sent: Monday, March 01, 2004 2:20 PM
> To: Boehm, Hans
> Cc: Jeff Sturm; 'Michael Koch'; java@gcc.gnu.org
> Subject: RE: libgcj and the NPTL posix threads implementation
>
>
> On Mon, 2004-03-01 at 14:16, Boehm, Hans wrote:
> > I'm a bit confused, in part because I'm an X86 assembly amateur.
>
> Same here.
>
> > I assume both of the proposals below retrieve a value
> stored at an offset from
> > %gs? (What's "move"? Is it different from "mov" or a
> typo?) Won't %gs itself do as
> > a thread-specific value?
>
> That was my first guess as well, but I only get 33 out of it. I don't
> know why, and I'm not motivated enough to find out :-) glibc uses
> %gs:0x8 so that's what I went with.
>
> AG
>
> --
> Anthony Green <green@redhat.com>
> Red Hat, Inc.
>
More information about the Java
mailing list