aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/h8300/run.c53
-rw-r--r--sim/sh/run.c75
-rw-r--r--sim/w65/ChangeLog4
-rw-r--r--sim/w65/run.c47
4 files changed, 112 insertions, 67 deletions
diff --git a/sim/h8300/run.c b/sim/h8300/run.c
index 49c0868..8078025 100644
--- a/sim/h8300/run.c
+++ b/sim/h8300/run.c
@@ -24,6 +24,10 @@
#include "sysdep.h"
#include "remote-sim.h"
+void usage();
+extern int optind;
+extern char *optarg;
+
int
main (ac, av)
int ac;
@@ -37,25 +41,31 @@ main (ac, av)
int trace = 0;
char *name = "";
- for (i = 1; i < ac; i++)
- {
- if (strcmp(av[i],"-v") == 0)
- verbose++;
-
- else if (strcmp(av[i],"-t") == 0)
- {
- trace = 1;
- }
- else if (strcmp(av[i],"-c") == 0)
- {
- sim_csize(atoi(av[i+1]));
- i++;
- }
- else if (strcmp(av[i],"-h") == 0)
+ while ((i = getopt (ac, av, "c:htv")) != EOF)
+ switch (i)
+ {
+ case 'c':
+ sim_csize (atoi (optarg));
+ break;
+ case 'h':
set_h8300h (1);
- else
- name = av[i];
- }
+ break;
+ case 't':
+ trace = 1;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ default:
+ usage();
+ }
+ ac -= optind;
+ av += optind;
+
+ if (ac != 1)
+ usage();
+
+ name = *av;
if (verbose)
printf ("run %s\n", name);
@@ -99,3 +109,10 @@ printf_filtered (va_alist)
vfprintf (stdout, msg, args);
va_end (args);
}
+
+void
+usage()
+{
+ fprintf (stderr, "usage: run [-tv] program\n");
+ exit (1);
+}
diff --git a/sim/sh/run.c b/sim/sh/run.c
index 9a00852..d4acb30 100644
--- a/sim/sh/run.c
+++ b/sim/sh/run.c
@@ -1,7 +1,7 @@
-/* run front end support for H8/500
+/* run front end support for SH
Copyright (C) 1987, 1992 Free Software Foundation, Inc.
-This file is part of H8300 SIM
+This file is part of SH SIM
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,6 +27,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "sysdep.h"
#include "remote-sim.h"
+void usage();
+extern int optind;
+extern char *optarg;
+
int target_byte_order;
int
@@ -42,36 +46,35 @@ main (ac, av)
int trace = 0;
char *name = "";
- for (i = 1; i < ac; i++)
- {
- if (strcmp (av[i], "-v") == 0)
- {
- verbose = 1;
- }
- else if (strcmp (av[i], "-t") == 0)
- {
- trace = 1;
- }
- else if (strcmp (av[i], "-p") == 0)
- {
- sim_set_profile (atoi (av[i + 1]));
- i++;
- }
- else if (strcmp (av[i], "-s") == 0)
- {
- sim_set_profile_size (atoi (av[i + 1]));
- i++;
- }
- else if (strcmp (av[i], "-m") == 0)
- {
- sim_size (atoi (av[i + 1]));
- i++;
- }
- else
- {
- name = av[i];
- }
- }
+ while ((i = getopt (ac, av, "m:p:s:tv")) != EOF)
+ switch (i)
+ {
+ case 'm':
+ sim_size (atoi (optarg));
+ break;
+ case 'p':
+ sim_set_profile (atoi (optarg));
+ break;
+ case 's':
+ sim_set_profile_size (atoi (optarg));
+ break;
+ case 't':
+ trace = 1;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ default:
+ usage();
+ }
+ ac -= optind;
+ av += optind;
+
+ if (ac != 1)
+ usage();
+
+ name = *av;
+
if (verbose)
{
printf ("run %s\n", name);
@@ -126,6 +129,14 @@ main (ac, av)
return 1;
}
+
+void
+usage()
+{
+ fprintf (stderr, "usage: run [-tv] program\n");
+ exit (1);
+}
+
/* Callbacks used by the simulator proper. */
diff --git a/sim/w65/ChangeLog b/sim/w65/ChangeLog
index d077254..2abb1a2 100644
--- a/sim/w65/ChangeLog
+++ b/sim/w65/ChangeLog
@@ -1,3 +1,7 @@
+Mon Mar 27 10:32:34 1995 J.T. Conklin <jtc@rtl.cygnus.com>
+
+ * run.c: parse arguments with getopt().
+
Tue Feb 28 17:31:36 1995 Ian Lance Taylor <ian@cygnus.com>
* configure.in: Use ../../bfd/hosts/std-host.h if specific
diff --git a/sim/w65/run.c b/sim/w65/run.c
index da81dd2..ad08004 100644
--- a/sim/w65/run.c
+++ b/sim/w65/run.c
@@ -25,7 +25,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "bfd.h"
#include "sysdep.h"
-extern printf();
+void usage();
+extern int optind;
int
main (ac, av)
@@ -39,22 +40,27 @@ main (ac, av)
int verbose = 0;
int trace = 0;
char *name = "";
-
- for (i = 1; i < ac; i++)
- {
- if (strcmp (av[i], "-v") == 0)
- {
- verbose = 1;
- }
- else if (strcmp (av[i], "-t") == 0)
- {
- trace = 1;
- }
- else
- {
- name = av[i];
- }
- }
+
+ while ((i = getopt (ac, av, "tv")) != EOF)
+ switch (i)
+ {
+ case 't':
+ trace = 1;
+ break;
+ case 'v':
+ verbose = 1;
+ break;
+ default:
+ usage();
+ }
+ ac -= optind;
+ av += optind;
+
+ if (ac != 1)
+ usage();
+
+ name = *av;
+
if (verbose)
{
printf ("run %s\n", name);
@@ -107,3 +113,10 @@ main (ac, av)
return 1;
}
+
+void
+usage()
+{
+ fprintf (stderr, "usage: run [-tv] program\n");
+ exit (1);
+}