elf64_x86_64_plt0_entry had a hardcoded nop-sled, before the subsequent
authorderaadt <deraadt@openbsd.org>
Wed, 21 Jun 2017 20:31:46 +0000 (20:31 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 21 Jun 2017 20:31:46 +0000 (20:31 +0000)
plt entry.  Since previous effective instruction is a a jmp, this can be
a sequence of traps.
ok mlarkin

gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c

index c63bf13..da43981 100644 (file)
@@ -350,7 +350,7 @@ static const bfd_byte elf64_x86_64_plt0_entry[PLT_ENTRY_SIZE] =
 {
   0xff, 0x35, 8, 0, 0, 0,      /* pushq GOT+8(%rip)  */
   0xff, 0x25, 16, 0, 0, 0,     /* jmpq *GOT+16(%rip) */
-  0x90, 0x90, 0x90, 0x90       /* pad out to 16 bytes with nops.  */
+  0xcc, 0xcc, 0xcc, 0xcc       /* pad out to 16 bytes with int3.  */
 };
 
 /* Subsequent entries in a procedure linkage table look like this.  */