diff options
author | Cary Coutant <ccoutant@google.com> | 2011-08-01 18:25:21 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2011-08-01 18:25:21 +0000 |
commit | a68d5f1957188d6bb652e6888c446ce5efb3fb38 (patch) | |
tree | 616320c3f258b704f77134e6e663910ef8166684 /gold/layout.cc | |
parent | 2fc767fcbdf14b7866721da767be372034bd4e4b (diff) | |
download | binutils-redhat-a68d5f1957188d6bb652e6888c446ce5efb3fb38.tar.gz |
* layout.cc (Layout::set_segment_offsets): Don't realign text
segment if -Ttext was specified.
* object.cc (Sized_relobj_file::Sized_relobj_file): Store the ELF
file type.
* object.h (Sized_relobj_file::e_type): New function.
(Sized_relobj_file::e_type_): New data member.
* symtab.cc (Symbol_table::add_from_relobj): Don't add section
base address for ET_EXEC files.
* target.cc (Target::do_make_elf_object_implementation): Allow
ET_EXEC files with --just-symbols option.
Diffstat (limited to 'gold/layout.cc')
-rw-r--r-- | gold/layout.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gold/layout.cc b/gold/layout.cc index 2a8d3b49c0..44c2e183e8 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -3039,6 +3039,11 @@ Layout::set_segment_offsets(const Target* target, Output_segment* load_seg, // the physical address. addr = (*p)->paddr(); } + else if (parameters->options().user_set_Ttext() + && ((*p)->flags() & elfcpp::PF_W) == 0) + { + are_addresses_set = true; + } else if (parameters->options().user_set_Tdata() && ((*p)->flags() & elfcpp::PF_W) != 0 && (!parameters->options().user_set_Tbss() |