glibc/sysdeps/unix/sysv/linux/s390
Stefan Liebler e57d8fc97b S390: Always use svc 0
On s390x syscalls are triggered by svc instruction. One can
pass the syscall number encoded in the instruction "svc 123"
or by storing it in r1:
lghi r1,123
svc 0

If the syscall number is encoded in the instruction, this can
cause broken syscall restarts.  Therefore this patch is now just
passing the syscall number in r1.

See also kernel-commit:
"s390/signal: switch to using vdso for sigreturn and syscall restart"
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/s390/[%e2%80%a6]call.c?h=v6.0-rc1&id=df29a7440c4b5c65765c8f60396b3b13063e24e9

As information, the "svc 0" feature was introduced in kernel 2.5.62:
commit b5aad611393ef2e132e3648fa4c6e56a9cfa8708
2022-08-30 10:54:46 +02:00
..
bits
fpu
s390-32 S390: Always use svc 0 2022-08-30 10:54:46 +02:00
s390-64 S390: Always use svc 0 2022-08-30 10:54:46 +02:00
sys
Implies
Makefile
Versions
configure
configure.ac
dl-cache.h
dl-procinfo.h s390: Move hwcaps/platform names out of _rtld_global_ro 2022-08-25 21:33:12 +02:00
elision-conf.c
elision-conf.h
elision-lock.c
elision-timed.c
elision-trylock.c
elision-unlock.c
htm.h
ipc_priv.h
jmp-unwind.c
kernel-features.h
kernel_sigaction.h
ldconfig.h Assume only FLAG_ELF_LIBC6 suport 2022-08-04 09:09:48 -03:00
ldd-rewrite.sed Remove left over LD_LIBRARY_VERSION usages 2022-08-04 09:09:48 -03:00
libpthread-compat.c
localplt.data
longjmp_chk.c
mmap_call.h
nldbl-abi.h
readelflib.c
rt-sysdep.S
sa_len.c
sigcontextinfo.h
sysconf.c
sysdep.h S390: Always use svc 0 2022-08-30 10:54:46 +02:00
tst-ptrace-singleblock.c
ucontext_i.sym
xstatver.h