This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

missing prototypes bfd/


Alexandre Oliva's recent dwarf2.c patch was causing me a crash since
find_rela_addend wasn't prototyped.  find_rela_addend uses a bfd_vma
arg, which is "long long" when compiling a 64 bit target on x86.  Hard
to blame Alex when none of the functions in dwarf2.c are prototyped..

This adds prototypes to a random selection of files in bfd/, plus a few
other miscellaneous tweaks.

bfd/ChangeLog
	* coff-rs6000.c: Add missing prototypes.
	(xcoff_ppc_relocate_section, xcoff_is_lineno_count_overflow,
	xcoff_is_reloc_count_overflow, xcoff_loader_symbol_offset,
	xcoff_loader_reloc_offset): Make static.
	* dwarf1.c: Add missing prototypes.
	* dwarf2.c: Add missing prototypes.
	(struct abbrev_info): Move definition.
	(struct attr_abbrev, ABBREV_HASH_SIZE, ATTR_ALLOC_CHUNK): Likewise.
	* elf.c: Add missing prototypes.
	* elf32-gen.c: Likewise.
	* elf32-i386.c: Likewise.
	* elf32-ppc.c: Likewise.
	(ppc_elf_sort_rela): Use PTR instead of "void *".
	* elflink.h: Add missing prototypes.  Formatting fixes.
	* merge.c: Add missing prototypes.
	(last4_eq): Use PTR instead of "void *".
	(last_eq): Likewise.
	* syms.c: Add missing prototypes.

Applying to mainline.

-- 
Alan Modra

Index: bfd/coff-rs6000.c
===================================================================
RCS file: /cvs/src/src/bfd/coff-rs6000.c,v
retrieving revision 1.20
diff -u -p -r1.20 coff-rs6000.c
--- coff-rs6000.c	2001/05/25 21:23:48	1.20
+++ coff-rs6000.c	2001/08/09 13:54:32
@@ -111,6 +111,41 @@ extern int rs6000coff_core_file_failing_
 /* The main body of code is in coffcode.h.  */
 
 static const char *normalize_filename PARAMS ((bfd *));
+static boolean xcoff_write_armap_old
+  PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
+static boolean xcoff_write_one_armap_big
+  PARAMS ((bfd *, struct orl *, unsigned int, unsigned int, unsigned int,
+	   int, const char *, char *));
+static boolean xcoff_write_armap_big
+  PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
+static boolean xcoff_write_archive_contents_old PARAMS ((bfd *));
+static boolean xcoff_write_archive_contents_big PARAMS ((bfd *));
+static void xcoff_swap_ldhdr_in
+  PARAMS ((bfd *, const struct external_ldhdr *, struct internal_ldhdr *));
+static void xcoff_swap_ldhdr_out
+  PARAMS ((bfd *, const struct internal_ldhdr *, struct external_ldhdr *));
+static void xcoff_swap_ldsym_in
+  PARAMS ((bfd *, const struct external_ldsym *, struct internal_ldsym *));
+static void xcoff_swap_ldsym_out
+  PARAMS ((bfd *, const struct internal_ldsym *, struct external_ldsym *));
+static void xcoff_swap_ldrel_in
+  PARAMS ((bfd *, const struct external_ldrel *, struct internal_ldrel *));
+static void xcoff_swap_ldrel_out
+  PARAMS ((bfd *, const struct internal_ldrel *, struct external_ldrel *));
+static boolean xcoff_ppc_relocate_section
+  PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
+	   struct internal_reloc *, struct internal_syment *, asection **));
+static boolean _bfd_xcoff_put_ldsymbol_name
+  PARAMS ((bfd *, struct xcoff_loader_info *, struct internal_ldsym *,
+	   const char *));
+static asection *xcoff_create_csect_from_smclas
+  PARAMS ((bfd *, union internal_auxent *, char *));
+static boolean xcoff_is_lineno_count_overflow PARAMS ((bfd *, bfd_vma));
+static boolean xcoff_is_reloc_count_overflow PARAMS ((bfd *, bfd_vma));
+static bfd_vma xcoff_loader_symbol_offset
+  PARAMS ((bfd *, struct internal_ldhdr *));
+static bfd_vma xcoff_loader_reloc_offset
+  PARAMS ((bfd *, struct internal_ldhdr *));
 
 /* We use our own tdata type.  Its first field is the COFF tdata type,
    so the COFF routines are compatible.  */
@@ -2350,7 +2385,7 @@ xcoff_swap_ldrel_out (abfd, src, dst)
    This is currently the only processor which uses XCOFF; I hope that
    will never change.  */
 
-boolean
+static boolean
 xcoff_ppc_relocate_section (output_bfd, info, input_bfd,
 			    input_section, contents, relocs, syms,
 			    sections)
@@ -2814,7 +2849,7 @@ xcoff_create_csect_from_smclas (abfd, au
   return return_value;
 }
 
-boolean 
+static boolean 
 xcoff_is_lineno_count_overflow (abfd, value)
     bfd *abfd ATTRIBUTE_UNUSED;
 	bfd_vma value;
