aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/common/sim-options.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c
index e6d1107..e82ac33 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;