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


On Thu, Jun 20, 2002 at 01:23:11PM -0500, Steve Munroe wrote:
> > 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).

Floating stacks is not about moving a thread stack once the thread
is started, it just means that it can be allocated anywhere.

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

Fine, so you should use floating stacks on ppc64...

	Jakub


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