From: Hans-Peter Nilsson Date: Fri, 17 Oct 2003 23:05:50 +0000 (+0000) Subject: * ldlang.c (lang_size_sections): Last, set _cooked_size for output X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86d3c9a824dc25160c3201b7ab6f14fbe1682df3;p=binutils-gdb.git * ldlang.c (lang_size_sections): Last, set _cooked_size for output sections. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 03f47d69de9..be940113005 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2003-10-18 Hans-Peter Nilsson + + * ldlang.c (lang_size_sections): Last, set _cooked_size for output + sections. + 2003-10-16 Alan Modra * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use diff --git a/ld/ldlang.c b/ld/ldlang.c index 039c7cbf57b..a6ceef0c732 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -3227,6 +3227,7 @@ lang_size_sections bfd_boolean check_regions) { bfd_vma result; + asection *o; /* Callers of exp_fold_tree need to increment this. */ lang_statement_iteration++; @@ -3253,6 +3254,14 @@ lang_size_sections } } + /* Some backend relaxers want to refer to the output section size. Give + them a section size that does not change on the next call while they + relax. We can't set this at top because lang_reset_memory_regions + which is called before we get here, sets _raw_size to 0 on relaxing + rounds. */ + for (o = output_bfd->sections; o != NULL; o = o->next) + o->_cooked_size = o->_raw_size; + return result; }