diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/emultempl/mmo.em | 11 |
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) |