svn commit: r315522 - in head: contrib/binutils/ld/emulparams sys/conf

Ed Maste emaste at FreeBSD.org
Sun Mar 19 00:22:15 UTC 2017


Author: emaste
Date: Sun Mar 19 00:22:13 2017
New Revision: 315522
URL: https://svnweb.freebsd.org/changeset/base/315522

Log:
  use INT3 instead of NOP for x86 binary padding
  
  We should never end up executing the inter-function padding, so we
  are better off faulting than silently carrying on to whatever function
  happens to be next.
  
  Note that LLD will soon do this by default (although it currently pads
  with zeros).
  
  Reviewed by:	dim, kib
  MFC after:	1 month
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D10047

Modified:
  head/contrib/binutils/ld/emulparams/elf_i386.sh
  head/contrib/binutils/ld/emulparams/elf_x86_64.sh
  head/sys/conf/ldscript.amd64
  head/sys/conf/ldscript.i386

Modified: head/contrib/binutils/ld/emulparams/elf_i386.sh
==============================================================================
--- head/contrib/binutils/ld/emulparams/elf_i386.sh	Sat Mar 18 23:59:50 2017	(r315521)
+++ head/contrib/binutils/ld/emulparams/elf_i386.sh	Sun Mar 19 00:22:13 2017	(r315522)
@@ -6,7 +6,7 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE
 NONPAGED_TEXT_START_ADDR=0x08048000
 ARCH=i386
 MACHINE=
-NOP=0x90909090
+NOP=0xCCCCCCCC
 TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes

Modified: head/contrib/binutils/ld/emulparams/elf_x86_64.sh
==============================================================================
--- head/contrib/binutils/ld/emulparams/elf_x86_64.sh	Sat Mar 18 23:59:50 2017	(r315521)
+++ head/contrib/binutils/ld/emulparams/elf_x86_64.sh	Sun Mar 19 00:22:13 2017	(r315522)
@@ -7,7 +7,7 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE
 NONPAGED_TEXT_START_ADDR=0x400000
 ARCH="i386:x86-64"
 MACHINE=
-NOP=0x90909090
+NOP=0xCCCCCCCC
 TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes

Modified: head/sys/conf/ldscript.amd64
==============================================================================
--- head/sys/conf/ldscript.amd64	Sat Mar 18 23:59:50 2017	(r315521)
+++ head/sys/conf/ldscript.amd64	Sun Mar 19 00:22:13 2017	(r315522)
@@ -56,7 +56,7 @@ SECTIONS
   .init           :
   {
     KEEP (*(.init))
-  } =0x90909090
+  } =0xCCCCCCCC
   .plt            : { *(.plt) }
   .text           :
   {
@@ -64,11 +64,11 @@ SECTIONS
     KEEP (*(.text.*personality*))
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
-  } =0x90909090
+  } =0xCCCCCCCC
   .fini           :
   {
     KEEP (*(.fini))
-  } =0x90909090
+  } =0xCCCCCCCC
   PROVIDE (__etext = .);
   PROVIDE (_etext = .);
   PROVIDE (etext = .);

Modified: head/sys/conf/ldscript.i386
==============================================================================
--- head/sys/conf/ldscript.i386	Sat Mar 18 23:59:50 2017	(r315521)
+++ head/sys/conf/ldscript.i386	Sun Mar 19 00:22:13 2017	(r315522)
@@ -44,7 +44,7 @@ SECTIONS
   .init           :
   {
     KEEP (*(.init))
-  } =0x90909090
+  } =0xCCCCCCCC
   .plt            : { *(.plt) }
   .text           :
   {
@@ -52,11 +52,11 @@ SECTIONS
     KEEP (*(.text.*personality*))
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
-  } =0x90909090
+  } =0xCCCCCCCC
   .fini           :
   {
     KEEP (*(.fini))
-  } =0x90909090
+  } =0xCCCCCCCC
   PROVIDE (__etext = .);
   PROVIDE (_etext = .);
   PROVIDE (etext = .);


More information about the svn-src-all mailing list