[PATCH v4] Use 64-bit atomic on sem_t with 8-byte alignment [BZ #33632]

H.J. Lu hjl.tools@gmail.com
Fri Nov 21 22:57:16 GMT 2025


commit 7fec8a5de6826ef9ae440238d698f0fe5a5fb372
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Nov 13 14:26:08 2025 -0300

    Revert __HAVE_64B_ATOMICS configure check

uses 64-bit atomic operations on sem_t if 64-bit atomics are supported.
But sem_t may be aligned to 32-bit on 32-bit architectures.

1. Add a macro, SEM_T_ALIGN, for sem_t alignment.
2. Add a macro, HAVE_UNALIGNED_64B_ATOMICS.  Define it if unaligned 64-bit
atomic operations are supported.
3. Add a macro, USE_64B_ATOMICS_ON_SEM_T.  Define to 1 if 64-bit atomic
operations are supported and SEM_T_ALIGN is at least 8-byte aligned or
HAVE_UNALIGNED_64B_ATOMICS is defined.
4. Assert that size and alignment of sem_t are not lower than those of
the internal struct new_sem.
5. Check USE_64B_ATOMICS_ON_SEM_T, instead of USE_64B_ATOMICS, when using
64-bit atomic operations on sem_t.

This fixes BZ #33632.

-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v4-0001-Use-64-bit-atomic-on-sem_t-with-8-byte-alignment-.patch
Type: text/x-patch
Size: 14619 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20251122/394c88f2/attachment-0001.bin>


More information about the Libc-alpha mailing list