From 38f21cbc9ef833d461df0a81d8ae261638aed90c Mon Sep 17 00:00:00 2001 From: GNU Libc Maintainers Date: Sun, 19 Sep 2021 19:46:59 +0100 Subject: [PATCH] local-tls-ie-align The elf/tst-tls-ie* tests try to load modules with 8-byte-aligned TLS data that will get allocated in the static TLS area, so we need at least 8-byte alignment. 8-byte alignment requirement is not that uncommon on i386 anyway. And upstream happens to have 32-byte alignment from 0c76fc3c2b34 ('Linux: Perform rseq registration at C startup and thread creation') which just rounds up max_align to 32 anyway. Gbp-Pq: Topic hurd-i386 Gbp-Pq: Name local-tls-ie-align.diff --- sysdeps/mach/hurd/tls.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sysdeps/mach/hurd/tls.h b/sysdeps/mach/hurd/tls.h index a0d70c202..40685828b 100644 --- a/sysdeps/mach/hurd/tls.h +++ b/sysdeps/mach/hurd/tls.h @@ -25,6 +25,7 @@ # include # include # include +# include # include # include # include @@ -34,7 +35,7 @@ # define TLS_INIT_TCB_SIZE sizeof (tcbhead_t) /* Alignment requirements for the initial TCB. */ -# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t) +# define TLS_INIT_TCB_ALIGN MAX(__alignof__ (tcbhead_t), 8) /* This is the size of the TCB. */ # define TLS_TCB_SIZE TLS_INIT_TCB_SIZE /* XXX */ -- 2.30.2