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 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
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;
{
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;