diff options
author | Ian Lance Taylor <ian@airs.com> | 2011-06-18 22:53:23 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2011-06-18 22:53:23 +0000 |
commit | 766f91bb8935561d61b89b67bc90320f24ce8d95 (patch) | |
tree | 333f05c20825899e0b95a18bf16dab860371e38e | |
parent | 0d212c3a03ea54828ee620dcdb74294af2f43504 (diff) | |
download | gdb-766f91bb8935561d61b89b67bc90320f24ce8d95.zip gdb-766f91bb8935561d61b89b67bc90320f24ce8d95.tar.gz gdb-766f91bb8935561d61b89b67bc90320f24ce8d95.tar.bz2 |
* layout.cc (Layout::finish_dynamic_section): Don't set DT_TEXTREL
merely because a non-PT_LOAD segment has a dynamic reloc.
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/layout.cc | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 3b79d95..ecf65f8 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,10 @@ 2011-06-18 Ian Lance Taylor <iant@google.com> + * layout.cc (Layout::finish_dynamic_section): Don't set DT_TEXTREL + merely because a non-PT_LOAD segment has a dynamic reloc. + +2011-06-18 Ian Lance Taylor <iant@google.com> + * layout.cc (Layout::finish_dynamic_section): Don't create DT_FLAGS entry if not needed. diff --git a/gold/layout.cc b/gold/layout.cc index f74c626..6e69a92 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -4107,7 +4107,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects, p != this->segment_list_.end(); ++p) { - if (((*p)->flags() & elfcpp::PF_W) == 0 + if ((*p)->type() == elfcpp::PT_LOAD + && ((*p)->flags() & elfcpp::PF_W) == 0 && (*p)->has_dynamic_reloc()) { have_textrel = true; @@ -4127,7 +4128,7 @@ Layout::finish_dynamic_section(const Input_objects* input_objects, { if (((*p)->flags() & elfcpp::SHF_ALLOC) != 0 && ((*p)->flags() & elfcpp::SHF_WRITE) == 0 - && ((*p)->has_dynamic_reloc())) + && (*p)->has_dynamic_reloc()) { have_textrel = true; break; |