diff options
-rw-r--r-- | ld/ChangeLog | 13 | ||||
-rw-r--r-- | ld/ldlang.c | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 6ce807f..28114f4 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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: diff --git a/ld/ldlang.c b/ld/ldlang.c index 151fe58..3f286f0 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -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; } |