diff options
Diffstat (limited to 'source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch')
-rw-r--r-- | source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch b/source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch new file mode 100644 index 00000000..ba8318df --- /dev/null +++ b/source/d/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch @@ -0,0 +1,58 @@ +diff -upr ../binutils-2.22.52.0.1.orig/ld/testsuite/config/default.exp ld/testsuite/config/default.exp +--- a/ld/testsuite/config/default.exp 2012-03-06 14:00:31.141957656 +0000 ++++ b/ld/testsuite/config/default.exp 2012-03-06 14:09:33.492940503 +0000 +@@ -23,7 +23,7 @@ + # + + if ![info exists ld] then { +- set ld [findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] ++ set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro" + } + + if ![info exists as] then { +@@ -60,7 +60,7 @@ if {![file isdirectory tmpdir/ld]} then + catch "exec ln -s ld tmpdir/ld/collect-ld" status + catch "exec ln -s ../../../gas/as-new tmpdir/ld/as" status + } +-set gcc_B_opt "-B[pwd]/tmpdir/ld/" ++set gcc_B_opt "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro" + + # load the linker path + set ld_L_opt "" +@@ -279,7 +279,7 @@ + } + + if ![info exists LD] then { +- set LD [findfile $base_dir/ld-new ./ld-new [transform ld]] ++ set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro" + } + + if ![info exists LDFLAGS] then { +diff -cpr ../binutils-2.22.52.0.1.orig/ld/testsuite/ld-bootstrap/bootstrap.exp ld/testsuite/ld-bootstrap/bootstrap.exp +--- a/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-03-06 14:00:30.503957676 +0000 ++++ b/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-03-06 15:03:33.949837926 +0000 +@@ -71,7 +71,13 @@ + + # This test can only be run if we have the ld build directory, + # since we need the object files. +- if {$ld != "$objdir/ld-new"} { ++ set ldexe $ld ++ set ldparm [string first " " $ld] ++ if { $ldparm > 0 } then { ++ set ldparm [expr $ldparm - 1] ++ set ldexe [string range $ld 0 $ldparm] ++ } ++ if {$ldexe != "$objdir/ld-new"} { + untested $testname + continue + } +--- binutils-2.26.orig/ld/emultempl/elf32.em 2016-01-25 10:11:33.990291993 +0000 ++++ binutils-2.26/ld/emultempl/elf32.em 2016-01-25 10:21:40.333016777 +0000 +@@ -104,6 +104,7 @@ gld${EMULATION_NAME}_before_parse (void) + config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`; + config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`; + `if test -n "$CALL_NOP_BYTE" ; then echo link_info.call_nop_byte = $CALL_NOP_BYTE; fi`; ++ link_info.relro = TRUE; + } + + EOF |