@@ -2825,7 +2860,7 @@ xcoff_is_lineno_count_overflow (abfd, va
   return false;
 }
 
-boolean 
+static boolean 
 xcoff_is_reloc_count_overflow (abfd, value)
     bfd *abfd ATTRIBUTE_UNUSED;
 	bfd_vma value;
@@ -2836,7 +2871,7 @@ xcoff_is_reloc_count_overflow (abfd, val
   return false;
 }
 
-bfd_vma
+static bfd_vma
 xcoff_loader_symbol_offset (abfd, ldhdr)
     bfd *abfd;
 	struct internal_ldhdr *ldhdr ATTRIBUTE_UNUSED;
@@ -2844,7 +2879,7 @@ xcoff_loader_symbol_offset (abfd, ldhdr)
   return bfd_xcoff_ldhdrsz(abfd);
 }
 
-bfd_vma
+static bfd_vma
 xcoff_loader_reloc_offset (abfd, ldhdr)
     bfd *abfd;
 	struct internal_ldhdr *ldhdr;
@@ -3393,4 +3428,3 @@ const bfd_target pmac_xcoff_vec =
   /* back end data */
   (void *) &bfd_pmac_xcoff_backend_data,
 };
-
Index: bfd/dwarf1.c
===================================================================
RCS file: /cvs/src/src/bfd/dwarf1.c,v
retrieving revision 1.7
diff -u -p -r1.7 dwarf1.c
--- dwarf1.c	2001/05/11 09:55:02	1.7
+++ dwarf1.c	2001/08/09 13:54:39
@@ -1,5 +1,5 @@
 /* DWARF 1 find nearest line (_bfd_dwarf1_find_nearest_line).
-   Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
 
 Written by Gavin Romig-Koch of Cygnus Solutions (gavin@cygnus.com).
 
@@ -125,6 +125,18 @@ struct linenumber {
 
 /* Find the form of an attr, from the attr field.  */
 #define FORM_FROM_ATTR(attr)	((attr) & 0xF)	/* Implicitly specified */
+
+static struct dwarf1_unit *alloc_dwarf1_unit PARAMS ((struct dwarf1_debug *));
+static struct dwarf1_func *alloc_dwarf1_func
+  PARAMS ((struct dwarf1_debug *, struct dwarf1_unit *));
+static boolean parse_die PARAMS ((bfd *, struct die_info *, char *));
+static boolean parse_line_table
+  PARAMS ((struct dwarf1_debug *, struct dwarf1_unit *));
+static boolean parse_functions_in_unit
+  PARAMS ((struct dwarf1_debug *, struct dwarf1_unit *));
+static boolean dwarf1_unit_find_nearest_line
+  PARAMS ((struct dwarf1_debug *, struct dwarf1_unit *, unsigned long,
+	   const char **, const char **, unsigned int *));
 
 /* Return a newly allocated dwarf1_unit.  It should be cleared and
    then attached into the 'stash' at 'stash->lastUnit'.  */
Index: bfd/dwarf2.c
===================================================================
RCS file: /cvs/src/src/bfd/dwarf2.c,v
retrieving revision 1.21
diff -u -p -r1.21 dwarf2.c
--- dwarf2.c	2001/08/08 11:17:34	1.21
+++ dwarf2.c	2001/08/09 13:54:40
@@ -173,6 +173,72 @@ struct comp_unit
   unsigned char addr_size;
 };
 
