aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-05-17 16:46:54 +0000
committerDaniel Jacobowitz <drow@false.org>2006-05-17 16:46:54 +0000
commitf86a87568d8533f00d5af393188707996791657e (patch)
tree98a2a0091da9327aa1ec742bb4a872524f2dc6c0 /ld/ldlang.c
parent27106ff0dd61f834e20c0c54c8a95447d3f1c743 (diff)
downloadgdb-f86a87568d8533f00d5af393188707996791657e.zip
gdb-f86a87568d8533f00d5af393188707996791657e.tar.gz
gdb-f86a87568d8533f00d5af393188707996791657e.tar.bz2
* ldlang.c (lang_size_sections): Call lang_reset_memory_regions
before redoing one_lang_size_sections_pass.
Diffstat (limited to 'ld/ldlang.c')
-rw-r--r--ld/ldlang.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c
index f376652..0412538 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -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);
}
}