glibc/sysdeps/unix/sysv/linux/hppa
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
..
bits
sys
Implies
Makefile
Versions
____longjmp_chk.c
arch-syscall.h Update syscall lists for Linux 6.10 2024-07-30 08:48:51 -03:00
atomic-machine.h
c++-types.data
clone.S hppa: Fix strace detach-vfork test 2024-12-19 11:30:09 -05:00
errlist-compat-data.h
fanotify_mark.c
getcontext.S
kernel-features.h
kernel_stat.h
ld.abilist
libBrokenLocale.abilist
libanl.abilist
libc.abilist Linux: Add the sched_setattr and sched_getattr functions 2024-09-11 10:05:08 +02:00
libc_malloc_debug.abilist
libdl.abilist
libm.abilist Implement C23 atan2pi 2024-12-12 20:57:44 +00:00
libnsl.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libthread_db.abilist
libutil.abilist
localplt.data
makecontext.c
prlimit64.c
setcontext.S
shlib-versions
sigcontextinfo.h
single-thread.h
socket-constants-time64.h
struct_kernel_msqid64_ds.h
struct_kernel_semid64_ds.h
struct_kernel_shmid64_ds.h
swapcontext.S
syscall_cancel.S nptl: Fix Race conditions in pthread cancellation [BZ#12683] 2024-08-23 14:27:43 -03:00
syscalls.list
sysdep.c
sysdep.h hppa/vdso: Provide 64-bit clock_gettime() vDSO only 2024-07-02 16:26:32 -04:00
time64-compat.h
ucontext_i.sym
vfork.S hppa: Fix strace detach-vfork test 2024-12-19 11:30:09 -05:00
xstatver.h