summaryrefslogtreecommitdiffstats
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2012-03-14 19:32:11 +0000
committerRoland McGrath <roland@gnu.org>2012-03-14 19:32:11 +0000
commitcaa0075c3875e4dcbfa0b758ee95037c526e9082 (patch)
treea5792f92019f329b144e533f7466639a85df2e0d /bfd/elf32-i386.c
parentaeb1f0e80e1dea7b8a909d1add94d0200abb1197 (diff)
downloadppe42-binutils-caa0075c3875e4dcbfa0b758ee95037c526e9082.tar.gz
ppe42-binutils-caa0075c3875e4dcbfa0b758ee95037c526e9082.zip
* elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
to the full size, padding out with nop instructions.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 3014a0a83a..4ae21664f6 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -2702,7 +2702,7 @@ elf_i386_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
it's not incremented, so in order to compute the space reserved
for them, it suffices to multiply the reloc count by the jump
slot size.
-
+
PR ld/13302: We start next_irelative_index at the end of .rela.plt
so that R_386_IRELATIVE entries come last. */
if (htab->elf.srelplt)
@@ -5109,7 +5109,10 @@ elf_i386_nacl_pic_plt0_entry[sizeof (elf_i386_nacl_plt0_entry)] =
0x8b, 0x4b, 0x08, /* mov 0x8(%ebx), %ecx */
0x83, 0xe1, 0xe0, /* and $NACLMASK, %ecx */
0xff, 0xe1, /* jmp *%ecx */
- 0x90 /* nop */
+
+ /* This is expected to be the same size as elf_i386_nacl_plt0_entry,
+ so pad to that size with nop instructions. */
+ 0x90, 0x90, 0x90, 0x90, 0x90, 0x90
};
static const bfd_byte elf_i386_nacl_pic_plt_entry[NACL_PLT_ENTRY_SIZE] =
OpenPOWER on IntegriCloud