diff options
author | Steve Chamberlain <sac@cygnus> | 1992-06-08 17:09:40 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1992-06-08 17:09:40 +0000 |
commit | ee4af9e83927dfa2b52dcde9a50db77abcf65729 (patch) | |
tree | 22c491389fb5012d841560597337ff1818bcf89a /ld/ldlang.c | |
parent | 6ba70f641e7f917da1a02235b8728ab425ee5905 (diff) | |
download | gdb-ee4af9e83927dfa2b52dcde9a50db77abcf65729.zip gdb-ee4af9e83927dfa2b52dcde9a50db77abcf65729.tar.gz gdb-ee4af9e83927dfa2b52dcde9a50db77abcf65729.tar.bz2 |
don't crash when provided empty symbol table
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r-- | ld/ldlang.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c index 66c8fbb..8984eb3 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -251,6 +251,7 @@ DEFUN(new_afile, (name, file_type, target), stat_ptr); lang_has_input_file = true; p->target = target; + p->complained = false; switch (file_type) { case lang_input_file_is_symbols_only_enum: p->filename = name; @@ -833,7 +834,7 @@ DEFUN_VOID(lang_place_undefineds) *def_ptr= def; def->name = ptr->name; def->section = &bfd_und_section; - Q_enter_global_ref(def_ptr); + Q_enter_global_ref(def_ptr, ptr->name); ptr = ptr->next; } } @@ -1080,6 +1081,7 @@ DEFUN(print_input_section,(in), print_nl(); /* Find all the symbols in this file defined in this section */ +if (in->ifile->symbol_count) { asymbol **p; for (p = in->ifile->asymbols; *p; p++) { @@ -1372,7 +1374,7 @@ DEFUN(lang_size_sections,(s, output_section_statement, prev, fill, case lang_output_section_statement_enum: { bfd_vma after; - lang_output_section_statement_type *os =&(s->output_section_statement); + lang_output_section_statement_type *os = &s->output_section_statement; if (os->bfd_section == &bfd_abs_section) { @@ -1506,8 +1508,7 @@ DEFUN(lang_size_sections,(s, output_section_statement, prev, fill, { relaxing = true; - - had_relax |= relax_section(prev); + had_relax = had_relax || relax_section(prev); relaxing = false; } @@ -2123,7 +2124,7 @@ DEFUN(create_symbol,(name, flags, section), def->section = section; *def_ptr = def; - Q_enter_global_ref(def_ptr); + Q_enter_global_ref(def_ptr, name); return def; } |