[parisc-linux] r19 (aka pic-register akak ltp) not restored on entry back to libc from libpthread?

John David Anglin dave@hiauly1.hia.nrc.ca
Fri, 19 Sep 2003 12:56:46 -0400 (EDT)

> Hold your horses here, we made it back into libc but our ltp is still
> that which we loaded upon entry to libpthread? :(

That's ok.  It's the responsibility of the libc code to restore ltp
after a call or exception.  However, as discussed previously, there
is no restoration after a syscall.  That should be the system's job,
although I believe you were going to introduce a hack/workaround to
fix the syscalls that clobber r19.

You need to step through the libc code from the return point in
libc to see why ltp isn't being restored.  Possibly, libpthread is
being called by assembly code that doesn't restore ltp.  Normally,
r19 is restored quite soon after a call.

J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)