From d5133f9acc4b3a51ae730ca4e85da4dc0855f6f3 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Feb 28 2018 09:45:12 +0000 Subject: Use -funwind-tables on POWER Ideally, the GCC defaults should change as well, but let's put this into redhat-rpm-config, too, similarly to -fasynchronous-unwind-tables. --- diff --git a/buildflags.md b/buildflags.md index 7a7b40f..723e236 100644 --- a/buildflags.md +++ b/buildflags.md @@ -265,6 +265,9 @@ not), but their selection depends on the architecture: architectures, `-fexceptions` (see above) still enables regular unwind tables (or they are enabled by default even without this option). +* `-funwind-tables`: A subset of the unwind information restricted + to actual call sites. Used on ppc64, ppc64le. Also implied by + `-fexceptions`. In addition, `redhat-rpm-config` re-selects the built-in default tuning in the `gcc` package. These settings are: diff --git a/redhat-rpm-config.spec b/redhat-rpm-config.spec index eab487b..8cab5d3 100644 --- a/redhat-rpm-config.spec +++ b/redhat-rpm-config.spec @@ -6,7 +6,7 @@ Summary: Red Hat specific rpm configuration files Name: redhat-rpm-config -Version: 103 +Version: 104 Release: 1%{?dist} # No version specified. License: GPL+ @@ -183,6 +183,9 @@ install -p -m 755 -t %{buildroot}%{_rpmconfigdir} kmod.prov %{_rpmconfigdir}/macros.d/macros.kmp %changelog +* Wed Feb 28 2018 Florian Weimer - 104-1 +- Use -funwind-tables on POWER (#1536431, #1548847) + * Sun Feb 25 2018 Igor Gnatenko - 103-1 - Make %%ldconfig_post/%%ldconfig_postun parameterized diff --git a/rpmrc b/rpmrc index 79ff5bf..1a32d26 100644 --- a/rpmrc +++ b/rpmrc @@ -24,12 +24,12 @@ optflags: sparc64v %{__global_compiler_flags} -m64 -mcpu=niagara optflags: m68k %{__global_compiler_flags} -optflags: ppc %{__global_compiler_flags} -m32 +optflags: ppc %{__global_compiler_flags} -m32 -funwind-tables optflags: ppciseries %{__global_compiler_flags} -m32 optflags: ppcpseries %{__global_compiler_flags} -m32 -optflags: ppc64 %{__global_compiler_flags} -m64 -fstack-clash-protection -optflags: ppc64p7 %{__global_compiler_flags} -m64 -O3 -mcpu=power7 -mtune=power7 -fstack-clash-protection -optflags: ppc64le %{__global_compiler_flags} -m64 -mcpu=power8 -mtune=power8 -fstack-clash-protection +optflags: ppc64 %{__global_compiler_flags} -m64 -funwind-tables -fstack-clash-protection +optflags: ppc64p7 %{__global_compiler_flags} -m64 -O3 -mcpu=power7 -mtune=power7 -funwind-tables -fstack-clash-protection +optflags: ppc64le %{__global_compiler_flags} -m64 -mcpu=power8 -mtune=power8 -funwind-tables -fstack-clash-protection optflags: ppc64iseries %{__global_compiler_flags} -m64 optflags: ppc64pseries %{__global_compiler_flags} -m64 optflags: ppc8260 %{__global_compiler_flags} -m32