* elf32-sh.c: Added missing prototypes.
authorAlexandre Oliva <aoliva@redhat.com>
Mon, 11 Feb 2002 06:17:43 +0000 (06:17 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Mon, 11 Feb 2002 06:17:43 +0000 (06:17 +0000)
* elf32-sh64.c: Likewise.
(sh_elf_align_loads): Mark unused args as such.
* elf64-sh64.c: Added missing prototypes.
(struct elf_sh64_link_hash_entry): Fix typo.
(sh_elf64_relocate_section): Fix info argument passed to
_bfd_elf_section_offset.

bfd/ChangeLog
bfd/elf32-sh.c
bfd/elf32-sh64.c
bfd/elf64-sh64.c

index 88094cc5e786d2e1be7f79c2a3c958d486aedff0..6e48ed993c4230dde0e7fea102b86de640c1df49 100644 (file)
@@ -1,3 +1,13 @@
+2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       * elf32-sh.c: Added missing prototypes.
+       * elf32-sh64.c: Likewise.
+       (sh_elf_align_loads): Mark unused args as such.
+       * elf64-sh64.c: Added missing prototypes.
+       (struct elf_sh64_link_hash_entry): Fix typo.
+       (sh_elf64_relocate_section): Fix info argument passed to
+       _bfd_elf_section_offset.
+
 2002-02-11  Alan Modra  <amodra@bigpond.net.au>
 
        * Makefile.am: "make dep-am".
index d6033456b2aff14ac86866817c1adb3296d9988e..6c13404fd05a5241239b924d25e2686f987abd77 100644 (file)
@@ -85,6 +85,9 @@ static boolean sh_elf_gc_sweep_hook
           const Elf_Internal_Rela *));
 static enum elf_reloc_type_class sh_elf_reloc_type_class
   PARAMS ((const Elf_Internal_Rela *));
+#ifdef INCLUDE_SHMEDIA
+inline static void movi_shori_putval PARAMS ((bfd *, unsigned long, char *));
+#endif
 
 /* The name of the dynamic interpreter.  This is put in the .interp
    section.  */
@@ -2808,10 +2811,10 @@ sh_elf_relax_delete_bytes (abfd, sec, addr, count)
 
 static boolean
 sh_elf_align_loads (abfd, sec, internal_relocs, contents, pswapped)
-     bfd *abfd;
+     bfd *abfd ATTRIBUTE_UNUSED;
      asection *sec;
      Elf_Internal_Rela *internal_relocs;
-     bfd_byte *contents;
+     bfd_byte *contents ATTRIBUTE_UNUSED;
      boolean *pswapped;
 {
   Elf_Internal_Rela *irel, *irelend;
index 561c7af5ad1cf3ba49210c7e4fddb8ac18e6b958..5c85d36c2dd29bd3a90ddae3479d2ecc174448af 100644 (file)
@@ -58,6 +58,7 @@ static boolean sh64_backend_section_from_shdr
 static void sh64_elf_final_write_processing PARAMS ((bfd *, boolean));
 static boolean sh64_bfd_elf_copy_private_section_data
   PARAMS ((bfd *, asection *, bfd *, asection *));
+static void sh64_find_section_for_address PARAMS ((bfd *, asection *, PTR));
 
 /* Let elf32-sh.c handle the "bfd_" definitions, so we only have to
    intrude with an #ifndef around the function definition.  */
index 143a560fb40e9b089bb0716afb1f3364c6a9ba91..ab22187e24dadefa123972c464a60c5d196b1964 100644 (file)
@@ -84,7 +84,7 @@ struct elf_sh64_link_hash_entry
   bfd_vma datalabel_got_offset;
 
   /* Number of PC relative relocs copied for this symbol.  */
-  struct elf_sh_pcrel_relocs_copied *pcrel_relocs_copied;
+  struct elf_sh64_pcrel_relocs_copied *pcrel_relocs_copied;
 };
 
 /* sh ELF linker hash table.  */
@@ -145,6 +145,25 @@ extern boolean sh64_elf64_link_output_symbol_hook
 static boolean sh64_elf64_fake_sections
   PARAMS ((bfd *, Elf_Internal_Shdr *, asection *));
 static void sh64_elf64_final_write_processing PARAMS ((bfd *, boolean));
+static struct bfd_hash_entry *sh64_elf64_link_hash_newfunc
+  PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *));
+static struct bfd_link_hash_table *sh64_elf64_link_hash_table_create
+  PARAMS ((bfd *));
+inline static void movi_shori_putval PARAMS ((bfd *, unsigned long, char *));
+inline static void movi_3shori_putval PARAMS ((bfd *, bfd_vma, char *));
+static boolean sh64_elf64_create_dynamic_sections
+  PARAMS ((bfd *, struct bfd_link_info *));
+static boolean sh64_elf64_adjust_dynamic_symbol
+  PARAMS ((struct bfd_link_info *info, struct elf_link_hash_entry *));
+static boolean sh64_elf64_discard_copies
+  PARAMS ((struct elf_sh64_link_hash_entry *, PTR));
+static boolean sh64_elf64_size_dynamic_sections
+  PARAMS ((bfd *, struct bfd_link_info *));
+static boolean sh64_elf64_finish_dynamic_symbol
+  PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
+          Elf_Internal_Sym *));
+static boolean sh64_elf64_finish_dynamic_sections
+  PARAMS ((bfd *, struct bfd_link_info *));
 
 static reloc_howto_type sh_elf64_howto_table[] = {
   /* No relocation.  */
@@ -1729,10 +1748,8 @@ sh_elf64_relocate_section (output_bfd, info, input_bfd, input_section,
              skip = false;
 
              outrel.r_offset
-               = _bfd_elf_section_offset (output_bfd,
-                                          &elf_hash_table (info)->stab_info,
-                                          input_section,
-                                          rel->r_offset);
+               = _bfd_elf_section_offset (output_bfd, info,
+                                          input_section, rel->r_offset);
 
              if (outrel.r_offset == (bfd_vma) -1)
                skip = true;