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 ---- 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`; link_info.sharable_sections = `if test "$SHARABLE_SECTIONS" = "yes" ; then echo TRUE ; else echo FALSE ; fi`; + link_info.relro = TRUE; } EOF