+2007-07-12 Alan Modra <amodra@bigpond.net.au>
+
+ PR 4782
+ * ldlang.c (lang_size_sections_1 <output_section_statement>): Only
+ use expld.result when valid.
+
2007-07-12 Alan Modra <amodra@bigpond.net.au>
* emultempl/spuelf.em (embedded_spu_file): Test for NULL path
os->processed_vma = FALSE;
exp_fold_tree (os->addr_tree, bfd_abs_section_ptr, &dot);
- if (!expld.result.valid_p
- && expld.phase != lang_mark_phase_enum)
+ if (expld.result.valid_p)
+ dot = expld.result.value + expld.result.section->vma;
+ else if (expld.phase != lang_mark_phase_enum)
einfo (_("%F%S: non constant or forward reference"
" address expression for section %s\n"),
os->name);
-
- dot = expld.result.value + expld.result.section->vma;
}
if (os->bfd_section == NULL)