+/* This data structure holds the information of an abbrev.  */
+struct abbrev_info
+{
+  unsigned int number;		/* Number identifying abbrev.  */
+  enum dwarf_tag tag;		/* DWARF tag.  */
+  int has_children;		/* Boolean.  */
+  unsigned int num_attrs;	/* Number of attributes.  */
+  struct attr_abbrev *attrs;	/* An array of attribute descriptions.  */
+  struct abbrev_info *next;	/* Next in chain.  */
+};
+
+struct attr_abbrev
+{
+  enum dwarf_attribute name;
+  enum dwarf_form form;
+};
+
+#ifndef ABBREV_HASH_SIZE
+#define ABBREV_HASH_SIZE 121
+#endif
+#ifndef ATTR_ALLOC_CHUNK
+#define ATTR_ALLOC_CHUNK 4
+#endif
+
+static unsigned int read_1_byte PARAMS ((bfd *, char *));
+static int read_1_signed_byte PARAMS ((bfd *, char *));
+static unsigned int read_2_bytes PARAMS ((bfd *, char *));
+static unsigned int read_4_bytes PARAMS ((bfd *, char *));
+static unsigned int read_8_bytes PARAMS ((bfd *, char *));
+static char *read_n_bytes PARAMS ((bfd *, char *, unsigned int));
+static char *read_string PARAMS ((bfd *, char *, unsigned int *));
+static unsigned int read_unsigned_leb128
+  PARAMS ((bfd *, char *, unsigned int *));
+static int read_signed_leb128
+  PARAMS ((bfd *, char *, unsigned int *));
+static bfd_vma read_address PARAMS ((struct comp_unit *, char *));
+static struct abbrev_info *lookup_abbrev
+  PARAMS ((unsigned int, struct abbrev_info **));
+static struct abbrev_info **read_abbrevs
+  PARAMS ((bfd *, unsigned int, struct dwarf2_debug *));
+static char *read_attribute
+  PARAMS ((struct attribute *, struct attr_abbrev *,
+	   struct comp_unit *, char *));
+static void add_line_info
+  PARAMS ((struct line_info_table *, bfd_vma, char *,
+	   unsigned int, unsigned int, int));
+static char *concat_filename PARAMS ((struct line_info_table *, unsigned int));
+static void arange_add PARAMS ((struct comp_unit *, bfd_vma, bfd_vma));
+static struct line_info_table *decode_line_info
+  PARAMS ((struct comp_unit *, struct dwarf2_debug *));
+static boolean lookup_address_in_line_info_table
+  PARAMS ((struct line_info_table *, bfd_vma, const char **, unsigned int *));
+static boolean lookup_address_in_function_table
+  PARAMS ((struct funcinfo *, bfd_vma, const char **));
+static boolean scan_unit_for_functions PARAMS ((struct comp_unit *));
+static bfd_vma find_rela_addend
+  PARAMS ((bfd *, asection *, bfd_size_type, asymbol**));
+static struct comp_unit *parse_comp_unit
+  PARAMS ((bfd *, struct dwarf2_debug *, bfd_vma, unsigned int));
+static boolean comp_unit_contains_address
+  PARAMS ((struct comp_unit *, bfd_vma));
+static boolean comp_unit_find_nearest_line
+  PARAMS ((struct comp_unit *, bfd_vma, const char **, const char **,
+	   unsigned int *, struct dwarf2_debug *));
+static asection *find_debug_info PARAMS ((bfd *, asection *));
+
 /* VERBATIM
    The following function up to the END VERBATIM mark are
    copied directly from dwarf2read.c.  */
@@ -356,30 +422,6 @@ read_address (unit, buf)
       abort ();
     }
 }
-
-/* This data structure holds the information of an abbrev.  */
-struct abbrev_info
-{
-  unsigned int number;		/* Number identifying abbrev.  */
-  enum dwarf_tag tag;		/* DWARF tag.  */
-  int has_children;		/* Boolean.  */
-  unsigned int num_attrs;	/* Number of attributes.  */
-  struct attr_abbrev *attrs;	/* An array of attribute descriptions.  */
-  struct abbrev_info *next;	/* Next in chain.  */
-};
-
-struct attr_abbrev
-{
-  enum dwarf_attribute name;
-  enum dwarf_form form;
-};
-
-#ifndef ABBREV_HASH_SIZE
-#define ABBREV_HASH_SIZE 121
-#endif
-#ifndef ATTR_ALLOC_CHUNK
-#define ATTR_ALLOC_CHUNK 4
-#endif
 
 /* Lookup an abbrev_info structure in the abbrev hash table.  */
 
Index: bfd/elf.c
===================================================================
RCS file: /cvs/src/src/bfd/elf.c,v
retrieving revision 1.75
diff -u -p -r1.75 elf.c
--- elf.c	2001/08/01 16:10:42	1.75
+++ elf.c	2001/08/09 13:54:44
@@ -57,10 +57,16 @@ static INLINE int sym_is_global PARAMS (
 static boolean elf_map_symbols PARAMS ((bfd *));
 static bfd_size_type get_program_header_size PARAMS ((bfd *));
 static boolean elfcore_read_notes PARAMS ((bfd *, bfd_vma, bfd_vma));
-static boolean elf_find_function PARAMS ((bfd *, asection *,
-                                         asymbol **,
-                                         bfd_vma, const char **,
-                                         const char **));
+static boolean elf_find_function PARAMS ((bfd *, asection *, asymbol **,
+					  bfd_vma, const char **,
+					  const char **));
+static int elfcore_make_pid PARAMS ((bfd *));
+static boolean elfcore_maybe_make_sect PARAMS ((bfd *, char *, asection *));
+static boolean elfcore_make_note_pseudosection PARAMS ((bfd *, char *,
+							Elf_Internal_Note *));
+static boolean elfcore_grok_prfpreg PARAMS ((bfd *, Elf_Internal_Note *));
+static boolean elfcore_grok_prxfpreg PARAMS ((bfd *, Elf_Internal_Note *));
+static boolean elfcore_grok_note PARAMS ((bfd *, Elf_Internal_Note *));
 
 /* Swap version information in and out.  The version information is
    currently size independent.  If that ever changes, this code will
@@ -5424,6 +5430,8 @@ _bfd_elfcore_make_pseudosection (abfd, n
 */
 
 #if defined (HAVE_PRSTATUS_T)
+static boolean elfcore_grok_prstatus PARAMS ((bfd *, Elf_Internal_Note *));
+
 static boolean
 elfcore_grok_prstatus (abfd, note)
      bfd *abfd;
@@ -5569,6 +5577,7 @@ _bfd_elfcore_strndup (abfd, start, max)
 }
 
 #if defined (HAVE_PRPSINFO_T) || defined (HAVE_PSINFO_T)
