bfd/
commit877391b82c217b9c262e0d18537393d14f222fe2
authorRichard Sandiford <rsandifo@nildram.co.uk>
Wed, 14 Jun 2006 08:27:41 +0000 (14 08:27 +0000)
committerRichard Sandiford <rsandifo@nildram.co.uk>
Wed, 14 Jun 2006 08:27:41 +0000 (14 08:27 +0000)
tree407c625347af8b169f30d82cb4510438ac0ef03b
parent4248b02741dbc8a979f02655c7b9cdb4d183be26
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]