aboutsummaryrefslogtreecommitdiff
path: root/gold/gold.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2008-02-07 07:33:46 +0000
committerIan Lance Taylor <iant@google.com>2008-02-07 07:33:46 +0000
commit516cb3d01efb6f72ffa445ada40003e4e9e8e23a (patch)
tree7d422728cec6c2217ab76106f6c01479e2f2db4a /gold/gold.cc
parent1ef1f3d387940683bcba12c0bee8c5adfdef4bc7 (diff)
downloadfsf-binutils-gdb-516cb3d01efb6f72ffa445ada40003e4e9e8e23a.zip
fsf-binutils-gdb-516cb3d01efb6f72ffa445ada40003e4e9e8e23a.tar.gz
fsf-binutils-gdb-516cb3d01efb6f72ffa445ada40003e4e9e8e23a.tar.bz2
Support --oformat binary.
Diffstat (limited to 'gold/gold.cc')
-rw-r--r--gold/gold.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/gold/gold.cc b/gold/gold.cc
index f067557..d09dee3 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -195,6 +195,10 @@ queue_middle_tasks(const General_options& options,
if (!doing_static_link && parameters->output_is_object())
gold_error(_("cannot mix -r with dynamic object %s"),
(*input_objects->dynobj_begin())->name().c_str());
+ if (!doing_static_link
+ && options.output_format() != General_options::OUTPUT_FORMAT_ELF)
+ gold_fatal(_("cannot use non-ELF output format with dynamic object %s"),
+ (*input_objects->dynobj_begin())->name().c_str());
if (is_debugging_enabled(DEBUG_SCRIPT))
layout->script_options()->print(stderr);
@@ -365,7 +369,8 @@ queue_final_tasks(const General_options& options,
// Queue a task to close the output file. This will be blocked by
// FINAL_BLOCKER.
- workqueue->queue(new Task_function(new Close_task_runner(of),
+ workqueue->queue(new Task_function(new Close_task_runner(&options, layout,
+ of),
final_blocker,
"Task_function Close_task_runner"));
}