diff options
Diffstat (limited to 'binutils-2.22/gold/gold.cc')
-rw-r--r-- | binutils-2.22/gold/gold.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/binutils-2.22/gold/gold.cc b/binutils-2.22/gold/gold.cc index 12f25b7..f2d73fe 100644 --- a/binutils-2.22/gold/gold.cc +++ b/binutils-2.22/gold/gold.cc @@ -674,6 +674,9 @@ queue_middle_tasks(const General_options& options, // Define symbols from any linker scripts. layout->define_script_symbols(symtab); + // TODO(csilvers): figure out a more principled way to get the target + Target* target = const_cast<Target*>(¶meters->target()); + // Attach sections to segments. layout->attach_sections_to_segments(); @@ -685,6 +688,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. @@ -766,8 +772,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, |