--- /dev/null
+diff -Nur binutils-2.22.52.0.4-vanilla/ld/emultempl/armelf.em binutils-2.22.52.0.4/ld/emultempl/armelf.em
+--- binutils-2.22.52.0.4-vanilla/ld/emultempl/armelf.em 2012-06-05 18:44:10.000000000 +0200
++++ binutils-2.22.52.0.4/ld/emultempl/armelf.em 2012-06-08 13:34:30.578427241 +0200
+@@ -52,6 +52,7 @@
+ #endif /* not TARGET_ */
+ input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
+ config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
++ link_info.relro = TRUE;
+ }
+
+ static void
+diff -Nur binutils-2.22.52.0.4-vanilla/ld/emultempl/elf32.em binutils-2.22.52.0.4/ld/emultempl/elf32.em
+--- binutils-2.22.52.0.4-vanilla/ld/emultempl/elf32.em 2012-06-05 18:44:10.000000000 +0200
++++ binutils-2.22.52.0.4/ld/emultempl/elf32.em 2012-06-08 13:33:07.090612102 +0200
+@@ -106,6 +106,7 @@
+ input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
+ config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
+ link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`;
++ link_info.relro = TRUE;
+ }
+
+ EOF
+diff -Nur binutils-2.22.52.0.4-vanilla/ld/testsuite/config/default.exp binutils-2.22.52.0.4/ld/testsuite/config/default.exp
+--- binutils-2.22.52.0.4-vanilla/ld/testsuite/config/default.exp 2012-06-05 18:44:10.000000000 +0200
++++ binutils-2.22.52.0.4/ld/testsuite/config/default.exp 2012-06-08 13:33:07.085612052 +0200
+@@ -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 {
+@@ -69,7 +69,7 @@
+ catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
+ catch "exec ln -s ld tmpdir/ld/collect-ld" status
+ }
+-set gcc_ld_flag "-B[pwd]/tmpdir/ld/"
++set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro"
+
+ # load the linker path
+ if {[file exists tmpdir/libpath.exp]} {
+@@ -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 -Nur binutils-2.22.52.0.4-vanilla/ld/testsuite/ld-bootstrap/bootstrap.exp binutils-2.22.52.0.4/ld/testsuite/ld-bootstrap/bootstrap.exp
+--- binutils-2.22.52.0.4-vanilla/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-06-05 18:44:10.000000000 +0200
++++ binutils-2.22.52.0.4/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-06-08 13:33:07.086612062 +0200
+@@ -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
+ }
+++ /dev/null
-diff -cpr ../binutils-2.22.52.0.1.orig/ld/testsuite/config/default.exp ld/testsuite/config/default.exp
-*** ../binutils-2.22.52.0.1.orig/ld/testsuite/config/default.exp 2012-03-06 14:00:31.141957656 +0000
---- ld/testsuite/config/default.exp 2012-03-06 14:09:33.492940503 +0000
-***************
-*** 23,29 ****
- #
-
- if ![info exists ld] then {
-! set ld [findfile $base_dir/ld-new $base_dir/ld-new [transform ld]]
- }
-
- if ![info exists as] then {
---- 23,29 ----
- #
-
- if ![info exists ld] then {
-! set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro"
- }
-
- if ![info exists as] then {
-*************** if {![file isdirectory tmpdir/ld]} then
-*** 69,75 ****
- catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
- catch "exec ln -s ld tmpdir/ld/collect-ld" status
- }
-! set gcc_ld_flag "-B[pwd]/tmpdir/ld/"
-
- # load the linker path
- if {[file exists tmpdir/libpath.exp]} {
---- 69,75 ----
- catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
- catch "exec ln -s ld tmpdir/ld/collect-ld" status
- }
-! set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro"
-
- # load the linker path
- if {[file exists tmpdir/libpath.exp]} {
-*************** if ![info exists READELFFLAGS] then {
-*** 279,285 ****
- }
-
- if ![info exists LD] then {
-! set LD [findfile $base_dir/ld-new ./ld-new [transform ld]]
- }
-
- if ![info exists LDFLAGS] then {
---- 279,285 ----
- }
-
- if ![info exists LD] then {
-! 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
-*** ../binutils-2.22.52.0.1.orig/ld/testsuite/ld-bootstrap/bootstrap.exp 2012-03-06 14:00:30.503957676 +0000
---- ld/testsuite/ld-bootstrap/bootstrap.exp 2012-03-06 15:03:33.949837926 +0000
-*************** foreach flags {"" "strip" "--static" "--
-*** 71,77 ****
-
- # This test can only be run if we have the ld build directory,
- # since we need the object files.
-! if {$ld != "$objdir/ld-new"} {
- untested $testname
- continue
- }
---- 71,83 ----
-
- # This test can only be run if we have the ld build directory,
- # since we need the object files.
-! 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.22.52.0.2.orig/ld/emultempl/elf32.em 2012-04-30 16:12:52.642766221 +0100
---- ld/emultempl/elf32.em 2012-04-30 16:13:13.869766905 +0100
-*************** gld${EMULATION_NAME}_before_parse (void)
-*** 106,111 ****
---- 106,112 ----
- input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
- config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
- link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`;
-+ link_info.relro = TRUE;
- }
-
- EOF