This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: DLOPEN and Statically linked executable


> 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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]