+static boolean elfcore_grok_psinfo PARAMS ((bfd *, Elf_Internal_Note *));
 
 static boolean
 elfcore_grok_psinfo (abfd, note)
Index: bfd/elf32-gen.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-gen.c,v
retrieving revision 1.5
diff -u -p -r1.5 elf32-gen.c
--- elf32-gen.c	2001/03/27 02:05:18	1.5
+++ elf32-gen.c	2001/08/09 13:54:44
@@ -40,6 +40,13 @@ static reloc_howto_type dummy =
 	 0,			/* dst_mask */
 	 false);		/* pcrel_offset */
 
+static void elf_generic_info_to_howto
+  PARAMS ((bfd *, arelent *, Elf32_Internal_Rela *));
+static void elf_generic_info_to_howto_rel
+  PARAMS ((bfd *, arelent *, Elf32_Internal_Rel *));
+static boolean elf32_generic_link_add_symbols
+  PARAMS ((bfd *, struct bfd_link_info *));
+
 static void
 elf_generic_info_to_howto (abfd, bfd_reloc, elf_reloc)
      bfd *abfd ATTRIBUTE_UNUSED;
Index: bfd/elf32-i386.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-i386.c,v
retrieving revision 1.37
diff -u -p -r1.37 elf32-i386.c
--- elf32-i386.c	2001/08/03 05:10:39	1.37
+++ elf32-i386.c	2001/08/09 13:54:46
@@ -41,6 +41,12 @@ static boolean elf_i386_create_dynamic_s
 static boolean elf_i386_check_relocs
   PARAMS ((bfd *, struct bfd_link_info *, asection *,
 	   const Elf_Internal_Rela *));
+static asection *elf_i386_gc_mark_hook
+  PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Rela *,
+	   struct elf_link_hash_entry *, Elf_Internal_Sym *));
+static boolean elf_i386_gc_sweep_hook
+  PARAMS ((bfd *, struct bfd_link_info *, asection *,
+	   const Elf_Internal_Rela *));
 static boolean elf_i386_adjust_dynamic_symbol
   PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
 static boolean allocate_plt_and_got_and_discard_relocs
@@ -55,6 +61,8 @@ static boolean elf_i386_finish_dynamic_s
 	   Elf_Internal_Sym *));
 static boolean elf_i386_finish_dynamic_sections
   PARAMS ((bfd *, struct bfd_link_info *));
+static boolean elf_i386_fake_sections
+  PARAMS ((bfd *, Elf32_Internal_Shdr *, asection *));
 
 #define USE_REL	1		/* 386 uses REL relocations instead of RELA */
 
Index: bfd/elf32-ppc.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-ppc.c,v
retrieving revision 1.22
diff -u -p -r1.22 elf32-ppc.c
--- elf32-ppc.c	2001/03/08 21:04:00	1.22
+++ elf32-ppc.c	2001/08/09 13:54:48
@@ -38,6 +38,9 @@ static reloc_howto_type *ppc_elf_reloc_t
 static void ppc_elf_info_to_howto
   PARAMS ((bfd *abfd, arelent *cache_ptr, Elf32_Internal_Rela *dst));
 static void ppc_elf_howto_init PARAMS ((void));
+static int ppc_elf_sort_rela PARAMS ((const PTR, const PTR));
+static boolean ppc_elf_relax_section
+  PARAMS ((bfd *, asection *, struct bfd_link_info *, boolean *));
 static bfd_reloc_status_type ppc_elf_addr16_ha_reloc
   PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
 static boolean ppc_elf_set_private_flags PARAMS ((bfd *, flagword));
@@ -989,8 +992,8 @@ ppc_elf_howto_init ()
 
 static int
 ppc_elf_sort_rela (arg1, arg2)
-     const void *arg1;
-     const void *arg2;
+     const PTR arg1;
+     const PTR arg2;
 {
   const Elf_Internal_Rela **rela1 = (const Elf_Internal_Rela**) arg1;
   const Elf_Internal_Rela **rela2 = (const Elf_Internal_Rela**) arg2;
Index: bfd/elflink.h
===================================================================
RCS file: /cvs/src/src/bfd/elflink.h,v
retrieving revision 1.99
diff -u -p -r1.99 elflink.h
--- elflink.h	2001/06/29 07:00:33	1.99
+++ elflink.h	2001/08/09 13:54:53
@@ -30,6 +30,10 @@ struct elf_info_failed
   struct bfd_elf_version_tree *verdefs;
 };
 
+static boolean is_global_data_symbol_definition
+  PARAMS ((bfd *, Elf_Internal_Sym *));
+static boolean elf_link_is_defined_archive_symbol
+  PARAMS ((bfd *, carsym *));
 static boolean elf_link_add_object_symbols
   PARAMS ((bfd *, struct bfd_link_info *));
 static boolean elf_link_add_archive_symbols
