From: Mike Frysinger Date: Mon, 4 Oct 2021 06:11:21 +0000 (-0400) Subject: sim: add --info-target for listing supported BFD targets X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=adc82fdb715184fa8e9acf47179e67acc82b8375;p=binutils-gdb.git sim: add --info-target for listing supported BFD targets It can be difficult to guess the exact bfd name, so add an option to list all the targets that the current build supports. This aligns with other simulator options like --info-architecture. --- diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c index e6d1107f7c5..e82ac33fe76 100644 --- a/sim/common/sim-options.c +++ b/sim/common/sim-options.c @@ -93,6 +93,7 @@ typedef enum { OPTION_DO_COMMAND, OPTION_ARCHITECTURE, OPTION_TARGET, + OPTION_TARGET_INFO, OPTION_ARCHITECTURE_INFO, OPTION_ENVIRONMENT, OPTION_ALIGNMENT, @@ -161,6 +162,10 @@ static const OPTION standard_options[] = { {"target", required_argument, NULL, OPTION_TARGET}, '\0', "BFDNAME", "Specify the object-code format for the object files", standard_option_handler }, + { {"target-info", no_argument, NULL, OPTION_TARGET_INFO}, + '\0', NULL, "List supported targets", standard_option_handler }, + { {"info-target", no_argument, NULL, OPTION_TARGET_INFO}, + '\0', NULL, NULL, standard_option_handler }, { {"load-lma", no_argument, NULL, OPTION_LOAD_LMA}, '\0', NULL, @@ -365,6 +370,20 @@ standard_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt, break; } + case OPTION_TARGET_INFO: + { + const char **list = bfd_target_list (); + const char **lp; + if (list == NULL) + abort (); + sim_io_printf (sd, "Possible targets:"); + for (lp = list; *lp != NULL; lp++) + sim_io_printf (sd, " %s", *lp); + sim_io_printf (sd, "\n"); + free (list); + break; + } + case OPTION_LOAD_LMA: { STATE_LOAD_AT_LMA_P (sd) = 1;