aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c14
2 files changed, 14 insertions, 5 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 576118d..2913ea7 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,10 @@
Fri May 13 13:00:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+ * ldlang.c (print_output_section_statement): Change ``no attached
+ output section'' message slightly.
+ (lang_do_assignments): Don't recurse down if there is no real
+ section.
+
* config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
match corresponding change in emulation templates.
* config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 98a0e8d..a639fd1 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1135,7 +1135,7 @@ print_output_section_statement (output_section_statement)
}
else
{
- fprintf (config.map_file, "No attached output section");
+ fprintf (config.map_file, " (no attached output section)");
}
print_nl ();
if (output_section_statement->load_base)
@@ -1912,11 +1912,15 @@ lang_do_assignments (s, output_section_statement, fill, dot)
case lang_output_section_statement_enum:
{
lang_output_section_statement_type *os =
- &(s->output_section_statement);
+ &(s->output_section_statement);
- dot = os->bfd_section->vma;
- (void) lang_do_assignments (os->children.head, os, os->fill, dot);
- dot = os->bfd_section->vma + os->bfd_section->_raw_size;
+ if (os->bfd_section != NULL)
+ {
+ dot = os->bfd_section->vma;
+ (void) lang_do_assignments (os->children.head, os,
+ os->fill, dot);
+ dot = os->bfd_section->vma + os->bfd_section->_raw_size;
+ }
}
break;
case lang_wild_statement_enum: