This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: DLOPEN and Statically linked executable
- From: Geoff Keating <geoffk at geoffk dot org>
- To: sjmunroe at us dot ibm dot com
- Cc: jakub at redhat dot com, libc-alpha at sources dot redhat dot com, peter at mysql dot com
- Date: Thu, 20 Jun 2002 21:43:53 -0700
- Subject: Re: DLOPEN and Statically linked executable
- References: <OFB88811F3.0760A3AF-ON86256BDE.00635FB9@rchland.ibm.com>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
> From: "Steve Munroe" <sjmunroe@us.ibm.com>
> Date: Thu, 20 Jun 2002 13:23:11 -0500
>
>
> > Jakub Jelinek wrote:
> > > Steve Munroe wrote:
>
> > > I know that PowerPC (32-bit) currently only support fixed sized
> (default)
> > > thread stacks.
> >
> > Because it lacks a thread pointer register in its ABI. AFAIK Geoff
> Keating
> > wants to change this soon. IA-64, Sparc*, S390* etc. have one in their
> ABIs,
> > Alpha, IA-32 and X86-64 use magic (be it PAL call on alpha or %gs segment
> > on the other two).
>
> The PowerPC64 ABI does not seem to support the magic allowing thread stacks
> to "float". The stack frames "back chain" field, would seem to make moving
> a thread stack around (in virtual memory) impractical. But there should be
> a better way to set/change the thread stack size on a process wide basis
> (without resorting to pthread_attr_setstacksize).
I don't quite understand this paragraph. No stack can be moved around
because the user program might be holding a pointer to an object in it.
> > It would be good to reserve one from the beginning.
> > The tp register is not only about ability to pthread_attr_setstacksize,
> but
> > also thread local storage implementation depends heavily on it.
>
> The PowerPC64 ABI states that R13 is " Reserved for use as system Thread
> ID".
Excellent!
--
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>