* ldlang.c (lang_size_sections): Call lang_reset_memory_regions
authorDaniel Jacobowitz <drow@false.org>
Wed, 17 May 2006 16:46:54 +0000 (16:46 +0000)
committerDaniel Jacobowitz <drow@false.org>
Wed, 17 May 2006 16:46:54 +0000 (16:46 +0000)
before redoing one_lang_size_sections_pass.

ld/ChangeLog
ld/ldlang.c

index e7d2572..d8b2a7d 100644 (file)
@@ -1,3 +1,8 @@
+2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * ldlang.c (lang_size_sections): Call lang_reset_memory_regions
+       before redoing one_lang_size_sections_pass.
+
 2006-05-11  Carlos O'Donell  <carlos@codesourcery.com>
 
        * ld.texinfo: Rename "Index" to "LD Index" 
index f376652..0412538 100644 (file)
@@ -4542,6 +4542,7 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions)
          expld.dataseg.base -= maxpage;
          relro_end -= maxpage;
        }
+      lang_reset_memory_regions ();
       one_lang_size_sections_pass (relax, check_regions);
       if (expld.dataseg.relro_end > relro_end)
        {
@@ -4565,6 +4566,7 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions)
                  < old_min_base)
                expld.dataseg.base += expld.dataseg.pagesize;
              expld.dataseg.base -= (1 << max_alignment_power);
+             lang_reset_memory_regions ();
              one_lang_size_sections_pass (relax, check_regions);
            }
        }
@@ -4585,6 +4587,7 @@ lang_size_sections (bfd_boolean *relax, bfd_boolean check_regions)
          && first + last <= expld.dataseg.pagesize)
        {
          expld.dataseg.phase = exp_dataseg_adjust;
+         lang_reset_memory_regions ();
          one_lang_size_sections_pass (relax, check_regions);
        }
     }