Skip to content

Commit

Permalink
2010-10-20 Doug Kwan <[email protected]>
Browse files Browse the repository at this point in the history
	* arm.cc (Arm_relobj::do_read_symbols): Warn about ARM EXIDX sections
	without SHF_LINK_ORDER flags.
	* layout.cc (Layout::choose_output_section): Do not filter
	SHF_LINK_ORDER flag in a relocatable link.
  • Loading branch information
dougkwan committed Oct 20, 2010
1 parent e0ae9e2 commit c9484ea
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
7 changes: 7 additions & 0 deletions gold/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2010-10-20 Doug Kwan <[email protected]>

* arm.cc (Arm_relobj::do_read_symbols): Warn about ARM EXIDX sections
without SHF_LINK_ORDER flags.
* layout.cc (Layout::choose_output_section): Do not filter
SHF_LINK_ORDER flag in a relocatable link.

2010-10-17 Cary Coutant <[email protected]>

* output.h (Output_segment::set_section_addresses): Change function
Expand Down
4 changes: 4 additions & 0 deletions gold/arm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6662,6 +6662,10 @@ Arm_relobj<big_endian>::do_read_symbols(Read_symbols_data* sd)
+ text_shndx * shdr_size);
this->make_exidx_input_section(i, shdr, text_shndx, text_shdr);
}
// EHABI 4.4.1 requires that SHF_LINK_ORDER flag to be set.
if ((shdr.get_sh_flags() & elfcpp::SHF_LINK_ORDER) == 0)
gold_warning(_("SHF_LINK_ORDER not set in EXIDX section %s of %s"),
this->section_name(i).c_str(), this->name().c_str());
}
}

Expand Down
6 changes: 5 additions & 1 deletion gold/layout.cc
Original file line number Diff line number Diff line change
Expand Up @@ -489,11 +489,15 @@ Layout::choose_output_section(const Relobj* relobj, const char* name,
// Some flags in the input section should not be automatically
// copied to the output section.
flags &= ~ (elfcpp::SHF_INFO_LINK
| elfcpp::SHF_LINK_ORDER
| elfcpp::SHF_GROUP
| elfcpp::SHF_MERGE
| elfcpp::SHF_STRINGS);

// We only clear the SHF_LINK_ORDER flag in for
// a non-relocatable link.
if (!parameters->options().relocatable())
flags &= ~elfcpp::SHF_LINK_ORDER;

if (this->script_options_->saw_sections_clause())
{
// We are using a SECTIONS clause, so the output section is
Expand Down

0 comments on commit c9484ea

Please sign in to comment.