summaryrefslogtreecommitdiff
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
commite85231387c0aaa9a5bdd4619e5531b6c5e4779de (patch)
tree85f3d88bd965083b7d6bdbf2b45e3725ad78c0ac /bfd/elf32-sh.c
parentfb313aea40e52e0fff025d23a21ca47eac1ff306 (diff)
downloadgdb-e85231387c0aaa9a5bdd4619e5531b6c5e4779de.tar.gz
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 1070957ea73..d69457fbd2b 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