File Force-alignment-of-opal_atomic_int128_t-to-be-16B.patch of Package openmpi5

commit d9a5f9d9db092cc5b4d8fd563a834183b2e9b301
Author: Joseph Schuchart <joseph.schuchart@stonybrook.edu>
Date:   Wed May 28 10:11:58 2025 -0400

    Force alignment of opal_atomic_int128_t to be 16B
    
    Some architectures will align 128bit integer on 8B but require 16B alignment
    for 128bit CAS instructions and otherwise fall back to a lock-based
    atomicity model. By forcing 16bit alignment we can ensure that the variables
    are properly aligned and the fall-back is not triggered.
    
    Thanks to Ulrich Weigand for the analysis and proposed fix in https://github.com/open-mpi/ompi/issues/10988#issuecomment-2913388506.
    
    Signed-off-by: Joseph Schuchart <joseph.schuchart@stonybrook.edu>

diff --git opal/include/opal_stdatomic.h opal/include/opal_stdatomic.h
index 354375512088..f7dd8353d3b6 100644
--- opal/include/opal_stdatomic.h
+++ opal/include/opal_stdatomic.h
@@ -72,7 +72,7 @@ typedef _Atomic opal_int128_t opal_atomic_int128_t;
 
 #        else
 
-typedef volatile opal_int128_t opal_atomic_int128_t;
+typedef volatile opal_int128_t opal_atomic_int128_t __opal_attribute_aligned__(16);
 
 #        endif
 
openSUSE Build Service is sponsored by