This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

misc ldlang.c tweaks


Fixes a buglet in map_input_to_output_sections.  lang_input_section
statements are created in the process of mapping files, and must
therefore already have an initialised output section.  There is no
need to call init_os for this statement type.  (Not that it causes any
harm besides minutely slowing down the linker.)

	* ldlang.c (init_os): Whitespace.
	(map_input_to_output_sections): Don't init_os for lang_input_section.
	(print_all_symbols): Remove forward declaration.  Convert to ISO C.

Index: ld/ldlang.c
===================================================================
RCS file: /cvs/src/src/ld/ldlang.c,v
retrieving revision 1.220
diff -u -p -r1.220 ldlang.c
--- ld/ldlang.c	5 Jun 2006 06:12:40 -0000	1.220
+++ ld/ldlang.c	6 Jun 2006 02:13:36 -0000
@@ -74,7 +74,6 @@ static bfd_boolean load_symbols (lang_in
 static struct bfd_hash_entry *lang_definedness_newfunc
  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
 static void insert_undefined (const char *);
-static void print_all_symbols (asection *);
 static bfd_boolean sort_def_symbol (struct bfd_link_hash_entry *, void *);
 static void print_statement (lang_statement_union_type *,
 			     lang_output_section_statement_type *);
@@ -1742,6 +1741,7 @@ init_os (lang_output_section_statement_t
     }
   s->bfd_section->output_section = s->bfd_section;
   s->bfd_section->output_offset = 0;
+
   if (!command_line.reduce_memory_overheads)
     {
       fat_section_userdata_type *new
@@ -1750,7 +1750,6 @@ init_os (lang_output_section_statement_t
       get_userdata (s->bfd_section) = new;
     }
 
-
   /* If there is a base address, make sure that any sections it might
      mention are initialized.  */
   if (s->addr_tree != NULL)
@@ -3152,8 +3151,9 @@ map_input_to_output_sections
 	  if (!(os->flags & SEC_NEVER_LOAD))
 	    os->bfd_section->flags |= SEC_ALLOC | SEC_LOAD;
 	  break;
-	case lang_fill_statement_enum:
 	case lang_input_section_enum:
+	  break;
+	case lang_fill_statement_enum:
 	case lang_object_symbols_statement_enum:
 	case lang_reloc_statement_enum:
 	case lang_padding_statement_enum:
@@ -3481,8 +3481,7 @@ print_one_symbol (struct bfd_link_hash_e
 }
 
 static void
-print_all_symbols (sec)
-     asection *sec;
+print_all_symbols (asection *sec)
 {
   struct fat_user_section_struct *ud = get_userdata (sec);
   struct map_symbol_def *def;

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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