diff options
-rw-r--r-- | ld/ChangeLog | 18 | ||||
-rw-r--r-- | ld/ldmain.c | 49 |
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); - } - } + } } |