summaryrefslogtreecommitdiffstats
path: root/binutils-2.22/gold/gold.cc
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.22/gold/gold.cc')
-rw-r--r--binutils-2.22/gold/gold.cc8
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*>(&parameters->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*>(&parameters->target());
workqueue->queue(new Task_function(new Layout_task_runner(options,
input_objects,
symtab,