Make use of -fasynchronous-unwind-tables more explicit (#1536431)

This commit is contained in:
Florian Weimer 2018-01-22 15:17:14 +01:00
parent 5b96b31cac
commit e43ce312b7
3 changed files with 16 additions and 9 deletions

View File

@ -168,11 +168,15 @@ not), but their selection depends on the architecture:
* `-fasynchronous-unwind-tables`: Generate full unwind information * `-fasynchronous-unwind-tables`: Generate full unwind information
covering all program points. This is required for support of covering all program points. This is required for support of
asynchronous cancellation and proper unwinding from signal asynchronous cancellation and proper unwinding from signal
handlers. It also makes performance and debugging tools more useful handlers. It also makes performance and debugging tools more
because unwind information is available without having to install useful because unwind information is available without having to
(and load) debugging information. install (and load) debugging ienformation.
This flag is enabled explictly for i686 (and derived architectures), Asynchronous unwind tables are enabled for aarch64, i686, s390x,
and implicity for x86-64. and x86-64. They are not needed on armhfp, ppc64 and ppc64le due
to architectural differences in stack management. On these
architectures, `-fexceptions` (see above) still enables regular
unwind tables (or they are enabled by default even without this
option).
In addition, `redhat-rpm-config` re-selects the built-in default In addition, `redhat-rpm-config` re-selects the built-in default
tuning in the `gcc` package. These settings are: tuning in the `gcc` package. These settings are:

View File

@ -6,7 +6,7 @@
Summary: Red Hat specific rpm configuration files Summary: Red Hat specific rpm configuration files
Name: redhat-rpm-config Name: redhat-rpm-config
Version: 81 Version: 82
Release: 1%{?dist} Release: 1%{?dist}
# No version specified. # No version specified.
License: GPL+ License: GPL+
@ -157,6 +157,9 @@ install -p -m 755 -t %{buildroot}%{_rpmconfigdir} kmod.prov
%{_rpmconfigdir}/macros.d/macros.kmp %{_rpmconfigdir}/macros.d/macros.kmp
%changelog %changelog
* Mon Jan 22 2018 Florian Weimer <fweimer@redhat.com> - 82-1
- Make use of -fasynchronous-unwind-tables more explicit (#1536431)
* Mon Jan 22 2018 Florian Weimer <fweimer@redhat.com> - 81-1 * Mon Jan 22 2018 Florian Weimer <fweimer@redhat.com> - 81-1
- Remove --param=ssp-buffer-size=4 - Remove --param=ssp-buffer-size=4

6
rpmrc
View File

@ -6,7 +6,7 @@ optflags: i586 %{__global_compiler_flags} -m32 -march=i586 -mtune=generic -fasyn
optflags: i686 %{__global_compiler_flags} -m32 -march=i686 -fasynchronous-unwind-tables -fstack-clash-protection optflags: i686 %{__global_compiler_flags} -m32 -march=i686 -fasynchronous-unwind-tables -fstack-clash-protection
optflags: athlon %{__global_compiler_flags} -m32 -march=athlon -fasynchronous-unwind-tables -fstack-clash-protection optflags: athlon %{__global_compiler_flags} -m32 -march=athlon -fasynchronous-unwind-tables -fstack-clash-protection
optflags: ia64 %{__global_compiler_flags} optflags: ia64 %{__global_compiler_flags}
optflags: x86_64 %{__global_compiler_flags} -m64 -mtune=generic -fstack-clash-protection optflags: x86_64 %{__global_compiler_flags} -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
optflags: alpha %{__global_compiler_flags} -mieee optflags: alpha %{__global_compiler_flags} -mieee
optflags: alphaev5 %{__global_compiler_flags} -mieee -mcpu=ev5 optflags: alphaev5 %{__global_compiler_flags} -mieee -mcpu=ev5
@ -71,8 +71,8 @@ optflags: atariclone %{__global_compiler_flags}
optflags: milan %{__global_compiler_flags} optflags: milan %{__global_compiler_flags}
optflags: hades %{__global_compiler_flags} optflags: hades %{__global_compiler_flags}
optflags: s390 %{__global_compiler_flags} -m31 -march=zEC12 -mtune=z13 optflags: s390 %{__global_compiler_flags} -m31 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables
optflags: s390x %{__global_compiler_flags} -m64 -march=zEC12 -mtune=z13 -fstack-clash-protection optflags: s390x %{__global_compiler_flags} -m64 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection
optflags: aarch64 %{__global_compiler_flags} -fstack-clash-protection optflags: aarch64 %{__global_compiler_flags} -fstack-clash-protection