Allow target to decide whether to include a section.

2014-04-15  Sasa Stankovic  <Sasa.Stankovic@imgtec.com>

gold/
	* layout.cc (Layout::include_section): Allow a target to decide
	whether to include a section.
	* target.h (Target::should_include_section): New function.
	(Target::do_should_include_section): New function.
This commit is contained in:
Cary Coutant
2014-04-15 11:24:30 -07:00
parent 91f43acd5d
commit 99fd8cfff7
3 changed files with 24 additions and 1 deletions

View File

@@ -480,6 +480,11 @@ class Target
adjust_dyn_symbol(const Symbol* sym, unsigned char* view) const
{ this->do_adjust_dyn_symbol(sym, view); }
// Return whether to include the section in the link.
bool
should_include_section(elfcpp::Elf_Word sh_type) const
{ return this->do_should_include_section(sh_type); }
protected:
// This struct holds the constant information for a child class. We
// use a struct to avoid the overhead of virtual function calls for
@@ -773,6 +778,11 @@ class Target
do_adjust_dyn_symbol(const Symbol*, unsigned char*) const
{ }
// This may be overridden by the child class.
virtual bool
do_should_include_section(elfcpp::Elf_Word) const
{ return true; }
private:
// The implementations of the four do_make_elf_object virtual functions are
// almost identical except for their sizes and endianness. We use a template.