aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog18
-rw-r--r--ld/ldmain.c49
2 files changed, 43 insertions, 24 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index b88a97f..5351027 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,21 @@
-Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com)
+Fri Mar 6 06:59:04 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * ldmain.c (Q_enter_file_symbols): now aliases work again
+
+Thu Mar 5 16:55:56 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
+ * ldexp.c (exp_print_tree): don't try and follow null pointers
+ around.
+ * ldgram.y: remove 11 shift reduce errors
+Fri Feb 28 08:17:45 1992 Steve Chamberlain (sac at thepub.cygnus.com)
+
+ * ldlang.c (size_input_section): don't move absolute sections
+ around!
+
+
+Thu Feb 27 09:20:41 1992 Steve Chamberlain (sac at thepub.cygnus.com)
+
* cplus-dem.c: yet another copy of this - maybe it should go into
libiberty ?
* ldgram.y: now -V and -v have different actions
diff --git a/ld/ldmain.c b/ld/ldmain.c
index a185a9c..c42c208 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -133,10 +133,10 @@ main (argc, argv)
int i;
check_v960( argc, argv );
- emulation = GLD960_EMULATION_NAME;
+ emulation = "gld960";
for ( i = 1; i < argc; i++ ){
if ( !strcmp(argv[i],"-Fcoff") ){
- emulation = LNK960_EMULATION_NAME;
+ emulation = "lnk960";
output_flavor = BFD_COFF_FORMAT;
break;
}
@@ -193,7 +193,7 @@ main (argc, argv)
if (config.map_filename)
{
- if (strcmp(config.map_filename[0],"-") == 0)
+ if (strcmp(config.map_filename, "-") == 0)
{
config.map_file = stdout;
}
@@ -239,10 +239,10 @@ main (argc, argv)
unlink(output_filename);
}
else { bfd_close(output_bfd); };
- return (!config.make_executable);
+ exit (!config.make_executable);
}
- return(0);
+ exit(0);
} /* main() */
@@ -430,37 +430,40 @@ lang_input_statement_type *entry;
asymbol **q ;
entry->common_section =
- bfd_make_section_old_way(entry->the_bfd, "COMMON");
+ bfd_make_section_old_way(entry->the_bfd, "COMMON");
ldlang_add_file(entry);
if (trace_files || option_v) {
- info("%I\n", entry);
- }
+ info("%I\n", entry);
+ }
total_symbols_seen += entry->symbol_count;
total_files_seen ++;
for (q = entry->asymbols; *q; q++)
+ {
+ asymbol *p = *q;
+
+ if (p->flags & BSF_INDIRECT)
{
- asymbol *p = *q;
+ add_indirect(q);
+ }
+ else if (p->flags & BSF_WARNING)
+ {
+ add_warning(p);
+ }
- if (p->section == &bfd_und_section
- || (p->flags & BSF_GLOBAL)
- || p->section == &bfd_com_section
- || (p->flags & BSF_CONSTRUCTOR))
- {
- Q_enter_global_ref(q);
- }
- if (p->flags & BSF_INDIRECT) {
- add_indirect(q);
- }
+ else if (p->section == &bfd_und_section
+ || (p->flags & BSF_GLOBAL)
+ || p->section == &bfd_com_section
+ || (p->flags & BSF_CONSTRUCTOR))
+ {
+ Q_enter_global_ref(q);
+ }
- if (p->flags & BSF_WARNING) {
- add_warning(p);
- }
- }
+ }
}