diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2017-06-21 20:31:47 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2017-06-21 20:31:47 +0000 |
commit | cb3013f4891905a8093685bbe60f5d878f65c36f (patch) | |
tree | b4f9e2d50394b368d398b1fc2500a10933b040d3 /gnu/usr.bin | |
parent | 4b12f6b3263a7c9fb7d2d9469f8fbff08455538e (diff) |
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
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r-- | gnu/usr.bin/binutils-2.17/bfd/elf64-x86-64.c | 2 |
1 files changed, 1 insertions, 1 deletions
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. */ |