From 2181f54fd8bcebf21905b3fc5cff5e8acfeab641 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 20 Nov 2001 15:31:10 +0000 Subject: [PATCH] * ldlang.c (walk_wild_section): Move sec == NULL case out of loop. --- ld/ChangeLog | 12 ++++++++---- ld/ldlang.c | 53 +++++++++++++++++++++++++--------------------------- 2 files changed, 33 insertions(+), 32 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 28be9d66984..ddece20c894 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,8 +1,12 @@ +2001-11-21 Alan Modra + + * ldlang.c (walk_wild_section): Move sec == NULL case out of loop. + 2001-11-20 Angela Marie Thomas * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Use NULL instead - of false when calling lang_size_sections. - (hppaelf_layout_sections_again): Likewise. + of false when calling lang_size_sections. + * emultempl/hppaelf.em (hppaelf_layout_sections_again): Likewise. 2001-11-15 Alan Modra @@ -56,7 +60,7 @@ Tue Nov 13 11:27:14 2001 Ross Alexander * configure.tgt (mips*el-*-netbsd*, mips*-*-netbsd*): Add support for targets. - + 2001-11-02 Nick Clifton * configure.in (ALL_LINGUAS): Add "fr" and "sv" @@ -68,7 +72,7 @@ Tue Nov 13 11:27:14 2001 Ross Alexander * configure.tgt (sh-*-linux): Set targ_emul, targ_extra_emuls as little endian default and to support big endian. - + 2001-11-01 Chris Demetriou * ld.texinfo (Options): Document new option, -nostdlib. diff --git a/ld/ldlang.c b/ld/ldlang.c index 40f109a94c0..fa52475898f 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -251,47 +251,44 @@ walk_wild_section (ptr, file, callback, data) struct wildcard_list *sec; sec = ptr->section_list; - do + if (sec == NULL) + (*callback) (ptr, sec, s, file, data); + + while (sec != NULL) { boolean skip = false; + struct name_list *list_tmp; - if (sec != NULL) + /* Don't process sections from files which were + excluded. */ + for (list_tmp = sec->spec.exclude_name_list; + list_tmp; + list_tmp = list_tmp->next) { - struct name_list *list_tmp; - - /* Don't process sections from files which were - excluded. */ - for (list_tmp = sec->spec.exclude_name_list; - list_tmp; - list_tmp = list_tmp->next) - { - if (wildcardp (list_tmp->name)) - skip = fnmatch (list_tmp->name, file->filename, 0) == 0; - else - skip = strcmp (list_tmp->name, file->filename) == 0; + if (wildcardp (list_tmp->name)) + skip = fnmatch (list_tmp->name, file->filename, 0) == 0; + else + skip = strcmp (list_tmp->name, file->filename) == 0; - if (skip) - break; - } + if (skip) + break; + } - if (!skip && sec->spec.name != NULL) - { - const char *sname = bfd_get_section_name (file->the_bfd, s); + if (!skip && sec->spec.name != NULL) + { + const char *sname = bfd_get_section_name (file->the_bfd, s); - if (wildcardp (sec->spec.name)) - skip = fnmatch (sec->spec.name, sname, 0) != 0; - else - skip = strcmp (sec->spec.name, sname) != 0; - } + if (wildcardp (sec->spec.name)) + skip = fnmatch (sec->spec.name, sname, 0) != 0; + else + skip = strcmp (sec->spec.name, sname) != 0; } if (!skip) (*callback) (ptr, sec, s, file, data); - if (sec != NULL) - sec = sec->next; + sec = sec->next; } - while (sec != NULL); } } -- 2.30.2