@@ -54,6 +58,8 @@ static boolean elf_collect_hash_codes
   PARAMS ((struct elf_link_hash_entry *, PTR));
 static boolean elf_link_read_relocs_from_section
   PARAMS ((bfd *, Elf_Internal_Shdr *, PTR, Elf_Internal_Rela *));
+static size_t compute_bucket_count
+  PARAMS ((struct bfd_link_info *));
 static void elf_link_output_relocs
   PARAMS ((bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *));
 static boolean elf_link_size_reloc_section
@@ -1933,8 +1939,7 @@ elf_link_add_object_symbols (abfd, info)
 		  && ! new_weakdef
 		  && h->weakdef->dynindx == -1)
 		{
-		  if (! _bfd_elf_link_record_dynamic_symbol (info,
-							     h->weakdef))
+		  if (! _bfd_elf_link_record_dynamic_symbol (info, h->weakdef))
 		    goto error_return;
 		}
 	    }
@@ -2603,7 +2608,6 @@ NAME(_bfd_elf,link_read_relocs) (abfd, o
 /* Record an assignment to a symbol made by a linker script.  We need
    this in case some dynamic object refers to this symbol.  */
 
-/*ARGSUSED*/
 boolean
 NAME(bfd_elf,record_link_assignment) (output_bfd, info, name, provide)
      bfd *output_bfd ATTRIBUTE_UNUSED;
@@ -2621,7 +2625,7 @@ NAME(bfd_elf,record_link_assignment) (ou
     return false;
 
   if (h->root.type == bfd_link_hash_new)
-    h->elf_link_hash_flags &=~ ELF_LINK_NON_ELF;
+    h->elf_link_hash_flags &= ~ELF_LINK_NON_ELF;
 
   /* If this symbol is being provided by the linker script, and it is
      currently defined by a dynamic object, but not by a regular
@@ -2643,7 +2647,7 @@ NAME(bfd_elf,record_link_assignment) (ou
 
   h->elf_link_hash_flags |= ELF_LINK_HASH_DEF_REGULAR;
 
-  /* When possible, keep the original type of the symbol */
+  /* When possible, keep the original type of the symbol.  */
   if (h->type == STT_NOTYPE)
     h->type = STT_OBJECT;
 
@@ -3139,7 +3143,7 @@ NAME(bfd_elf,size_dynamic_sections) (out
 	  defaux.vda_next = 0;
 
 	  _bfd_elf_swap_verdef_out (output_bfd, &def,
-				    (Elf_External_Verdef *)p);
+				    (Elf_External_Verdef *) p);
 	  p += sizeof (Elf_External_Verdef);
 	  _bfd_elf_swap_verdaux_out (output_bfd, &defaux,
 				     (Elf_External_Verdaux *) p);
@@ -4723,7 +4727,7 @@ elf_bfd_final_link (abfd, info)
     {
       Elf_Internal_Sym sym;
       Elf_External_Sym *dynsym =
-	(Elf_External_Sym *)finfo.dynsym_sec->contents;
+	(Elf_External_Sym *) finfo.dynsym_sec->contents;
       long last_local = 0;
 
       /* Write out the section symbols for the output sections.  */
@@ -5113,8 +5117,7 @@ elf_link_output_sym (finfo, name, elfsym
   else
     {
       elfsym->st_name = (unsigned long) _bfd_stringtab_add (finfo->symstrtab,
-							    name, true,
-							    false);
+							    name, true, false);
       if (elfsym->st_name == (unsigned long) -1)
 	return false;
     }
@@ -5385,8 +5388,8 @@ elf_link_output_extsym (h, data)
      finish_dynamic_symbol routine gets through with it.  */
   if (sym.st_shndx == SHN_UNDEF
       && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) != 0
-      && (ELF_ST_BIND(sym.st_info) == STB_GLOBAL
-	  || ELF_ST_BIND(sym.st_info) == STB_WEAK))
+      && (ELF_ST_BIND (sym.st_info) == STB_GLOBAL
+	  || ELF_ST_BIND (sym.st_info) == STB_WEAK))
     {
       int bindtype;
 
@@ -5400,7 +5403,7 @@ elf_link_output_extsym (h, data)
   /* If a symbol is not defined locally, we clear the visibility
      field.  */
   if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
-    sym.st_other ^= ELF_ST_VISIBILITY(sym.st_other);
+    sym.st_other ^= ELF_ST_VISIBILITY (sym.st_other);
 
   /* If this symbol should be put in the .dynsym section, then put it
      there now.  We have already know the symbol index.  We also fill
@@ -6012,9 +6015,8 @@ elf_link_input_bfd (finfo, input_bfd)
 			     since it is needed by a reloc, we
 			     must output it now.  */
 			  link = symtab_hdr->sh_link;
-			  name = bfd_elf_string_from_elf_section (input_bfd,
-								  link,
-								  isym->st_name);
+			  name = (bfd_elf_string_from_elf_section
+				  (input_bfd, link, isym->st_name));
 			  if (name == NULL)
 			    return false;
 
@@ -6029,7 +6031,8 @@ elf_link_input_bfd (finfo, input_bfd)
 			  if (! finfo->info->relocateable)
 			    isym->st_value += osec->vma;
 
-			  finfo->indices[r_symndx] = bfd_get_symcount (output_bfd);
+			  finfo->indices[r_symndx]
+			    = bfd_get_symcount (output_bfd);
 
 			  if (! elf_link_output_sym (finfo, name, isym, sec))
 			    return false;
@@ -6044,7 +6047,8 @@ elf_link_input_bfd (finfo, input_bfd)
 
 	      /* Swap out the relocs.  */
               if (bed->elf_backend_emit_relocs
-                  && ! (finfo->info->relocateable || finfo->info->emitrelocations))
+                  && !(finfo->info->relocateable
+		       || finfo->info->emitrelocations))
                 reloc_emitter = bed->elf_backend_emit_relocs;
               else
                 reloc_emitter = elf_link_output_relocs;
@@ -6296,10 +6300,10 @@ elf_create_pointer_linker_section (abfd,
 
   BFD_ASSERT (lsect != NULL);
 
-  /* Is this a global symbol? */
+  /* Is this a global symbol?  */
   if (h != NULL)
     {
-      /* Has this symbol already been allocated, if so, our work is done */
+      /* Has this symbol already been allocated?  If so, our work is done.  */
       if (_bfd_elf_find_pointer_linker_section (h->linker_section_pointer,
 						rel->r_addend,
 						lsect->which))
@@ -6316,29 +6320,30 @@ elf_create_pointer_linker_section (abfd,
       if (lsect->rel_section)
 	lsect->rel_section->_raw_size += sizeof (Elf_External_Rela);
     }
-
-  else  /* Allocation of a pointer to a local symbol */
+  else
     {
+      /* Allocation of a pointer to a local symbol.  */
       elf_linker_section_pointers_t **ptr = elf_local_ptr_offsets (abfd);
 
-      /* Allocate a table to hold the local symbols if first time */
+      /* Allocate a table to hold the local symbols if first time.  */
       if (!ptr)
 	{
 	  unsigned int num_symbols = elf_tdata (abfd)->symtab_hdr.sh_info;
 	  register unsigned int i;
 
 	  ptr = (elf_linker_section_pointers_t **)
-	    bfd_alloc (abfd, num_symbols * sizeof (elf_linker_section_pointers_t *));
+	    bfd_alloc (abfd,
+		       num_symbols * sizeof (elf_linker_section_pointers_t *));
 
 	  if (!ptr)
 	    return false;
 
 	  elf_local_ptr_offsets (abfd) = ptr;
 	  for (i = 0; i < num_symbols; i++)
-	    ptr[i] = (elf_linker_section_pointers_t *)0;
+	    ptr[i] = (elf_linker_section_pointers_t *) 0;
 	}
 
-      /* Has this symbol already been allocated, if so, our work is done */
+      /* Has this symbol already been allocated?  If so, our work is done.  */
       if (_bfd_elf_find_pointer_linker_section (ptr[r_symndx],
 						rel->r_addend,
 						lsect->which))
@@ -6356,8 +6361,8 @@ elf_create_pointer_linker_section (abfd,
 	}
     }
 
-  /* Allocate space for a pointer in the linker section, and allocate a new pointer record
-     from internal memory.  */
+  /* Allocate space for a pointer in the linker section, and allocate
+     a new pointer record from internal memory.  */
   BFD_ASSERT (ptr_linker_section_ptr != NULL);
   linker_section_ptr = (elf_linker_section_pointers_t *)
     bfd_alloc (abfd, sizeof (elf_linker_section_pointers_t));
@@ -6374,17 +6379,19 @@ elf_create_pointer_linker_section (abfd,
 #if 0
   if (lsect->hole_size && lsect->hole_offset < lsect->max_hole_offset)
     {
-      linker_section_ptr->offset = lsect->section->_raw_size - lsect->hole_size + (ARCH_SIZE / 8);
+      linker_section_ptr->offset = (lsect->section->_raw_size
+				    - lsect->hole_size + (ARCH_SIZE / 8));
       lsect->hole_offset += ARCH_SIZE / 8;
       lsect->sym_offset  += ARCH_SIZE / 8;
-      if (lsect->sym_hash)	/* Bump up symbol value if needed */
+      if (lsect->sym_hash)
 	{
+	  /* Bump up symbol value if needed.  */
 	  lsect->sym_hash->root.u.def.value += ARCH_SIZE / 8;
 #ifdef DEBUG
 	  fprintf (stderr, "Bump up %s by %ld, current value = %ld\n",
 		   lsect->sym_hash->root.root.string,
-		   (long)ARCH_SIZE / 8,
-		   (long)lsect->sym_hash->root.u.def.value);
+		   (long) ARCH_SIZE / 8,
+		   (long) lsect->sym_hash->root.u.def.value);
 #endif
 	}
     }
@@ -6395,8 +6402,10 @@ elf_create_pointer_linker_section (abfd,
   lsect->section->_raw_size += ARCH_SIZE / 8;
 
 #ifdef DEBUG
-  fprintf (stderr, "Create pointer in linker section %s, offset = %ld, section size = %ld\n",
-	   lsect->name, (long)linker_section_ptr->offset, (long)lsect->section->_raw_size);
+  fprintf (stderr,
+	   "Create pointer in linker section %s, offset = %ld, section size = %ld\n",
+	   lsect->name, (long) linker_section_ptr->offset,
+	   (long) lsect->section->_raw_size);
 #endif
 
   return true;
@@ -6412,7 +6421,8 @@ elf_create_pointer_linker_section (abfd,
 /* Fill in the address for a pointer generated in a linker section.  */
 
 bfd_vma
-elf_finish_pointer_linker_section (output_bfd, input_bfd, info, lsect, h, relocation, rel, relative_reloc)
+elf_finish_pointer_linker_section (output_bfd, input_bfd, info, lsect, h,
+				   relocation, rel, relative_reloc)
      bfd *output_bfd;
      bfd *input_bfd;
      struct bfd_link_info *info;
@@ -6426,11 +6436,13 @@ elf_finish_pointer_linker_section (outpu
 
   BFD_ASSERT (lsect != NULL);
 
-  if (h != NULL)		/* global symbol */
+  if (h != NULL)
     {
-      linker_section_ptr = _bfd_elf_find_pointer_linker_section (h->linker_section_pointer,
-								 rel->r_addend,
-								 lsect->which);
+      /* Handle global symbol.  */
+      linker_section_ptr = (_bfd_elf_find_pointer_linker_section
+			    (h->linker_section_pointer,
+			     rel->r_addend,
+			     lsect->which));
 
       BFD_ASSERT (linker_section_ptr != NULL);
 
@@ -6450,23 +6462,27 @@ elf_finish_pointer_linker_section (outpu
 	  if (!linker_section_ptr->written_address_p)
 	    {
 	      linker_section_ptr->written_address_p = true;
-	      bfd_put_ptr (output_bfd, relocation + linker_section_ptr->addend,
-			  lsect->section->contents + linker_section_ptr->offset);
+	      bfd_put_ptr (output_bfd,
+			   relocation + linker_section_ptr->addend,
+			   (lsect->section->contents
+			    + linker_section_ptr->offset));
 	    }
 	}
     }
-  else				/* local symbol */
+  else
     {
+      /* Handle local symbol.  */
       unsigned long r_symndx = ELF_R_SYM (rel->r_info);
       BFD_ASSERT (elf_local_ptr_offsets (input_bfd) != NULL);
       BFD_ASSERT (elf_local_ptr_offsets (input_bfd)[r_symndx] != NULL);
-      linker_section_ptr = _bfd_elf_find_pointer_linker_section (elf_local_ptr_offsets (input_bfd)[r_symndx],
-								 rel->r_addend,
-								 lsect->which);
+      linker_section_ptr = (_bfd_elf_find_pointer_linker_section
+			    (elf_local_ptr_offsets (input_bfd)[r_symndx],
+			     rel->r_addend,
+			     lsect->which));
 
       BFD_ASSERT (linker_section_ptr != NULL);
 
-      /* Write out pointer if it hasn't been rewritten out before */
+      /* Write out pointer if it hasn't been rewritten out before.  */
       if (!linker_section_ptr->written_address_p)
 	{
 	  linker_section_ptr->written_address_p = true;
@@ -6480,18 +6496,23 @@ elf_finish_pointer_linker_section (outpu
 	      struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
 	      unsigned int i;
 
-	      outrel = (Elf_Internal_Rela *) bfd_zmalloc (sizeof (Elf_Internal_Rela)
-							  * bed->s->int_rels_per_ext_rel);
+	      outrel = (Elf_Internal_Rela *)
+		bfd_zmalloc (sizeof (Elf_Internal_Rela)
+			     * bed->s->int_rels_per_ext_rel);
 	      if (outrel == NULL)
 		{
 		  (*_bfd_error_handler) (_("Error: out of memory"));
 		  return 0;
 		}
 
-	      /* We need to generate a relative reloc for the dynamic linker.  */
+	      /* We need to generate a relative reloc for the dynamic
+		 linker.  */
 	      if (!srel)
-		lsect->rel_section = srel = bfd_get_section_by_name (elf_hash_table (info)->dynobj,
-								     lsect->rel_name);
+		{
+		  srel = bfd_get_section_by_name (elf_hash_table (info)->dynobj,
+						  lsect->rel_name);
+		  lsect->rel_section = srel;
+		}
 
 	      BFD_ASSERT (srel != NULL);
 
@@ -6504,7 +6525,8 @@ elf_finish_pointer_linker_section (outpu
 	      elf_swap_reloca_out (output_bfd, outrel,
 				   (((Elf_External_Rela *)
 				     lsect->section->contents)
-				    + elf_section_data (lsect->section)->rel_count));
+				    + (elf_section_data (lsect->section)
+				       ->rel_count)));
 	      ++elf_section_data (lsect->section)->rel_count;
 	      
 	      free (outrel);
@@ -6518,8 +6540,9 @@ elf_finish_pointer_linker_section (outpu
 		- lsect->sym_offset);
 
 #ifdef DEBUG
-  fprintf (stderr, "Finish pointer in linker section %s, offset = %ld (0x%lx)\n",
-	   lsect->name, (long)relocation, (long)relocation);
+  fprintf (stderr,
+	   "Finish pointer in linker section %s, offset = %ld (0x%lx)\n",
+	   lsect->name, (long) relocation, (long) relocation);
 #endif
 
   /* Subtract out the addend, because it will get added back in by the normal
@@ -6806,7 +6829,6 @@ elf_gc_propagate_vtable_entries_used (h,
       size_t n;
       boolean *cu, *pu;
 
-      
       /* Or the parent's entries into ours.  */
       cu = h->vtable_entries_used;
       cu[-1] = true;
@@ -6855,7 +6877,7 @@ elf_gc_smash_unused_vtentry_relocs (h, o
   relstart = (NAME(_bfd_elf,link_read_relocs)
 	      (sec->owner, sec, NULL, (Elf_Internal_Rela *) NULL, true));
   if (!relstart)
-    return *(boolean *)okp = false;
+    return *(boolean *) okp = false;
   bed = get_elf_backend_data (sec->owner);
   file_align = bed->s->file_align;
 
@@ -6930,7 +6952,7 @@ elf_gc_sections (abfd, info)
     }
 
   /* ... and mark SEC_EXCLUDE for those that go.  */
-  if (!elf_gc_sweep(info, get_elf_backend_data (abfd)->gc_sweep_hook))
+  if (!elf_gc_sweep (info, get_elf_backend_data (abfd)->gc_sweep_hook))
     return false;
 
   return true;
@@ -6973,7 +6995,7 @@ elf_gc_record_vtinherit (abfd, sec, h, o
 
   (*_bfd_error_handler) ("%s: %s+%lu: No symbol found for INHERIT",
 			 bfd_get_filename (abfd), sec->name,
-			 (unsigned long)offset);
+			 (unsigned long) offset);
   bfd_set_error (bfd_error_invalid_operation);
   return false;
 
@@ -7037,8 +7059,9 @@ elf_gc_record_vtentry (abfd, sec, h, add
 	    {
 	      size_t oldbytes;
 
-	      oldbytes = (h->vtable_entries_size/file_align + 1) * sizeof (boolean);
-	      memset (((char *)ptr) + oldbytes, 0, bytes - oldbytes);
+	      oldbytes = ((h->vtable_entries_size / file_align + 1)
+			  * sizeof (boolean));
+	      memset (((char *) ptr) + oldbytes, 0, bytes - oldbytes);
 	    }
 	}
       else
Index: bfd/merge.c
===================================================================
RCS file: /cvs/src/src/bfd/merge.c,v
retrieving revision 1.3
diff -u -p -r1.3 merge.c
--- merge.c	2001/05/11 12:23:46	1.3
+++ merge.c	2001/08/09 13:54:54
@@ -108,6 +108,12 @@ static struct sec_merge_hash_entry *sec_
 	   struct sec_merge_sec_info *));
 static boolean sec_merge_emit
   PARAMS ((bfd *, struct sec_merge_hash_entry *));
+static int cmplengthentry PARAMS ((const PTR, const PTR));
+static int last4_eq PARAMS ((const PTR, const PTR));
+static int last_eq PARAMS ((const PTR, const PTR));
+static boolean record_section
+  PARAMS ((struct sec_merge_info *, struct sec_merge_sec_info *));
+static void merge_strings PARAMS ((struct sec_merge_info *));
 
 /* Routine to create an entry in a section merge hashtab.  */
 
@@ -475,7 +481,8 @@ cmplengthentry (a, b)
 
 static int
 last4_eq (a, b)
-     const void *a, *b;
+     const PTR a;
+     const PTR b;
 {
   struct sec_merge_hash_entry * A = (struct sec_merge_hash_entry *) a;
   struct sec_merge_hash_entry * B = (struct sec_merge_hash_entry *) b;
@@ -502,7 +509,8 @@ last4_eq (a, b)
 
 static int
 last_eq (a, b)
-     const void *a, *b;
+     const PTR a;
+     const PTR b;
 {
   struct sec_merge_hash_entry * A = (struct sec_merge_hash_entry *) a;
   struct sec_merge_hash_entry * B = (struct sec_merge_hash_entry *) b;
Index: bfd/syms.c
===================================================================
RCS file: /cvs/src/src/bfd/syms.c,v
retrieving revision 1.10
diff -u -p -r1.10 syms.c
--- syms.c	2001/07/05 18:27:55	1.10
+++ syms.c	2001/08/09 13:54:57
@@ -312,6 +312,7 @@ CODE_FRAGMENT
 #include "aout/stab_gnu.h"
 
 static char coff_section_type PARAMS ((const char *));
+static int cmpindexentry PARAMS ((const PTR, const PTR));
 
 /*
 DOCDD


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]