summaryrefslogtreecommitdiff
path: root/bfd/elf32-m68k.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2004-10-20 21:29:45 +0000
committerAndreas Schwab <schwab@suse.de>2004-10-20 21:29:45 +0000
commitd86725c664c9bb6bbe6c32440efacbedc896d685 (patch)
treea05476badcc937f28e1498240ce7d43e189d95c2 /bfd/elf32-m68k.c
parent88da2219f2b6361f881d9798a0aac5de89f3646a (diff)
downloadgdb-d86725c664c9bb6bbe6c32440efacbedc896d685.tar.gz
* 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 4f119035811..f1c6ea79319 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