* ldlang.c (unique_section_p): Pass section parm, return true on

group sections.
	(output_section_callback): Adjust.
	* ldlang.h (unique_section_p): Update prototype.
	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust.
This commit is contained in:
Alan Modra
2004-04-30 14:26:09 +00:00
parent 72adc23045
commit d0d6a25bf3
4 changed files with 19 additions and 4 deletions

View File

@@ -121,10 +121,17 @@ stat_alloc (size_t size)
}
bfd_boolean
unique_section_p (const char *secnam)
unique_section_p (const asection *sec)
{
struct unique_sections *unam;
const char *secnam;
if (link_info.relocatable
&& sec->owner != NULL
&& bfd_is_group_section (sec->owner, sec))
return TRUE;
secnam = sec->name;
for (unam = unique_section_list; unam; unam = unam->next)
if (wildcardp (unam->name)
? fnmatch (unam->name, secnam, 0) == 0
@@ -1262,7 +1269,7 @@ output_section_callback (lang_wild_statement_type *ptr,
lang_statement_union_type *before;
/* Exclude sections that match UNIQUE_SECTION_LIST. */
if (unique_section_p (bfd_get_section_name (file->the_bfd, section)))
if (unique_section_p (section))
return;
/* If the wild pattern was marked KEEP, the member sections