aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-06-08 04:34:22 +0000
committerCary Coutant <ccoutant@google.com>2011-06-08 04:34:22 +0000
commitfb0e076f5c3d8bfd1f23a96031bfbfb92dc657d2 (patch)
treee71c027b6eed665011ffe15d519263a728053532
parenta5ee4d5d1e92a48c988c6be740f17e4d4f9b166c (diff)
downloadbinutils-fb0e076f5c3d8bfd1f23a96031bfbfb92dc657d2.zip
binutils-fb0e076f5c3d8bfd1f23a96031bfbfb92dc657d2.tar.gz
binutils-fb0e076f5c3d8bfd1f23a96031bfbfb92dc657d2.tar.bz2
* layout.cc (Layout::set_segment_offsets): Don't adjust layout
for incremental links. * output.cc (Output_segment::set_section_list_addresses): Remove FIXME and test for TLS or BSS.
-rw-r--r--gold/ChangeLog7
-rw-r--r--gold/layout.cc2
-rw-r--r--gold/output.cc5
3 files changed, 9 insertions, 5 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 363de0f..f952598 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,12 @@
2011-06-07 Cary Coutant <ccoutant@google.com>
+ * layout.cc (Layout::set_segment_offsets): Don't adjust layout
+ for incremental links.
+ * output.cc (Output_segment::set_section_list_addresses): Remove
+ FIXME and test for TLS or BSS.
+
+2011-06-07 Cary Coutant <ccoutant@google.com>
+
* testsuite/Makefile.am: Add incremental_copy_test,
incremental_common_test_1.
* testsuite/Makefile.in: Regenerate.
diff --git a/gold/layout.cc b/gold/layout.cc
index f44640c..1e5d23e 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -2957,7 +2957,7 @@ Layout::set_segment_offsets(const Target* target, Output_segment* load_seg,
if (!are_addresses_set
&& !has_relro
&& aligned_addr != addr
- && !parameters->incremental_update())
+ && !parameters->incremental())
{
uint64_t first_off = (common_pagesize
- (aligned_addr
diff --git a/gold/output.cc b/gold/output.cc
index 0134d33..d6d08ff 100644
--- a/gold/output.cc
+++ b/gold/output.cc
@@ -4156,10 +4156,7 @@ Output_segment::set_section_list_addresses(Layout* layout, bool reset,
}
}
- // FIXME: Need to handle TLS and .bss with incremental update.
- if (!parameters->incremental_update()
- || (*p)->is_section_flag_set(elfcpp::SHF_TLS)
- || (*p)->is_section_type(elfcpp::SHT_NOBITS))
+ if (!parameters->incremental_update())
{
off = align_address(off, align);
(*p)->set_address_and_file_offset(addr + (off - startoff), off);