From cea4409c0f8e075b69aa75a7a73d8b5ff67937a9 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 17 Aug 2001 08:57:42 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 22 ++++++++++++++++++++++ bfd/coff-alpha.c | 4 ++-- bfd/coff-ia64.c | 4 ++++ bfd/coffcode.h | 2 +- bfd/coffgen.c | 20 +++++++++++--------- bfd/cofflink.c | 2 +- bfd/elfxx-ia64.c | 21 ++++++++++++++++++--- bfd/format.c | 6 ++---- 8 files changed, 61 insertions(+), 20 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ce7618dbb12..839b7801ef3 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,27 @@ 2001-08-17 Alan Modra + * 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. : Use it here instead of ineffectual #ifdef. diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c index d0db6a85e30..cad190f597b 100644 --- a/bfd/coff-alpha.c +++ b/bfd/coff-alpha.c @@ -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; diff --git a/bfd/coff-ia64.c b/bfd/coff-ia64.c index 776d3fac596..8452d961870 100644 --- a/bfd/coff-ia64.c +++ b/bfd/coff-ia64.c @@ -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; diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 5985404cacb..3683fac76fd 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -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)); diff --git a/bfd/coffgen.c b/bfd/coffgen.c index bd2d158ba5f..533b88998a3 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -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; diff --git a/bfd/cofflink.c b/bfd/cofflink.c index e6dcd88edc1..7e40bd94a82 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -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. */ diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index 481834bb4db..8aebd81ba62 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -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; diff --git a/bfd/format.c b/bfd/format.c index c64b96fe938..eb97be14e93 100644 --- a/bfd/format.c +++ b/bfd/format.c @@ -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; -- 2.30.2