Spec File: Add defines to enable rwx and execstack warnings.
This commit is contained in:
parent
41f66d24b8
commit
93b20dcdbf
@ -1125,3 +1125,39 @@ diff -rup binutils.orig/ld/testsuite/ld-elf/tls.exp binutils-2.40/ld/testsuite/l
|
|||||||
# Check to see if the C compiler works.
|
# Check to see if the C compiler works.
|
||||||
if { ![check_compiler_available] } {
|
if { ![check_compiler_available] } {
|
||||||
return
|
return
|
||||||
|
--- binutils.orig/binutils/testsuite/lib/binutils-common.exp 2023-06-21 09:46:50.861865196 +0100
|
||||||
|
+++ binutils-2.40/binutils/testsuite/lib/binutils-common.exp 2023-06-21 09:47:24.240856913 +0100
|
||||||
|
@@ -641,6 +641,8 @@ proc prune_warnings_extra { text } {
|
||||||
|
regsub -all "(^|\n)(\[^\n\]*: NOTE: This behaviour is deprecated\[^\n\]*\n?)+" $text "\\1" text
|
||||||
|
regsub -all "(^|\n)(\[^\n\]*: warning:\[^\n\]*has a LOAD segment with RWX permissions\[^\n\]*\n?)+" $text "\\1" text
|
||||||
|
regsub -all "(^|\n)(\[^\n\]*: warning:\[^\n\]*has a TLS segment with execute permission\[^\n\]*\n?)+" $text "\\1" text
|
||||||
|
+ # Configuring with --enable-warn-execstack=yes will generate warnings if -z execstack is used.
|
||||||
|
+ regsub -all "(^|\n)(\[^\n\]*: warning: enabling an executable stack because of -z execstack command line option\[^\n\]*\n?)+" $text "\\1" text
|
||||||
|
return $text
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -rup binutils-2.40/ld/testsuite/ld-elf/elf.exp binutils.new/ld/testsuite/ld-elf/elf.exp
|
||||||
|
--- binutils-2.40/ld/testsuite/ld-elf/elf.exp 2023-01-14 00:00:00.000000000 +0000
|
||||||
|
+++ binutils.new/ld/testsuite/ld-elf/elf.exp 2023-06-21 09:31:08.856233444 +0100
|
||||||
|
@@ -180,6 +180,21 @@ if { [check_gc_sections_available] && ![
|
||||||
|
}
|
||||||
|
|
||||||
|
proc target_defaults_to_execstack {} {
|
||||||
|
+ global base_dir
|
||||||
|
+
|
||||||
|
+ # If the linker has been configured with --enable-default-execstack=no then
|
||||||
|
+ # this proc should always return 0.
|
||||||
|
+ if { [file exists $base_dir/config.status] } {
|
||||||
|
+ set status [remote_exec host grep "enable-default-execstack=no" $base_dir/config.status]
|
||||||
|
+ if { [lindex $status 0] == 0 } {
|
||||||
|
+ return 0
|
||||||
|
+ } else {
|
||||||
|
+ verbose -log "$base_dir/config.status does not contain enable-default-execstack=no"
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ verbose -log "there is no file $base_dir/config.status"
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if { [istarget "aarch64*-*-*"]
|
||||||
|
|| [istarget "arc*-*-*"]
|
||||||
|
|| [istarget "cris*-*-*"]
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
Summary: A GNU collection of binary utilities
|
Summary: A GNU collection of binary utilities
|
||||||
Name: binutils%{?_with_debug:-debug}
|
Name: binutils%{?_with_debug:-debug}
|
||||||
Version: 2.40
|
Version: 2.40
|
||||||
Release: 9%{?dist}
|
Release: 10%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: https://sourceware.org/binutils
|
URL: https://sourceware.org/binutils
|
||||||
|
|
||||||
@ -31,6 +31,12 @@ URL: https://sourceware.org/binutils
|
|||||||
# Default is off because of BZ 1195883.
|
# Default is off because of BZ 1195883.
|
||||||
%define enable_deterministic_archives 0
|
%define enable_deterministic_archives 0
|
||||||
|
|
||||||
|
# Generate a warning when linking creates an executable stack
|
||||||
|
%define warn_for_executable_stacks 0
|
||||||
|
|
||||||
|
# Generate a warning when linking creates a segment with read, write and execute permissions
|
||||||
|
%define warn_for_rwx_segments 0
|
||||||
|
|
||||||
# Enable support for GCC LTO compilation.
|
# Enable support for GCC LTO compilation.
|
||||||
# Disable if it is necessary to work around bugs in LTO.
|
# Disable if it is necessary to work around bugs in LTO.
|
||||||
%define enable_lto 1
|
%define enable_lto 1
|
||||||
@ -608,6 +614,19 @@ compute_global_configuration()
|
|||||||
CARGS="$CARGS --enable-deterministic-archives=no"
|
CARGS="$CARGS --enable-deterministic-archives=no"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{warn_for_executable_stacks}
|
||||||
|
CARGS="$CARGS --enable-warn-execstack=yes"
|
||||||
|
CARGS="$CARGS --enable-default-execstack=no"
|
||||||
|
%else
|
||||||
|
CARGS="$CARGS --enable-warn-execstack=no"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{warn_for_rwx_segments}
|
||||||
|
CARGS="$CARGS --enable-warn-rwx-segments=yes"
|
||||||
|
%else
|
||||||
|
CARGS="$CARGS --enable-warn-rwx-segments=no"
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{enable_lto}
|
%if %{enable_lto}
|
||||||
CARGS="$CARGS --enable-lto"
|
CARGS="$CARGS --enable-lto"
|
||||||
%endif
|
%endif
|
||||||
@ -1085,17 +1104,20 @@ export QA_RPATHS=0x0003
|
|||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
%if %{with gold}
|
||||||
|
%post gold
|
||||||
|
|
||||||
|
%{_sbindir}/alternatives --install %{_bindir}/ld ld \
|
||||||
|
%{_bindir}/ld.gold %{ld_gold_priority}
|
||||||
|
exit 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
%__rm -f %{_bindir}/ld
|
%__rm -f %{_bindir}/ld
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/ld ld \
|
%{_sbindir}/alternatives --install %{_bindir}/ld ld \
|
||||||
%{_bindir}/ld.bfd %{ld_bfd_priority}
|
%{_bindir}/ld.bfd %{ld_bfd_priority}
|
||||||
|
|
||||||
%if %{with gold}
|
|
||||||
%{_sbindir}/alternatives --install %{_bindir}/ld ld \
|
|
||||||
%{_bindir}/ld.gold %{ld_gold_priority}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Do not run "alternatives --auto ld" here. Leave the setting to
|
# Do not run "alternatives --auto ld" here. Leave the setting to
|
||||||
# however the user previously had it set. See BZ 1592069 for more details.
|
# however the user previously had it set. See BZ 1592069 for more details.
|
||||||
|
|
||||||
@ -1105,15 +1127,22 @@ exit 0
|
|||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Note: $1 == 0 means that there is an uninstall in progress.
|
||||||
|
# $1 == 1 means that there is an upgrade in progress.
|
||||||
|
|
||||||
|
%if %{with gold}
|
||||||
|
%preun gold
|
||||||
|
|
||||||
|
if [ $1 = 0 ]; then
|
||||||
|
%{_sbindir}/alternatives --remove ld %{_bindir}/ld.gold
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
%endif
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
if [ $1 = 0 ]; then
|
if [ $1 = 0 ]; then
|
||||||
%{_sbindir}/alternatives --remove ld %{_bindir}/ld.bfd
|
%{_sbindir}/alternatives --remove ld %{_bindir}/ld.bfd
|
||||||
fi
|
fi
|
||||||
%if %{with gold}
|
|
||||||
if [ $1 = 0 ]; then
|
|
||||||
%{_sbindir}/alternatives --remove ld %{_bindir}/ld.gold
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
@ -1245,6 +1274,9 @@ exit 0
|
|||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jun 21 2023 Nick Clifton <nickc@redhat.com> - 2.40-10
|
||||||
|
- Spec File: Add defines to enable rwx and execstack warnings.
|
||||||
|
|
||||||
* Wed May 31 2023 Nick Clifton <nickc@redhat.com> - 2.40-9
|
* Wed May 31 2023 Nick Clifton <nickc@redhat.com> - 2.40-9
|
||||||
- Spec File: Remove debug files from default package. (#2208360)
|
- Spec File: Remove debug files from default package. (#2208360)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user