gcc/libphobos/libdruntime/core
Stefan Liebler 434fe1a409 S/390: Fix layout of struct sigaction_t
The ordering of some fields in  struct sigaction on s390x (64bit)
differs compared to s390 and other architectures.
This patch adjusts this order according to the definition of
<glibc-src>/sysdeps/unix/sysv/linux/s390/bits/sigaction.h

Without this fix e.g. the call
sigaction( suspendSignalNumber, &sigusr1, null ) in thread.d
leads to setting the sa_restorer field to 0xffffffffffffffff.
In case a signal, the signal handler returns to this address
and the process stops with a SIGILL.

This was observable in several execution testcases on s390x:
libphobos.druntime/core/thread.d
libphobos.druntime_shared/core/thread.d
libphobos.thread/tlsgc_sections.d
libphobos.allocations/tls_gc_integration.d
libphobos.phobos/std/parallelism.d
libphobos.phobos_shared/std/parallelism.d
libphobos.shared/host.c
libphobos.shared/linkD.c
libphobos.shared/linkDR.c
libphobos.shared/link_linkdep.d
libphobos.shared/load.d
libphobos.shared/loadDR.c
libphobos.shared/load_linkdep.d
libphobos.shared/load_loaddep.d

libphobos/ChangeLog:

2020-04-07  Stefan Liebler  <stli@linux.ibm.com>

	* libdruntime/core/sys/posix/signal.d:
	Add struct sigaction_t for SystemZ.
2020-04-07 16:15:28 +02:00
..
internal
stdc libphobos: Merge upstream druntime 7915b6a3 2020-03-14 19:30:54 +01:00
stdcpp
sync
sys S/390: Fix layout of struct sigaction_t 2020-04-07 16:15:28 +02:00
atomic.d
attribute.d
bitop.d
checkedint.d
cpuid.d libphobos: Merge upstream druntime 6c45dd3a, phobos 68cc18adb. 2020-03-16 10:38:31 +01:00
demangle.d
exception.d
math.d
memory.d
runtime.d
simd.d
thread.d
time.d
vararg.d