bfd/
authorRichard Sandiford <rdsandiford@googlemail.com>
Wed, 14 Jun 2006 08:27:41 +0000 (08:27 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Wed, 14 Jun 2006 08:27:41 +0000 (08:27 +0000)
commitcc3e26bed74f5e492b5d042afe2c2616975de445
tree2489da5f10688b77c52d166aac4a27ba18242287
parent5fa222e4424d1e940baaff61d73b704588ff970e
bfd/
* elf32-m68k.c (elf_m68k_plt_info): New structure.
(elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends.
(elf_m68k_plt_entry): Likewise.
(elf_m68k_plt_info): New table.
(CFV4E_PLT_ENTRY_SIZE): Rename to...
(ISAB_PLT_ENTRY_SIZE): ...this.
(CFV4E_FLAG): Delete.
(elf_cfv4e_plt0_entry): Rename to...
(elf_isab_plt0_entry): ...this.  Adjust comments.  Use (-6,%pc,%d0)
for the second instruction too.
(elf_cfv4e_plt_entry): Rename to...
(elf_isab_plt_entry): ...this.  Adjust comments and use (-6,%pc,%d0).
(elf_isab_plt_info): New table.
(CPU32_FLAG): Delete.
(PLT_CPU32_ENTRY_SIZE): Rename to...
(CPU32_PLT_ENTRY_SIZE): ...this.
(elf_cpu32_plt0_entry): Update bounds accordingly.  Add R_68K_PC32-
style in-place addends.
(elf_cpu32_plt_entry): Likewise.
(elf_cpu32_plt_info): New table.
(elf_m68k_link_hash_table): Add a plt_info field.
(elf_m68k_link_hash_table_create): Initialize it.
(elf_m68k_get_plt_info): New function.
(elf_m68k_always_size_sections): Likewise.
(elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field.
(elf_m68k_install_pc32): New function.
(elf_m68k_finish_dynamic_symbol): Factor code using plt_info and
elf_m68k_install_pc32.
(elf_m68k_finish_dynamic_sections): Likewise.
(elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info.
(elf_backend_always_size_sections): Define.

ld/testsuite/
* ld-m68k/plt1.s, ld-m68k/plt1-empty.s, ld-m68k/plt1.ld: New files.
* ld-m68k/plt1-68020.d, ld-m68k/plt1-cpu32.d: Likewise.
* ld-m68k/plt1-isab.d: Likewise.
* ld-m68k/m68k.exp: Run new PLT tests.
bfd/ChangeLog
bfd/elf32-m68k.c
ld/testsuite/ChangeLog
ld/testsuite/ld-m68k/m68k.exp
ld/testsuite/ld-m68k/plt1-68020.d [new file with mode: 0644]
ld/testsuite/ld-m68k/plt1-cpu32.d [new file with mode: 0644]
ld/testsuite/ld-m68k/plt1-empty.s [new file with mode: 0644]
ld/testsuite/ld-m68k/plt1-isab.d [new file with mode: 0644]
ld/testsuite/ld-m68k/plt1.ld [new file with mode: 0644]
ld/testsuite/ld-m68k/plt1.s [new file with mode: 0644]