diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-12-31 05:43:29 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-12-31 05:43:29 +0000 |
commit | 403a15dd3b16ecce8d632e82b6c6cd821cfaff0d (patch) | |
tree | 58923efe85b891c8d257bcdbc345bb96a22e35df | |
parent | eda294df6d71e405810e6b56e2bab2bff91a1799 (diff) | |
download | gdb-403a15dd3b16ecce8d632e82b6c6cd821cfaff0d.zip gdb-403a15dd3b16ecce8d632e82b6c6cd821cfaff0d.tar.gz gdb-403a15dd3b16ecce8d632e82b6c6cd821cfaff0d.tar.bz2 |
PR 10979
* layout.cc (Layout::relaxation_loop_body): If -Ttext was used,
don't put the file header and segment headers in the text
segment.
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/layout.cc | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 027940e..b2d7a4f 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,6 +1,11 @@ 2009-12-30 Ian Lance Taylor <iant@google.com> PR 10979 + * layout.cc (Layout::relaxation_loop_body): If -Ttext was used, + don't put the file header and segment headers in the text + segment. + + PR 10979 * common.cc (Sort_commons::operator()): Stabilize sort when both entries are NULL. (Symbol_table::do_allocate_commons_list): When allocating common diff --git a/gold/layout.cc b/gold/layout.cc index 8bbeebe..c633d7b 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -1482,6 +1482,12 @@ Layout::relaxation_loop_body( != General_options::OBJECT_FORMAT_ELF) load_seg = NULL; + // If the user set the address of the text segment, that may not be + // compatible with putting the segment headers and file headers into + // that segment. + if (parameters->options().user_set_Ttext()) + load_seg = NULL; + gold_assert(phdr_seg == NULL || load_seg != NULL || this->script_options_->saw_sections_clause()); |