diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2004-09-19 17:09:23 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2004-09-19 17:09:23 +0000 |
commit | e2a68bcce6a3422a18c05258c512047a1ce01d70 (patch) | |
tree | 50bfaa7964fc19ed3b597af70e517b92201ecbc4 | |
parent | 578c1c03b68ec45894ae77dc23d4d55237ba8e2a (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | ld/ldexp.c | 9 |
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* @@ -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) { |