* ldlang.c (lang_output_section_statement_lookup): Initialize all
authorIan Lance Taylor <ian@airs.com>
Fri, 2 Apr 1993 22:34:38 +0000 (22:34 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 2 Apr 1993 22:34:38 +0000 (22:34 +0000)
fields of newly created structure.

ld/ChangeLog
ld/ldlang.c

index 6ce807f6d696ad1c87ecd9e2c53ac84e5fc9330a..28114f4111fa3c423d1e870e064946ed726caf2e 100644 (file)
@@ -1,3 +1,16 @@
+Fri Apr  2 14:33:52 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+       * ldlang.c (lang_output_section_statement_lookup): Initialize all
+       fields of newly created structure.
+
+Wed Mar 31 18:19:15 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+       * ldmain.c (g_switch_value): New variable.
+       * ldgram.y (OPTION_G, OPTION_Gval): New tokens.
+       (command_line_option): Accept -G and set g_switch_value.
+       * ldlex.l (COMMAND): Accept -G.
+       * ldlang.c (open_output): Call bfd_set_gp_size on new BFD.
+
 Tue Mar 30 09:40:25 1993  Steve Chamberlain  (sac@thepub.cygnus.com)
 
        Support for linking and loading at different places:
index 151fe58fa8ee1b2ee0d8af5a4d77a338118f595c..3f286f0e62626f1d2d727955051c9abb19620948 100644 (file)
@@ -94,6 +94,7 @@ extern args_type command_line;
 extern ld_config_type config;
 extern boolean had_script;
 extern boolean write_map;
+extern int g_switch_value;
 
 
 etree_type *base; /* Relocation base - or null */
@@ -476,6 +477,12 @@ DEFUN (lang_output_section_statement_lookup, (name),
       lookup->addr_tree = (etree_type *) NULL;
       lang_list_init (&lookup->children);
 
+      lookup->memspec = (CONST char *) NULL;
+      lookup->flags = 0;
+      lookup->subsection_alignment = -1;
+      lookup->section_alignment = -1;
+      lookup->load_base = (union etree_union *) NULL;
+
       lang_statement_append (&lang_output_section_statement,
                             (lang_statement_union_type *) lookup,
                             &lookup->next);
@@ -798,6 +805,7 @@ DEFUN (open_output, (name),
   bfd_set_arch_mach (output,
                     ldfile_output_architecture,
                     ldfile_output_machine);
+  bfd_set_gp_size (output, g_switch_value);
   return output;
 }