]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
S390: Define SINGLE_THREAD_BY_GLOBAL only on s390x
authorStefan Liebler <stli@linux.ibm.com>
Thu, 14 Jul 2022 11:39:09 +0000 (13:39 +0200)
committerStefan Liebler <stli@linux.ibm.com>
Thu, 14 Jul 2022 11:39:09 +0000 (13:39 +0200)
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]