* section.c (bfd_section_list_remove): Don't clear s->next.

(bfd_section_list_append): Always init s->prev.
	(bfd_section_list_prepend): Define.
	(bfd_section_list_insert_after): Minor optimization.
	(bfd_section_removed_from_list): Rewrite.
	* elf.c (assign_section_numbers): Simplify list traversal now that
	bfd_section_list_remove doesn't destroy removed section next ptr.
	* sunos.c (sunos_add_dynamic_symbols): Likewise.
	* elfxx-ia64.c (elfNN_ia64_object_p): Use bfd_section_list_prepend.
	* xcofflink.c (_bfd_xcoff_bfd_final_link): Simplify list traversal.
	* bfd-in2.h: Regenerate.
This commit is contained in:
Alan Modra
2005-05-03 17:05:51 +00:00
parent c1d05a606c
commit 04dd166740
7 changed files with 75 additions and 30 deletions

View File

@@ -859,11 +859,10 @@ sunos_add_dynamic_symbols (bfd *abfd,
abfd->sections = NULL;
else
{
asection *s, *n;
asection *s;
for (s = abfd->sections; s != NULL; s = n)
for (s = abfd->sections; s != NULL; s = s->next)
{
n = s->next;
if ((s->flags & SEC_LINKER_CREATED) == 0)
bfd_section_list_remove (abfd, s);
}