PING: [PATCH v4] Use 64-bit atomic on sem_t with 8-byte alignment [BZ #33632]
Wilco Dijkstra
Wilco.Dijkstra@arm.com
Mon Dec 1 16:12:41 GMT 2025
Hi HJ,
> 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.
This feels a bit more complex than it could be, but it looks OK overall.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Cheers,
Wilco
More information about the Libc-alpha
mailing list