mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
2012-03-19 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::do_define_standard_symbols): New method. (Target_arm::do_finalize_sections): Remove code which defines __exidx_start and __exidx_end. Make symbol table parameter anonymous as it is not used. * gold.cc (queue_middle_tasks): Call target hook to define any target-specific symbols. * target.h (Target::define_standard_symbols): New method. (Target::do_define_standard_symbols): Same. * testsuite/Makefile.am (arm_exidx_test): Dump relocations also. * testsuite/Makefile.in: Regenerate. * testsuite/arm_exidx.s: Generate data relocations for __exidx_start and __exidx_end. * testsuite/arm_exidx_test.sh: Check that no unused dynamic relocations are generated for __exidx_start and __exidx_end.
This commit is contained in:
@@ -396,6 +396,11 @@ class Target
|
||||
set_osabi(elfcpp::ELFOSABI osabi)
|
||||
{ this->osabi_ = osabi; }
|
||||
|
||||
// Define target-specific standard symbols.
|
||||
void
|
||||
define_standard_symbols(Symbol_table* symtab, Layout* layout)
|
||||
{ this->do_define_standard_symbols(symtab, layout); }
|
||||
|
||||
protected:
|
||||
// This struct holds the constant information for a child class. We
|
||||
// use a struct to avoid the overhead of virtual function calls for
|
||||
@@ -629,6 +634,11 @@ class Target
|
||||
do_select_as_default_target()
|
||||
{ }
|
||||
|
||||
// This may be overridden by the child class.
|
||||
virtual void
|
||||
do_define_standard_symbols(Symbol_table*, Layout*)
|
||||
{ }
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user