From a164f5f6d8f5fa287f938db5675ea0814c39380e Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 8 Mar 2024 04:03:03 +0000 Subject: [PATCH] ceph.spec.in: disable lto to work around gcc-toolset-13 linker bug gcc-toolset-13 lto can trigger a linker bug resulting in a segfault in SafeTimer (and perhaps elsewhere). See https://tracker.ceph.com/issues/63867 for details. This patch disables lto for now now so that we can switch to gcc-toolset-13. Fixes: https://tracker.ceph.com/issues/63867 Signed-off-by: Samuel Just --- ceph.spec.in | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ceph.spec.in b/ceph.spec.in index b8c67a62ead..6e5f1a0ec2e 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -143,6 +143,19 @@ %{!?python3_version: %global python3_version 3} %{!?gts_version: %global gts_version 11} +# gcc-toolset-13 seems to trigger a linker bug resulting in a segfault in SafeTimer +# and perhaps elsewhere. For now, let's just disable it. See +# ceph bug https://tracker.ceph.com/issues/63867 +# and +# gcc bug https://bugzilla.redhat.com/show_bug.cgi?id=2241339 +# for details. +# +# Also disable lto on systems that do not support symver attribute +# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 for details +%if 0%{?gts_version} == 13 || (0%{?rhel} && 0%{?rhel} < 9) || ( 0%{?suse_version} && 0%{?suse_version} <= 1500 ) +%define _lto_cflags %{nil} +%endif + %if ! 0%{?suse_version} # use multi-threaded xz compression: xz level 7 using ncpus threads %global _source_payload w7T%{_smp_build_ncpus}.xzdio @@ -1334,11 +1347,6 @@ This package provides a Ceph hardware monitoring agent. %autosetup -p1 -n @TARBALL_BASENAME@ %build -# Disable lto on systems that do not support symver attribute -# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 for details -%if ( 0%{?rhel} && 0%{?rhel} < 9 ) || ( 0%{?suse_version} && 0%{?suse_version} <= 1500 ) -%define _lto_cflags %{nil} -%endif %if 0%{with cephfs_java} # Find jni.h -- 2.39.5