1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-06-03 13:22:05 +03:00
John David Anglin 57256971b0 hppa: Fix strace detach-vfork test
This change implements vfork.S for direct support of the vfork
syscall.  clone.S is revised to correct child support for the
vfork case.

The main bug was creating a frame prior to the clone syscall.
This was done to allow the rp and r4 registers to be saved and
restored from the stack frame.  r4 was used to save and restore
the PIC register, r19, across the system call and the call to
set errno.  But in the vfork case, it is undefined behavior
for the child to return from the function in which vfork was
called.  It is surprising that this usually worked.

Syscalls on hppa save and restore rp and r19, so we don't need
to create a frame prior to the clone syscall.  We only need a
frame when __syscall_error is called.  We also don't need to
save and restore r19 around the call to $$dyncall as r19 is not
used in the code after $$dyncall.

This considerably simplifies clone.S.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
2024-12-19 11:30:09 -05:00
..
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-19 11:30:09 -05:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-12-12 20:57:44 +00:00
2024-01-08 17:09:36 -03:00
2024-01-08 17:09:36 -03:00
2024-06-12 15:25:54 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00
2024-01-08 17:09:36 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00
2024-08-01 05:06:12 -07:00
2024-10-08 13:28:21 -03:00
2024-01-08 17:09:36 -03:00
2024-01-08 17:09:36 -03:00
2024-01-08 17:09:36 -03:00
2024-06-04 12:09:15 -05:00
2024-01-08 17:09:36 -03:00
2024-01-08 17:09:36 -03:00
2024-08-01 05:06:12 -07:00
2024-01-08 17:09:36 -03:00
2024-11-28 14:03:25 -03:00
2024-11-28 14:03:25 -03:00