summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2012-08-30 05:57:05 +0000
committerAlan Modra <amodra@bigpond.net.au>2012-08-30 05:57:05 +0000
commita30e017be00b75aef1376abdec5d7e6b126e3bfd (patch)
tree58a8ccd195cfe0b3d6f91fd61fec3cfc2305b7e9
parent3988256f45f5add7e7f5cc00ad04e5d0e3d7aee0 (diff)
downloadbinutils-redhat-a30e017be00b75aef1376abdec5d7e6b126e3bfd.tar.gz
* layout.cc (Layout::set_segment_offsets): Set p_align to
abi_pagesize, not common_pagesize. (Layout::relaxation_loop_body): Similarly use abi_pagesize to determine whether file header can go in segment.
-rw-r--r--gold/ChangeLog7
-rw-r--r--gold/layout.cc4
2 files changed, 9 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 85d503442f..8fa41adb29 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,12 @@
2012-08-30 Alan Modra <amodra@gmail.com>
+ * layout.cc (Layout::set_segment_offsets): Set p_align to
+ abi_pagesize, not common_pagesize.
+ (Layout::relaxation_loop_body): Similarly use abi_pagesize
+ to determine whether file header can go in segment.
+
+2012-08-30 Alan Modra <amodra@gmail.com>
+
* output.h (Output_reloc::Output_reloc <output section>): Add
is_relative param. Adjust calls.
(Output_reloc::add_output_section_relative): New functions.
diff --git a/gold/layout.cc b/gold/layout.cc
index cadac877e0..808dd94432 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -2318,7 +2318,7 @@ Layout::relaxation_loop_body(
// compatible with putting the segment headers and file headers into
// that segment.
if (parameters->options().user_set_Ttext()
- && parameters->options().Ttext() % target->common_pagesize() != 0)
+ && parameters->options().Ttext() % target->abi_pagesize() != 0)
{
load_seg = NULL;
phdr_seg = NULL;
@@ -3330,7 +3330,7 @@ Layout::set_segment_offsets(const Target* target, Output_segment* load_seg,
if (!parameters->options().nmagic()
&& !parameters->options().omagic())
- (*p)->set_minimum_p_align(common_pagesize);
+ (*p)->set_minimum_p_align(abi_pagesize);
if (!are_addresses_set)
{