* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Return

`true' for SEC_EXCLUDE sections so that the generic code doesn't
	needlessly create an output_section_statement.  Treat a correctly
	named output_section_statement with NULL bfd_section as compatible.
This commit is contained in:
Alan Modra 2001-08-13 10:56:21 +00:00
parent fbad9a25db
commit 0f33d40bfc
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2001-08-13 Alan Modra <amodra@bigpond.net.au>
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Return
`true' for SEC_EXCLUDE sections so that the generic code doesn't
needlessly create an output_section_statement. Treat a correctly
named output_section_statement with NULL bfd_section as compatible.
2001-08-13 Hans-Peter Nilsson <hp@bitrange.com>
* emultempl/generic.em: Support EXTRA_EM_FILE.

View File

@ -1079,11 +1079,12 @@ gld${EMULATION_NAME}_place_orphan (file, s)
os = lang_output_section_find (secname);
if (os != NULL
&& os->bfd_section != NULL
&& ((s->flags ^ os->bfd_section->flags)
& (SEC_LOAD | SEC_ALLOC)) == 0)
&& (os->bfd_section == NULL
|| ((s->flags ^ os->bfd_section->flags)
& (SEC_LOAD | SEC_ALLOC)) == 0))
{
/* We have already placed a section with this name. */
/* We already have an output section statement with this
name, and its bfd section has compatible flags. */
wild_doit (&os->children, s, os, file);
return true;
}
@ -1112,7 +1113,7 @@ gld${EMULATION_NAME}_place_orphan (file, s)
(hold.os != NULL || (hold.os = lang_output_section_find (name)) != NULL)
if (s->flags & SEC_EXCLUDE)
return false;
return true;
place = NULL;
if ((s->flags & SEC_ALLOC) == 0)