]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
build: fix atomic linking with LTO on s390x
authorKen Dreyer <kdreyer@redhat.com>
Mon, 18 Jul 2022 19:06:06 +0000 (15:06 -0400)
committerKen Dreyer <kdreyer@redhat.com>
Mon, 18 Jul 2022 19:19:02 +0000 (15:19 -0400)
commitfbb1ccc963152e6d1798e56bb7b8fb2f0885cc01
tree4dc54d7e1d3ddc5c0dd928af5497685adc4642d0
parent54a268c18372b14a1cd3cf7d735d769e1a176a2b
build: fix atomic linking with LTO on s390x

Prior to this change, Fedora and RHEL 9 on s390x would incorrectly pass
the HAVE_CXX11_ATOMIC check. As a consequence, the rest of Ceph would
fail to link because of missing atomic methods "__atomic_load_16",
"__atomic_store_16", "__atomic_compare_exchange_16".

Mark this method so that it is not optimized out, even with LTO. With
this change, s390x properly fails HAVE_CXX11_ATOMIC and falls back to
HAVE_LIBATOMIC.

Move the "BuildRequires: libatomic" RPM line out from the seastar+fedora
conditional and into the main fedora+rhel conditional so that the
HAVE_LIBATOMIC check will pass.

Fixes: https://tracker.ceph.com/issues/54514
Fixes: https://tracker.ceph.com/issues/56492
Co-authored-by: Kaleb S. Keithley <kkeithle@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
ceph.spec.in
cmake/modules/CheckCxxAtomic.cmake