diff options
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/ldlang.c | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index bf73bb4..0d1bcc7 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,11 @@ 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 before calling base_name, not after. diff --git a/ld/ldlang.c b/ld/ldlang.c index e1c02cc..56edee8 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4242,13 +4242,12 @@ lang_size_sections_1 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) |