* ldlang.h (lang_output_section_statement_struct): Change type of

"processed" to bfd_boolean.
	* ldexp.c (fold_name): Update references to os->processed.
	* ldlang.c (lang_output_section_statement_lookup_1): Likewise.
	(lang_size_sections_1): Likewise.
	(lang_reset_memory_regions): Likewise.
This commit is contained in:
Alan Modra 2005-09-20 03:00:53 +00:00
parent 3592b9717c
commit f68d3f78b1
4 changed files with 15 additions and 9 deletions

View File

@ -1,5 +1,12 @@
2005-09-20 Alan Modra <amodra@bigpond.net.au>
* ldlang.h (lang_output_section_statement_struct): Change type of
"processed" to bfd_boolean.
* ldexp.c (fold_name): Update references to os->processed.
* ldlang.c (lang_output_section_statement_lookup_1): Likewise.
(lang_size_sections_1): Likewise.
(lang_reset_memory_regions): Likewise.
PR ld/1353
* ldlang.c (lang_size_sections_1): Process addr_tree earlier,
so that unused output section statements affect dot.

View File

@ -562,7 +562,7 @@ fold_name (etree_type *tree)
lang_output_section_statement_type *os;
os = lang_output_section_find (tree->name.name);
if (os != NULL && os->processed > 0)
if (os != NULL && os->processed)
new_rel (0, NULL, os->bfd_section);
}
break;
@ -573,7 +573,7 @@ fold_name (etree_type *tree)
lang_output_section_statement_type *os;
os = lang_output_section_find (tree->name.name);
if (os != NULL && os->processed > 0)
if (os != NULL && os->processed)
{
if (os->load_base == NULL)
new_rel (0, NULL, os->bfd_section);
@ -592,7 +592,7 @@ fold_name (etree_type *tree)
os = lang_output_section_find (tree->name.name);
if (os == NULL)
new_abs (0);
else if (os->processed > 0)
else if (os->processed)
new_abs (os->bfd_section->size / opb);
}
break;

View File

@ -1024,7 +1024,7 @@ lang_output_section_statement_lookup_1 (const char *const name, int constraint)
lookup->next = NULL;
lookup->bfd_section = NULL;
lookup->processed = 0;
lookup->processed = FALSE;
lookup->constraint = constraint;
lookup->ignored = FALSE;
lookup->sectype = normal_section;
@ -3976,9 +3976,8 @@ lang_size_sections_1
os = &s->output_section_statement;
if (os->addr_tree != NULL)
{
os->processed = -1;
os->processed = FALSE;
exp_fold_tree (os->addr_tree, bfd_abs_section_ptr, &dot);
os->processed = 0;
if (!expld.result.valid_p
&& expld.phase != lang_mark_phase_enum)
@ -4105,7 +4104,7 @@ lang_size_sections_1
lang_size_sections_1 (os->children.head, os, &os->children.head,
os->fill, newdot, relax, check_regions);
os->processed = 1;
os->processed = TRUE;
if (bfd_is_abs_section (os->bfd_section) || os->ignored)
{
@ -5163,7 +5162,7 @@ lang_reset_memory_regions (void)
for (os = &lang_output_section_statement.head->output_section_statement;
os != NULL;
os = os->next)
os->processed = 0;
os->processed = FALSE;
for (o = output_bfd->sections; o != NULL; o = o->next)
{

View File

@ -134,7 +134,7 @@ typedef struct lang_output_section_statement_struct
struct lang_output_section_statement_struct *next;
const char *name;
int processed;
bfd_boolean processed;
asection *bfd_section;
flagword flags; /* Or together of all input sections. */