aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/mmo.em11
2 files changed, 16 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 876110f..1443cc6 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2002-07-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * emultempl/mmo.em (mmo_place_orphan): Handle case of no .text
+ output section.
+
2002-07-16 Denis Chertykov <denisc@overta.ru>
Nick Clifton <nickc@redhat.com>
Frank Ch. Eigler <fche@redhat.com>
diff --git a/ld/emultempl/mmo.em b/ld/emultempl/mmo.em
index d8675bf..23bab16 100644
--- a/ld/emultempl/mmo.em
+++ b/ld/emultempl/mmo.em
@@ -152,6 +152,17 @@ mmo_place_orphan (file, s)
/* Restore the global list pointer. */
stat_ptr = old;
+ /* We need an output section for .text as a root, so if there was none
+ (might happen with a peculiar linker script such as in "map
+ addresses", map-address.exp), we grab the output section created
+ above. */
+ if (hold_text.os == NULL)
+ {
+ if (os == NULL)
+ return false;
+ hold_text.os = os;
+ }
+
snew = os->bfd_section;
bfd_section = place->os->bfd_section;
if (place->section == NULL && bfd_section == NULL)