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

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


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: [PATCH] TLS support for s390*.


> BTW: It seems to work just fine if stack_addr passed to clone
> is at least 8*16 bytes below end of particular mmaped area
> (this is on s390x). My wild guess is that the register save
> area is needed, which means clone.S should subtract 8*16
> resp. 8*8 (on s390-32) bytes from stack_pointer before doing
> the syscall.

Grr, it's the new clone implementation that stores %r6 on the
stack. It reloads it after the svc because the father has to
return with an unmodified %r6. But the restore of %r6 may not
be done in the child! Four letter words again. Try to move
the "lg %r6,48(%r15)" in clone.S after the two branches just
before the "br %r14". That should do the trick.

blue skies,
   Martin



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