S390: Define SINGLE_THREAD_BY_GLOBAL only on s390x
commit779aa039fc4151bdc0d79ef2e141604863856a60
authorStefan Liebler <stli@linux.ibm.com>
Thu, 14 Jul 2022 11:39:09 +0000 (14 13:39 +0200)
committerStefan Liebler <stli@linux.ibm.com>
Thu, 14 Jul 2022 11:39:09 +0000 (14 13:39 +0200)
tree4704e832d8f2f0c58e8328d58b368c3aa50403e8
parent7c8ca1789393323541719df4b636e4853284ff47
S390: Define SINGLE_THREAD_BY_GLOBAL only on s390x

Starting with commit e070501d12b47e88c1ff8c313f887976fb578938
"Replace __libc_multiple_threads with __libc_single_threaded"
the testcases nptl/tst-cancel-self and
nptl/tst-cancel-self-cancelstate are failing.

This is fixed by only defining SINGLE_THREAD_BY_GLOBAL on s390x,
but not on s390.

Starting with commit 09c76a74099826f4c6e1c4c431d7659f78112862
"Linux: Consolidate {RTLD_}SINGLE_THREAD_P definition",
SINGLE_THREAD_BY_GLOBAL was defined in
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h.

Lateron the commit 9a973da617772eff1f351989f8995f4305a2e63c
"s390: Consolidate Linux syscall definition" consolidates the sysdep.h files
from s390-32/s390-64 subdirectories.  Unfortunately the macro is now always
defined instead of only on s390-64.

As information:
TLS_MULTIPLE_THREADS_IN_TCB is also only defined for s390.
See: sysdeps/s390/nptl/tls.h
sysdeps/unix/sysv/linux/s390/s390-64/single-thread.h [moved from sysdeps/unix/sysv/linux/s390/single-thread.h with 100% similarity]