* coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to
authorAlan Modra <amodra@gmail.com>
Fri, 17 Aug 2001 08:57:42 +0000 (08:57 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 17 Aug 2001 08:57:42 +0000 (08:57 +0000)
silence warning.
* coffgen.c (coff_print_symbol): Fix warnings.
(coff_find_nearest_line): Likewise.
* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
* coff-alpha.c (alpha_convert_external_reloc): Likewise.
* format.c (bfd_check_format_matches): Likewise.
(bfd_set_format): Likewise.
* coff-ia64.c: Add missing prototypes.
* elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend
signed to silence warnings.
(elf64_alpha_relocate_section): Likewise.
(elf64_alpha_find_reloc_at_ofs): Fix warnings.
(elf64_alpha_add_symbol_hook): Likewise.
(elf64_alpha_final_link): Likewise.
(elf64_alpha_relax_section): Remove redundant assign to info.gotent.
(elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args.
(elf64_alpha_size_got_sections): Likewise.
* elfxx-ia64.c: Add missing prototypes.
(elfNN_ia64_relocate_section): Fix warning.
(elfNN_ia64_unwind_entry_compare): Make params const.

bfd/ChangeLog
bfd/coff-alpha.c
bfd/coff-ia64.c
bfd/coffcode.h
bfd/coffgen.c
bfd/cofflink.c
bfd/elfxx-ia64.c
bfd/format.c

index ce7618d..839b780 100644 (file)
@@ -1,5 +1,27 @@
 2001-08-17  Alan Modra  <amodra@bigpond.net.au>
 
+       * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to
+       silence warning.
+       * coffgen.c (coff_print_symbol): Fix warnings.
+       (coff_find_nearest_line): Likewise.
+       * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
+       * coff-alpha.c (alpha_convert_external_reloc): Likewise.
+       * format.c (bfd_check_format_matches): Likewise.
+       (bfd_set_format): Likewise.
+       * coff-ia64.c: Add missing prototypes.
+       * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend
+       signed to silence warnings.
+       (elf64_alpha_relocate_section): Likewise.
+       (elf64_alpha_find_reloc_at_ofs): Fix warnings.
+       (elf64_alpha_add_symbol_hook): Likewise.
+       (elf64_alpha_final_link): Likewise.
+       (elf64_alpha_relax_section): Remove redundant assign to info.gotent.
+       (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args.
+       (elf64_alpha_size_got_sections): Likewise.
+       * elfxx-ia64.c: Add missing prototypes.
+       (elfNN_ia64_relocate_section): Fix warning.
+       (elfNN_ia64_unwind_entry_compare): Make params const.
+
        * config.bfd (targ64_selvecs): New.
        <powerpc-*-aix* entry>: Use it here instead of ineffectual #ifdef.
 
index d0db6a8..cad190f 100644 (file)
@@ -1334,7 +1334,7 @@ alpha_convert_external_reloc (output_bfd, info, input_bfd, ext_rel, h)
          break;
        }
 
-      if (r_symndx == -1)
+      if (r_symndx == (unsigned long) -1)
        abort ();
 
       /* Add the section VMA and the symbol value.  */
@@ -1347,7 +1347,7 @@ alpha_convert_external_reloc (output_bfd, info, input_bfd, ext_rel, h)
       /* Change the symndx value to the right one for
         the output BFD.  */
       r_symndx = h->indx;
-      if (r_symndx == -1)
+      if (r_symndx == (unsigned long) -1)
        {
          /* Caller must give an error.  */
          r_symndx = 0;
index 776d3fa..8452d96 100644 (file)
@@ -52,6 +52,8 @@ static reloc_howto_type howto_table[] =
 /* Return true if this relocation should
    appear in the output .reloc section.  */
 
+static boolean in_reloc_p PARAMS ((bfd *, reloc_howto_type *));
+
 static boolean
 in_reloc_p(abfd, howto)
      bfd * abfd ATTRIBUTE_UNUSED;
@@ -63,6 +65,8 @@ in_reloc_p(abfd, howto)
 
 #include "coffcode.h"
 
+static const bfd_target *ia64coff_object_p PARAMS ((bfd *));
+
 static const bfd_target *
 ia64coff_object_p (abfd)
      bfd *abfd;
index 5985404..3683fac 100644 (file)
@@ -326,7 +326,7 @@ static boolean coff_set_flags
 static boolean coff_set_arch_mach
   PARAMS ((bfd *, enum bfd_architecture, unsigned long));
 static boolean coff_compute_section_file_positions PARAMS ((bfd *));
-static boolean coff_write_object_contents PARAMS ((bfd *));
+static boolean coff_write_object_contents PARAMS ((bfd *)) ATTRIBUTE_UNUSED;
 static boolean coff_set_section_contents
   PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));
 static PTR buy_and_read PARAMS ((bfd *, file_ptr, int, size_t));
index bd2d158..533b889 100644 (file)
@@ -2106,16 +2106,18 @@ coff_print_symbol (abfd, filep, symbol, how)
                case C_EXT:
                  if (ISFCN (combined->u.syment.n_type))
                    {
+                     long next, llnos;
+
+                     if (auxp->fix_end)
+                       next = (auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p
+                              - root);
+                     else
+                       next = auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l;
+                     llnos = auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_lnnoptr;
                      fprintf (file,
                               _("AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld"),
-                              tagndx,
-                              auxp->u.auxent.x_sym.x_misc.x_fsize,
-                              auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_lnnoptr,
-                              (auxp->fix_end
-                               ? ((long)
-                                  (auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p
-                                   - root))
-                               : auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l));
+                              tagndx, auxp->u.auxent.x_sym.x_misc.x_fsize,
+                              llnos, next);
                      break;
                    }
                  /* else fall through */
