* ldlang.c (print_input_section): For section size, use
authorIan Lance Taylor <ian@airs.com>
Fri, 25 Mar 1994 22:22:29 +0000 (22:22 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 25 Mar 1994 22:22:29 +0000 (22:22 +0000)
_cooked_size if it is non-zero, size otherwise.
(size_input_section): Likewise.
(lang_do_assignments): Likewise (case lang_input_section_enum).

ld/ChangeLog
ld/ldlang.c

index 891d42553dac0b354eda0ead687882ed2c7dda13..316902faa7f6ef439b713d3bad8b40884399f2aa 100644 (file)
@@ -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
index 484a8d03ee96ae57942d5c2a1cc320010c707773..e49bf952f9a53eac1650de7b16c1f2320925f212 100644 (file)
@@ -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;