* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't

bomb on /DISCARD/ input section.
	* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
	* emultempl/mmo.em (mmo_place_orphan): Likewise.
This commit is contained in:
Alan Modra 2002-07-20 13:41:11 +00:00
parent c0647bfc65
commit 25844aaec2
4 changed files with 14 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2002-07-20 Alan Modra <amodra@bigpond.net.au>
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
bomb on /DISCARD/ input section.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
2002-07-19 Hans-Peter Nilsson <hp@bitrange.com>
* emultempl/mmo.em (mmo_place_orphan): Handle case of no .text

View file

@ -1249,7 +1249,7 @@ gld${EMULATION_NAME}_place_orphan (file, s)
/* Restore the global list pointer. */
stat_ptr = old;
if (place != NULL)
if (place != NULL && os->bfd_section != NULL)
{
asection *snew, **pps;

View file

@ -152,6 +152,11 @@ mmo_place_orphan (file, s)
/* Restore the global list pointer. */
stat_ptr = old;
snew = os->bfd_section;
if (snew == NULL)
/* /DISCARD/ section. */
return true;
/* 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
@ -163,7 +168,6 @@ mmo_place_orphan (file, s)
hold_text.os = os;
}
snew = os->bfd_section;
bfd_section = place->os->bfd_section;
if (place->section == NULL && bfd_section == NULL)
bfd_section = output_prev_sec_find (place->os);

View file

@ -1668,7 +1668,7 @@ gld_${EMULATION_NAME}_place_orphan (file, s)
stat_ptr = old;
if (place != NULL)
if (place != NULL && os->bfd_section != NULL)
{
asection *snew, **pps;