aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2002-07-19 02:56:59 +0000
committerHans-Peter Nilsson <hp@axis.com>2002-07-19 02:56:59 +0000
commit3595bd6e74cdfaa655365ac00ce111e9ae89548c (patch)
tree6d1edee3012b761c1d6b434d25a832e4ab6ae3a2 /ld/emultempl
parent9084e1dea4ed635155074dcfb96995d9f5ab219b (diff)
downloadgdb-3595bd6e74cdfaa655365ac00ce111e9ae89548c.zip
gdb-3595bd6e74cdfaa655365ac00ce111e9ae89548c.tar.gz
gdb-3595bd6e74cdfaa655365ac00ce111e9ae89548c.tar.bz2
* emultempl/mmo.em (mmo_place_orphan): Handle case of no .text
output section.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/mmo.em11
1 files changed, 11 insertions, 0 deletions
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)