diff options
author | Cary Coutant <ccoutant@gmail.com> | 2015-11-05 12:59:02 -0800 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2015-11-05 12:59:19 -0800 |
commit | 96f9814df23564e16909bb5ba00de4a202c63417 (patch) | |
tree | f53d2b10048697e57b7698c948f81e9ebc7017e9 /gold | |
parent | 0eccf19f96d6218dd7c2f8d13f0546c2b942cc08 (diff) | |
download | gdb-96f9814df23564e16909bb5ba00de4a202c63417.zip gdb-96f9814df23564e16909bb5ba00de4a202c63417.tar.gz gdb-96f9814df23564e16909bb5ba00de4a202c63417.tar.bz2 |
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 <hongjiu.lu@intel.com>
* 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".
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 11 | ||||
-rw-r--r-- | gold/options.h | 2 | ||||
-rw-r--r-- | gold/parameters.cc | 10 |
3 files changed, 12 insertions, 11 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index e389438..7996229 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,16 @@ 2015-11-05 Cary Coutant <ccoutant@gmail.com> + PR gold/19119 + PR gold/19172 + PR gold/19197 + Revert commit 6457197210144f50a696097c0d308d81d46d5510: + 2015-10-16 H.J. Lu <hongjiu.lu@intel.com> + * 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 <ccoutant@gmail.com> + PR gold/19163 * aarch64.cc (Target_aarch64::Relocate::relocate): Don't apply certain relocations if --no-apply-dynamic-relocs is set. diff --git a/gold/options.h b/gold/options.h index 5756014..ffc44e6 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 15df42a..5ed1912 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); } |