From: Jim Blandy <jimb@redhat.com>
To: Andrew Cagney <ac131313@cygnus.com>
Cc: gdb@sources.redhat.com
Subject: Re: GDB support for thread-local storage
Date: Fri, 21 Jun 2002 21:09:00 -0000 [thread overview]
Message-ID: <np4rfwc5th.fsf@zwingli.cygnus.com> (raw)
In-Reply-To: <3D13EDEA.2070801@cygnus.com>
Andrew Cagney <ac131313@cygnus.com> writes:
> > Jim Blandy <jimb@redhat.com> writes:
> >
> >> Andrew Cagney <ac131313@cygnus.com> writes:
> >
> >> > Has solaris, or even MS, done anything in this area? The
> >> > LOC_THREAD_LOCAL_STATIC must have come from somewhere, dig dig, you
> >> > may want to look at what HP/UX is getting up to.
> >
> >> HP implements something much simpler. It doesn't deal with
> >> thread-local storage in PIC code; the initialization image is laid out
> >> completely at static link time. It's thread-local storage in
> >> dynamically loaded libraries that introduces all the hair.
> > What I wrote is incorrect. HP does handle TLS in shared libraries.
> > But in their arrangement, every thread-local variable lives at a
> > offset from register CR27, and GDB can compute that offset at
> > symbol-reading time.
> > I think this means that they don't address a lot of the issues that
> > the IA-64 / SPARC / Red Hat proposal does. I don't see how you'd
> > handle dlopen'd libraries or lazy allocation in their scheme.
>
> I don't know. HP people do monitor this list so may be able to answer.
>
> > But in any case, HP's gdbarch method for finding thread-local storage
> > would be very simple: just add the offset to CR27, and there's your
> > address.
>
> BTW, why, in your propsal, is the offset incorporated into the address
> that is returned - rather than getting the base address and then
> adding the offset - more like HP did.
That's me imitating a rather weird quirk in the way the TLS run-time
implementation works. But if you look at my Dwarf 2 sketch proposal,
we can't do it that way. We need something that gives us the base
address. So the way HP does it is pretty much the way we'll do it,
except for the assumption that the base address is in a register.
next prev parent reply other threads:[~2002-06-22 4:09 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-19 9:00 Jim Blandy
2002-06-19 10:08 ` Daniel Berlin
2002-06-19 12:20 ` Jim Blandy
2002-06-19 13:12 ` Daniel Berlin
2002-06-19 13:40 ` Jim Blandy
2002-06-20 18:35 ` Andrew Cagney
2002-06-20 18:48 ` Daniel Jacobowitz
2002-06-21 10:18 ` Andrew Cagney
2002-06-21 10:32 ` Daniel Jacobowitz
2002-06-21 13:08 ` Jim Blandy
2002-06-21 13:18 ` Daniel Jacobowitz
2002-06-21 13:54 ` Jim Blandy
2002-06-21 14:03 ` Daniel Jacobowitz
2002-06-21 14:46 ` Andrew Cagney
2002-06-21 14:55 ` Daniel Jacobowitz
2002-06-21 15:31 ` Andrew Cagney
2002-06-21 22:59 ` Daniel Jacobowitz
2002-06-22 8:22 ` Andrew Cagney
2002-06-24 7:53 ` Daniel Jacobowitz
2002-06-21 16:14 ` Jim Blandy
2002-06-21 22:57 ` Daniel Jacobowitz
2002-06-26 12:37 ` Jim Blandy
2002-06-21 13:20 ` Daniel Jacobowitz
2002-06-21 15:37 ` Jim Blandy
2002-06-21 23:00 ` Daniel Jacobowitz
2002-06-21 12:34 ` Jim Blandy
2002-06-21 12:49 ` Jim Blandy
2002-06-21 18:10 ` Jim Blandy
2002-06-21 20:24 ` Andrew Cagney
2002-06-21 21:09 ` Jim Blandy [this message]
2002-06-22 8:31 ` Andrew Cagney
2002-06-21 15:04 ` Andrew Cagney
2002-06-21 15:41 ` Jim Blandy
2002-06-21 15:59 ` Andrew Cagney
2002-06-21 16:08 ` Jim Blandy
2002-06-22 1:04 ` unsuscribe phi
[not found] <1024952640.13693.ezmlm@sources.redhat.com>
2002-06-25 1:48 ` GDB support for thread-local storage James Cownie
2002-06-25 8:05 ` Daniel Jacobowitz
2002-06-25 8:31 ` James Cownie
2002-06-25 8:42 ` Daniel Jacobowitz
2002-06-25 8:53 ` James Cownie
2002-06-25 8:56 ` Daniel Jacobowitz
2002-06-25 9:11 ` James Cownie
2002-06-25 9:29 ` Daniel Jacobowitz
2002-06-25 10:44 ` Andrew Cagney
2002-06-25 10:02 ` Daniel Jacobowitz
2002-06-26 12:45 ` Jim Blandy
2002-06-26 19:31 ` Andrew Cagney
2002-06-26 21:57 ` Jim Blandy
2002-06-27 8:13 ` Andrew Cagney
2002-08-19 9:05 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=np4rfwc5th.fsf@zwingli.cygnus.com \
--to=jimb@redhat.com \
--cc=ac131313@cygnus.com \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox