aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-sh.c
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2004-04-23 02:47:39 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2004-04-23 02:47:39 +0000
commit1f1799d5ad9c8f2af8bebf4df515507c87659a9c (patch)
treec785649eb2136ae9a5be487efaf48dc287d51fa9 /bfd/elf32-sh.c
parent4d0d148db826dd8413051b44673b3fabfa35ebdc (diff)
downloadgdb-1f1799d5ad9c8f2af8bebf4df515507c87659a9c.zip
gdb-1f1799d5ad9c8f2af8bebf4df515507c87659a9c.tar.gz
gdb-1f1799d5ad9c8f2af8bebf4df515507c87659a9c.tar.bz2
bfd/
* elf32-sh.c (sh_elf_plt_sym_val): New function. (elf_backend_plt_sym_val): Define. opcodes/ * sh-dis.c (print_insn_sh): Print the value in constant pool as a symbol if it looks like a symbol. gas/testsuite/ * gas/sh/pcrel2.d: Update. * gas/sh/tlsd.d: Update. * gas/sh/tlsnopic.d: Update. * gas/sh/tlspic.d: Update. ld/testsuite/ * ld-sh/tlsbin-1.d: Update * ld-sh/tlspic-1.d: Update.
Diffstat (limited to 'bfd/elf32-sh.c')
-rw-r--r--bfd/elf32-sh.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 1070957..d69457f 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -7480,6 +7480,17 @@ elf32_shlin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
return TRUE;
}
+
+/* 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
+sh_elf_plt_sym_val (bfd_vma i, const asection *plt,
+ const arelent *rel ATTRIBUTE_UNUSED)
+{
+ return plt->vma + (i + 1) * PLT_ENTRY_SIZE;
+}
+
#define TARGET_BIG_SYM bfd_elf32_sh_vec
#define TARGET_BIG_NAME "elf32-sh"
#define TARGET_LITTLE_SYM bfd_elf32_shl_vec
@@ -7527,6 +7538,7 @@ elf32_shlin_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
#define elf_backend_finish_dynamic_sections \
sh_elf_finish_dynamic_sections
#define elf_backend_reloc_type_class sh_elf_reloc_type_class
+#define elf_backend_plt_sym_val sh_elf_plt_sym_val
#define elf_backend_can_gc_sections 1
#define elf_backend_can_refcount 1