aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2004-09-19 17:09:23 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2004-09-19 17:09:23 +0000
commite2a68bcce6a3422a18c05258c512047a1ce01d70 (patch)
tree50bfaa7964fc19ed3b597af70e517b92201ecbc4
parent578c1c03b68ec45894ae77dc23d4d55237ba8e2a (diff)
downloadgdb-e2a68bcce6a3422a18c05258c512047a1ce01d70.zip
gdb-e2a68bcce6a3422a18c05258c512047a1ce01d70.tar.gz
gdb-e2a68bcce6a3422a18c05258c512047a1ce01d70.tar.bz2
* ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Adjust data segment
base so that relro end is suitably aligned.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldexp.c9
2 files changed, 8 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index a267b23..2d4df31 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-19 Andreas Schwab <schwab@suse.de>
+
+ * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Adjust data segment
+ base so that relro end is suitably aligned.
+
2004-09-17 Paul Brook <paul@codesourcery.com>
* ld.texinfo: Rename arm-specific section. Document --target*
diff --git a/ld/ldexp.c b/ld/ldexp.c
index 217a702..de239b2 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -425,12 +425,9 @@ fold_binary (etree_type *tree,
{
/* Attempt to align DATA_SEGMENT_RELRO_END at
a common page boundary. */
- bfd_vma relro;
-
- result.value += dot & (maxpage - 1);
- relro = exp_data_seg.relro_end - exp_data_seg.base;
- result.value += -relro & (other.value - 1);
- exp_data_seg.base = result.value;
+ exp_data_seg.base += (-exp_data_seg.relro_end
+ & (other.value - 1));
+ result.value = exp_data_seg.base;
}
else if (exp_data_seg.phase != exp_dataseg_adjust)
{