]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
binutils: Fix default RELRO setting for the ARM platforms.
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 11 Jun 2012 08:39:02 +0000 (10:39 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 11 Jun 2012 08:39:02 +0000 (10:39 +0200)
binutils/binutils.nm
binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch [new file with mode: 0644]
binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch0 [deleted file]

index d58d88fc824ef7d552127263e3305e8502a1172b..993f973b0c25a6ef1ca6125232a73c0f4bacdd9c 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = binutils
 version    = 2.22.52.0.3
-release    = 1
+release    = 2
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Tools
diff --git a/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch b/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch
new file mode 100644 (file)
index 0000000..3910df1
--- /dev/null
@@ -0,0 +1,70 @@
+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
+     }
diff --git a/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch0 b/binutils/patches/binutils-2.22.52.0.1-relro-on-by-default.patch0
deleted file mode 100644 (file)
index 83ae415..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-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