aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-m68k.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2004-10-20 21:29:45 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2004-10-20 21:29:45 +0000
commit1715e0e33ecf4042867c6170b01e2103dd9dfe4c (patch)
tree55b3d7a3885c9371198cc84267cb26cfbdb0561d /bfd/elf32-m68k.c
parentdb3d41a8582ceed14d43b0fdf3ed774d80a32e6f (diff)
downloadgdb-1715e0e33ecf4042867c6170b01e2103dd9dfe4c.zip
gdb-1715e0e33ecf4042867c6170b01e2103dd9dfe4c.tar.gz
gdb-1715e0e33ecf4042867c6170b01e2103dd9dfe4c.tar.bz2
* elf32-m68k.c (elf_m68k_plt_sym_val): New function.
(elf_backend_plt_sym_val): Define.
Diffstat (limited to 'bfd/elf32-m68k.c')
-rw-r--r--bfd/elf32-m68k.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 4f11903..f1c6ea7 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -2207,6 +2207,18 @@ elf32_m68k_reloc_type_class (rela)
}
}
+/* Return address for Ith PLT stub in section PLT, for relocation REL
+ or (bfd_vma) -1 if it should not be included. */
+
+static bfd_vma
+elf_m68k_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ if (CPU32_FLAG (plt->owner))
+ return plt->vma + (i + 1) * PLT_CPU32_ENTRY_SIZE;
+ return plt->vma + (i + 1) * PLT_ENTRY_SIZE;
+}
+
#define TARGET_BIG_SYM bfd_elf32_m68k_vec
#define TARGET_BIG_NAME "elf32-m68k"
#define ELF_MACHINE_CODE EM_68K
@@ -2236,6 +2248,7 @@ elf32_m68k_reloc_type_class (rela)
#define bfd_elf32_bfd_print_private_bfd_data \
elf32_m68k_print_private_bfd_data
#define elf_backend_reloc_type_class elf32_m68k_reloc_type_class
+#define elf_backend_plt_sym_val elf_m68k_plt_sym_val
#define elf_backend_can_gc_sections 1
#define elf_backend_can_refcount 1