forked from Imagelibrary/binutils-gdb
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:
@@ -679,6 +679,8 @@ queue_middle_tasks(const General_options& options,
|
||||
// Attach sections to segments.
|
||||
layout->attach_sections_to_segments();
|
||||
|
||||
// TODO(csilvers): figure out a more principled way to get the target
|
||||
Target* target = const_cast<Target*>(¶meters->target());
|
||||
if (!parameters->options().relocatable())
|
||||
{
|
||||
// Predefine standard symbols.
|
||||
@@ -687,6 +689,9 @@ queue_middle_tasks(const General_options& options,
|
||||
// Define __start and __stop symbols for output sections where
|
||||
// appropriate.
|
||||
layout->define_section_symbols(symtab);
|
||||
|
||||
// Define target-specific symbols.
|
||||
target->define_standard_symbols(symtab, layout);
|
||||
}
|
||||
|
||||
// Make sure we have symbols for any required group signatures.
|
||||
@@ -768,8 +773,6 @@ queue_middle_tasks(const General_options& options,
|
||||
|
||||
// When all those tasks are complete, we can start laying out the
|
||||
// output file.
|
||||
// TODO(csilvers): figure out a more principled way to get the target
|
||||
Target* target = const_cast<Target*>(¶meters->target());
|
||||
workqueue->queue(new Task_function(new Layout_task_runner(options,
|
||||
input_objects,
|
||||
symtab,
|
||||
|
||||
Reference in New Issue
Block a user