diff options
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/ldlang.c | 19 |
2 files changed, 15 insertions, 11 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 891d425..316902f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +Fri Mar 25 17:20:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ldlang.c (print_input_section): For section size, use + _cooked_size if it is non-zero, size otherwise. + (size_input_section): Likewise. + (lang_do_assignments): Likewise (case lang_input_section_enum). + Thu Mar 24 15:20:47 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * ldlang.c (new_afile): Add new argument add_to_list. Don't set 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; |