aboutsummaryrefslogtreecommitdiff
path: root/ld/lexsup.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-10-26 04:36:59 -0700
committerH.J. Lu <hjl.tools@gmail.com>2024-02-16 05:03:06 -0800
commitd9511b64b85296f39ded68f82f7f25ee7d6b25fb (patch)
tree64a49c7fbb30937a736c7a13125cf504d4922f04 /ld/lexsup.c
parent900c0f0aa3d78cd9e67ccd26fbc86224cef4c5b1 (diff)
downloadbinutils-d9511b64b85296f39ded68f82f7f25ee7d6b25fb.zip
binutils-d9511b64b85296f39ded68f82f7f25ee7d6b25fb.tar.gz
binutils-d9511b64b85296f39ded68f82f7f25ee7d6b25fb.tar.bz2
ld: Add -plugin-save-temps
Add -plugin-save-temps to store plugin intermediate files permanently. It can be used to exam the final input object files generated from IR inputs. * NEWS: Mention -plugin-save-temps. * ld.h (ld_config_type): Add plugin_save_temps. * ld.texi: Document -plugin-save-temps. * ldlex.h (option_values): Add OPTION_PLUGIN_SAVE_TEMPS. * lexsup.c (ld_options): Add -plugin-save-temps. (parse_args): Handle OPTION_PLUGIN_SAVE_TEMPS. * plugin.c (plugin_call_cleanup): Don't call plugin cleanup_handler for -plugin-save-temps.
Diffstat (limited to 'ld/lexsup.c')
-rw-r--r--ld/lexsup.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 099dff8..dad3b60 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -187,6 +187,9 @@ static const struct ld_option ld_options[] =
'\0', N_("PLUGIN"), N_("Load named plugin"), ONE_DASH },
{ {"plugin-opt", required_argument, NULL, OPTION_PLUGIN_OPT},
'\0', N_("ARG"), N_("Send arg to last-loaded plugin"), ONE_DASH },
+ { {"plugin-save-temps", no_argument, NULL, OPTION_PLUGIN_SAVE_TEMPS},
+ '\0', NULL, N_("Store plugin intermediate files permanently"),
+ ONE_DASH },
{ {"flto", optional_argument, NULL, OPTION_IGNORE},
'\0', NULL, N_("Ignored for GCC LTO option compatibility"),
ONE_DASH },
@@ -1211,6 +1214,9 @@ parse_args (unsigned argc, char **argv)
if (plugin_opt_plugin_arg (optarg))
einfo (_("%F%P: bad -plugin-opt option\n"));
break;
+ case OPTION_PLUGIN_SAVE_TEMPS:
+ config.plugin_save_temps = true;
+ break;
#endif /* BFD_SUPPORTS_PLUGINS */
case 'q':
link_info.emitrelocations = true;