From 779aa039fc4151bdc0d79ef2e141604863856a60 Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Thu, 14 Jul 2022 13:39:09 +0200 Subject: 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 | 2 ++ sysdeps/unix/sysv/linux/s390/single-thread.h | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/single-thread.h delete mode 100644 sysdeps/unix/sysv/linux/s390/single-thread.h (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/single-thread.h b/sysdeps/unix/sysv/linux/s390/s390-64/single-thread.h new file mode 100644 index 0000000000..a5d3a2aaf4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/s390-64/single-thread.h @@ -0,0 +1,2 @@ +#define SINGLE_THREAD_BY_GLOBAL +#include_next diff --git a/sysdeps/unix/sysv/linux/s390/single-thread.h b/sysdeps/unix/sysv/linux/s390/single-thread.h deleted file mode 100644 index a5d3a2aaf4..0000000000 --- a/sysdeps/unix/sysv/linux/s390/single-thread.h +++ /dev/null @@ -1,2 +0,0 @@ -#define SINGLE_THREAD_BY_GLOBAL -#include_next -- cgit 1.4.1