From: Cary Coutant Date: Thu, 5 Nov 2015 20:59:02 +0000 (-0800) Subject: Revert patch for PR 19119, which led to PR 19172 and 19197. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=96f9814df23564e16909bb5ba00de4a202c63417;p=binutils-gdb.git Revert patch for PR 19119, which led to PR 19172 and 19197. Gold does not support all the emulations that Gnu ld does, and supports only one spelling per target. The -m option is used only in the rare case where there are no ELF input files, and we produce an empty output file. In those cases, users are expected to supply a -m option naming one of the supported emulations. In the many cases where a build script provides an unnecessary -m option naming an emulation that gold does not support, we will simply ignore the option, as we did before the reverted patch. gold/ PR gold/19119 PR gold/19172 PR gold/19197 Revert commit 6457197210144f50a696097c0d308d81d46d5510: 2015-10-16 H.J. Lu * options.h (General_options): Remove "obsolete" from -m. * parameters.cc (set_parameters_target): Check if input target is compatible with output emulation set by "-m emulation". --- diff --git a/gold/ChangeLog b/gold/ChangeLog index e38943822c0..7996229c8fa 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,14 @@ +2015-11-05 Cary Coutant + + PR gold/19119 + PR gold/19172 + PR gold/19197 + Revert commit 6457197210144f50a696097c0d308d81d46d5510: + 2015-10-16 H.J. Lu + * options.h (General_options): Remove "obsolete" from -m. + * parameters.cc (set_parameters_target): Check if input target + is compatible with output emulation set by "-m emulation". + 2015-11-05 Cary Coutant PR gold/19163 diff --git a/gold/options.h b/gold/options.h index 57560140027..ffc44e6d752 100644 --- a/gold/options.h +++ b/gold/options.h @@ -939,7 +939,7 @@ class General_options N_("OFFSET")); DEFINE_string(m, options::EXACTLY_ONE_DASH, 'm', "", - N_("Set GNU linker emulation"), N_("EMULATION")); + N_("Set GNU linker emulation; obsolete"), N_("EMULATION")); DEFINE_bool(mmap_output_file, options::TWO_DASHES, '\0', true, N_("Map the output file for writing (default)."), diff --git a/gold/parameters.cc b/gold/parameters.cc index 15df42afc9b..5ed19122512 100644 --- a/gold/parameters.cc +++ b/gold/parameters.cc @@ -297,16 +297,6 @@ set_parameters_options(const General_options* options) void set_parameters_target(Target* target) { - if (parameters->options_valid() && parameters->options().user_set_m()) - { - const char* emulation = parameters->options().m(); - Target* output = select_target_by_emulation(emulation); - if (!output) - gold_error(_("unrecognised output emulation: %s"), emulation); - else if (output != target) - gold_error(_("input file is incompatible with %s output emulation"), - emulation); - } static_parameters.set_target(target); }