From: Casey Bodley Date: Fri, 26 Jul 2024 20:43:40 +0000 (-0400) Subject: rpm: reenable lto for gcc-toolset-13 by requiring 13.3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e027fef7f9d076d3cdd39ab7c618ce77694ead94;p=ceph.git rpm: reenable lto for gcc-toolset-13 by requiring 13.3 referenced gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113359 shows that it was resolved for 13.3. reenable lto for gcc-toolset-13 by requiring 13.3 or later Signed-off-by: Casey Bodley (cherry picked from commit 75c94ffc568f9cac68d5146150a5225d71f7d5e5) --- diff --git a/ceph.spec.in b/ceph.spec.in index 859ed9505a69..5f4267c052bd 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -158,16 +158,9 @@ %endif %endif -# 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 +# 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 ) +%if (0%{?rhel} && 0%{?rhel} < 9) || ( 0%{?suse_version} && 0%{?suse_version} <= 1500 ) %define _lto_cflags %{nil} %endif @@ -267,7 +260,17 @@ BuildRequires: gcc-c++ >= 11 BuildRequires: gcc11-c++ %endif %if 0%{?gts_version} > 0 +%if 0%{?gts_version} == 13 +# Before 13.3, an lto bug resulted in a segfault in SafeTimer and perhaps +# elsewhere. Require the fixed version so we can reenable lto. See +# ceph bug https://tracker.ceph.com/issues/63867 +# and +# gcc bug https://bugzilla.redhat.com/show_bug.cgi?id=2241339 +# for details. +BuildRequires: gcc-toolset-%{gts_version}-gcc-c++ >= 13.3 +%else BuildRequires: gcc-toolset-%{gts_version}-gcc-c++ +%endif %if 0%{?gts_version} >= 12 BuildRequires: gcc-toolset-%{gts_version}-runtime %else