From af0a16a86345ca1f26e956ef44e4b7240bf705cd Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Tue, 14 Feb 2023 20:37:22 +0300 Subject: htl: Make pthread_mutex_t pointer-aligned This is for future-proofing. On i386, it is 4-byte aligned anyway, but on x86_64, we want it 8-byte aligned, not 4-byte aligned. Signed-off-by: Sergey Bugaev Message-Id: <20230214173722.428140-4-bugaevc@gmail.com> --- sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h b/sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h index d7b239f40f..11caa8704b 100644 --- a/sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h +++ b/sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h @@ -30,20 +30,23 @@ struct __pthread_mutex int __shpid; int __type; int __flags; - unsigned int __reserved1; - unsigned int __reserved2; + union + { + unsigned int __reserved[2]; + void *__pointer_aligned; + }; }; /* Static mutex initializers. */ #define __PTHREAD_MUTEX_INITIALIZER \ - { 0, 0, 0, 0, __PTHREAD_MUTEX_TIMED, 0, 0, 0 } + { 0, 0, 0, 0, __PTHREAD_MUTEX_TIMED, 0, { { 0, 0 } } } /* The +1 is to mantain binary compatibility with the old * libpthread implementation. */ #define __PTHREAD_ERRORCHECK_MUTEX_INITIALIZER \ - { 0, 0, 0, 0, __PTHREAD_MUTEX_ERRORCHECK + 1, 0, 0, 0 } + { 0, 0, 0, 0, __PTHREAD_MUTEX_ERRORCHECK + 1, 0, { { 0, 0 } } } #define __PTHREAD_RECURSIVE_MUTEX_INITIALIZER \ - { 0, 0, 0, 0, __PTHREAD_MUTEX_RECURSIVE + 1, 0, 0, 0 } + { 0, 0, 0, 0, __PTHREAD_MUTEX_RECURSIVE + 1, 0, { { 0, 0 } } } #endif /* bits/types/struct___pthread_mutex.h */ -- cgit 1.4.1