From 4eff2974c2948d23a81afd4e4d025fc2561d7491 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sun, 14 Oct 2007 02:52:13 +0000 Subject: From Craig Silverstein: error if we see a dynamic object when the -static option was given. --- gold/gold.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gold') diff --git a/gold/gold.cc b/gold/gold.cc index 5c8ce50..97e5d3d 100644 --- a/gold/gold.cc +++ b/gold/gold.cc @@ -161,7 +161,15 @@ queue_middle_tasks(const General_options& options, Workqueue* workqueue) { // Now we have seen all the input files. - set_parameters_doing_static_link(!input_objects->any_dynamic()); + const bool doing_static_link = !input_objects->any_dynamic(); + set_parameters_doing_static_link(doing_static_link); + if (!doing_static_link && options.is_static()) + { + // We print out just the first .so we see; there may be others. + fprintf(stderr, _("%s: cannot mix -static with dynamic object %s\n"), + program_name, (*input_objects->dynobj_begin())->name().c_str()); + gold_exit(false); + } // Define some sections and symbols needed for a dynamic link. This // handles some cases we want to see before we read the relocs. -- cgit v1.1