summaryrefslogtreecommitdiff
path: root/bfd/elf32-m68k.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-09-19 23:21:36 +0000
committerNick Clifton <nickc@redhat.com>2000-09-19 23:21:36 +0000
commit1b405352baf16bfc30e17e6432976f2d2640791f (patch)
treef14866cf13738e1cc7951b38b09b23aee111cf1f /bfd/elf32-m68k.c
parentf10d432e54b187946b550edae17230cd1ec6fefb (diff)
downloadbinutils-redhat-1b405352baf16bfc30e17e6432976f2d2640791f.tar.gz
Change the PLT entry 0 instruction sequence to actually work.
Diffstat (limited to 'bfd/elf32-m68k.c')
-rw-r--r--bfd/elf32-m68k.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index d53cfdf45a..9b5e93f529 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -224,11 +224,11 @@ static const bfd_byte elf_m68k_plt_entry[PLT_ENTRY_SIZE] =
/* Procedure linkage table entries for the cpu32 */
static const bfd_byte elf_cpu32_plt0_entry[PLT_CPU32_ENTRY_SIZE] =
{
- 0x22, 0x7b, 0x01, 0x70, /* moveal %pc@(0xc), %a1 */
+ 0x2f, 0x3b, 0x01, 0x70, /* move.l (%pc,addr),-(%sp) */
0, 0, 0, 0, /* replaced with offset to .got + 4. */
- 0x4e, 0xd1, /* jmp %a1@ */
+ 0x22, 0x7b, 0x01, 0x70, /* moveal %pc@(0xc), %a1 */
0, 0, 0, 0, /* replace with offset to .got +8. */
- 0, 0, 0, 0, /* pad out to 24 bytes. */
+ 0x4e, 0xd1, /* jmp %a1@ */
0, 0, 0, 0, /* pad out to 24 bytes. */
0, 0
};
@@ -2154,7 +2154,7 @@ elf_m68k_finish_dynamic_sections (output_bfd, info)
(sgot->output_section->vma
+ sgot->output_offset + 8
- (splt->output_section->vma + 10)),
- splt->contents + 10);
+ splt->contents + 12);
elf_section_data (splt->output_section)->this_hdr.sh_entsize
= PLT_CPU32_ENTRY_SIZE;
}