aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.c
diff options
context:
space:
mode:
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r--ld/ldlang.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 484a8d0..e49bf95 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1281,9 +1281,7 @@ print_input_section (in)
lang_input_section_type * in;
{
asection *i = in->section;
- int size = i->reloc_done ?
- bfd_get_section_size_after_reloc (i) :
- bfd_get_section_size_before_reloc (i);
+ bfd_size_type size = i->_cooked_size != 0 ? i->_cooked_size : i->_raw_size;
if (size != 0)
{
@@ -1611,14 +1609,10 @@ size_input_section (this_ptr, output_section_statement, fill, dot, relax)
/* Mark how big the output section must be to contain this now
*/
- if (relax)
- {
- dot += i->_cooked_size;
- }
+ if (i->_cooked_size != 0)
+ dot += i->_cooked_size;
else
- {
- dot += i->_raw_size;
- }
+ dot += i->_raw_size;
output_section_statement->bfd_section->_raw_size = dot - output_section_statement->bfd_section->vma;
}
else
@@ -1982,7 +1976,10 @@ lang_do_assignments (s, output_section_statement, fill, dot)
{
asection *in = s->input_section.section;
- dot += bfd_get_section_size_before_reloc (in);
+ if (in->_cooked_size != 0)
+ dot += in->_cooked_size;
+ else
+ dot += in->_raw_size;
}
break;