From 3714365dbbba6b4c75a216cfb2a6800fa13e1f81 Mon Sep 17 00:00:00 2001 From: deraadt Date: Wed, 21 Jun 2017 20:31:46 +0000 Subject: [PATCH] elf64_x86_64_plt0_entry had a hardcoded nop-sled, before the subsequent 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c b/gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c index c63bf138994..da4398159c8 100644 --- a/gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c +++ b/gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c @@ -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. */ -- 2.20.1