@@ -2280,7 +2282,7 @@ coff_find_nearest_line (abfd, section, symbols, offset, filename_ptr,
 
          /* Avoid endless loops on erroneous files by ensuring that
             we always move forward in the file.  */
-         if (p - cof->raw_syments >= p->u.syment.n_value)
+         if (p >= cof->raw_syments + p->u.syment.n_value)
            break;
 
          p = cof->raw_syments + p->u.syment.n_value;
index e6dcd88..7e40bd9 100644 (file)
@@ -1829,7 +1829,7 @@ _bfd_coff_link_input_bfd (finfo, input_bfd)
                 have to write the symbol out twice.  */
 
              if (finfo->last_file_index != -1
-                 && finfo->last_file.n_value != (long) output_index)
+                 && finfo->last_file.n_value != (bfd_vma) output_index)
                {
                  /* We must correct the value of the last C_FILE
                      entry.  */
index 481834b..8aebd81 100644 (file)
@@ -161,6 +161,8 @@ static boolean is_unwind_section_name
   PARAMS ((const char *));
 static boolean elfNN_ia64_section_from_shdr
   PARAMS ((bfd *, ElfNN_Internal_Shdr *, char *));
+static boolean elfNN_ia64_section_flags
+  PARAMS ((flagword *, ElfNN_Internal_Shdr *));
 static boolean elfNN_ia64_fake_sections
   PARAMS ((bfd *abfd, ElfNN_Internal_Shdr *hdr, asection *sec));
 static void elfNN_ia64_final_write_processing
@@ -179,6 +181,8 @@ static boolean elfNN_ia64_aix_link_add_symbols
   PARAMS ((bfd *abfd, struct bfd_link_info *info));
 static int elfNN_ia64_additional_program_headers
   PARAMS ((bfd *abfd));
+static boolean elfNN_ia64_modify_segment_map
+  PARAMS ((bfd *));
 static boolean elfNN_ia64_is_local_label_name
   PARAMS ((bfd *abfd, const char *name));
 static boolean elfNN_ia64_dynamic_symbol_p
@@ -192,11 +196,19 @@ static struct bfd_hash_entry *elfNN_ia64_new_loc_hash_entry
 static struct bfd_hash_entry *elfNN_ia64_new_elf_hash_entry
   PARAMS ((struct bfd_hash_entry *entry, struct bfd_hash_table *table,
           const char *string));
+static void elfNN_ia64_hash_copy_indirect
+  PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *));
+static void elfNN_ia64_hash_hide_symbol
+  PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
 static struct bfd_link_hash_table *elfNN_ia64_hash_table_create
   PARAMS ((bfd *abfd));
 static struct elfNN_ia64_local_hash_entry *elfNN_ia64_local_hash_lookup
   PARAMS ((struct elfNN_ia64_local_hash_table *table, const char *string,
           boolean create, boolean copy));
+static boolean elfNN_ia64_global_dyn_sym_thunk
+  PARAMS ((struct bfd_hash_entry *, PTR));
+static boolean elfNN_ia64_local_dyn_sym_thunk
+  PARAMS ((struct bfd_hash_entry *, PTR));
 static void elfNN_ia64_dyn_sym_traverse
   PARAMS ((struct elfNN_ia64_link_hash_table *ia64_info,
           boolean (*func) (struct elfNN_ia64_dyn_sym_info *, PTR),
@@ -265,6 +277,8 @@ static bfd_vma set_pltoff_entry
   PARAMS ((bfd *abfd, struct bfd_link_info *info,
           struct elfNN_ia64_dyn_sym_info *dyn_i,
           bfd_vma value, boolean));
+static int elfNN_ia64_unwind_entry_compare
+  PARAMS ((const PTR, const PTR));
 static boolean elfNN_ia64_final_link
   PARAMS ((bfd *abfd, struct bfd_link_info *info));
 static boolean elfNN_ia64_relocate_section
@@ -1723,7 +1737,8 @@ get_dyn_sym_info (ia64_info, h, abfd, rel, create)
       len += 10;       /* %p slop */
 
       addr_name = alloca (len);
-      sprintf (addr_name, "%p:%lx", (void *) abfd, ELFNN_R_SYM (rel->r_info));
+      sprintf (addr_name, "%p:%lx",
+              (void *) abfd, (unsigned long) ELFNN_R_SYM (rel->r_info));
 
       /* Collect the canonical entry data for this address.  */
       loc_h = elfNN_ia64_local_hash_lookup (&ia64_info->loc_hash_table,
@@ -3188,8 +3203,8 @@ static bfd *elfNN_ia64_unwind_entry_compare_bfd;
 
 static int
 elfNN_ia64_unwind_entry_compare (a, b)
-     PTR a;
-     PTR b;
+     const PTR a;
+     const PTR b;
 {
   bfd_vma av, bv;
 
index c64b96f..eb97be1 100644 (file)
@@ -125,8 +125,7 @@ bfd_check_format_matches (abfd, format, matching)
   int ar_match_index;
 
   if (!bfd_read_p (abfd)
-      || abfd->format < bfd_unknown
-      || abfd->format >= bfd_type_end)
+      || (unsigned int) abfd->format >= (unsigned int) bfd_type_end)
     {
       bfd_set_error (bfd_error_invalid_operation);
       return false;
@@ -348,8 +347,7 @@ bfd_set_format (abfd, format)
      bfd_format format;
 {
   if (bfd_read_p (abfd)
-      || abfd->format < bfd_unknown
-      || abfd->format >= bfd_type_end)
+      || (unsigned int) abfd->format >= (unsigned int) bfd_type_end)
     {
       bfd_set_error (bfd_error_invalid_operation);
       return false;