aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>1994-05-18 20:55:12 +0000
committerDavid Edelsohn <dje.gcc@gmail.com>1994-05-18 20:55:12 +0000
commit3a1d485df5a1ae16c8eb7c341ca7fb1f87ee146b (patch)
tree7cab0e19c16f0b53dad7c6e3885f49fe0098deb1
parent47424e7931938245de9422e58d78a8cc2c6a6fd9 (diff)
downloadfsf-binutils-gdb-3a1d485df5a1ae16c8eb7c341ca7fb1f87ee146b.zip
fsf-binutils-gdb-3a1d485df5a1ae16c8eb7c341ca7fb1f87ee146b.tar.gz
fsf-binutils-gdb-3a1d485df5a1ae16c8eb7c341ca7fb1f87ee146b.tar.bz2
* compile.c: #include "bfd.h".
(sim_*): Set result type to void where there isn't one. (sim_resume, default case): Set cpu.exception to SIGILL. (sim_trace): Delete. (sim_set_pc): Delete. (sim_info): Delete printf_fn arg, all callers changed. Call printf_filtered. (set_h8300h): New arg `flag', all callers changed. (sim_close): New function. (sim_load): New function. (sim_create_inferior): Renamed from sim_set_args, all callers changed. * run.c: #include <varargs.h>, "remote-sim.h". (printf_filtered): New function.
-rw-r--r--sim/h8300/run.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/sim/h8300/run.c b/sim/h8300/run.c
index 72f2c18..49c0868 100644
--- a/sim/h8300/run.c
+++ b/sim/h8300/run.c
@@ -18,9 +18,11 @@
*/
+#include <varargs.h>
#include <stdio.h>
#include "bfd.h"
#include "sysdep.h"
+#include "remote-sim.h"
int
main (ac, av)
@@ -34,6 +36,7 @@ main (ac, av)
int verbose = 0;
int trace = 0;
char *name = "";
+
for (i = 1; i < ac; i++)
{
if (strcmp(av[i],"-v") == 0)
@@ -49,7 +52,7 @@ main (ac, av)
i++;
}
else if (strcmp(av[i],"-h") == 0)
- set_h8300h ();
+ set_h8300h (1);
else
name = av[i];
}
@@ -63,7 +66,7 @@ main (ac, av)
if (bfd_check_format(abfd, bfd_object))
{
if (abfd->arch_info->mach == bfd_mach_h8300h)
- set_h8300h ();
+ set_h8300h (1);
for (s = abfd->sections; s; s=s->next)
{
@@ -73,13 +76,26 @@ main (ac, av)
}
start_address = bfd_get_start_address(abfd);
- sim_set_pc (start_address);
+ sim_create_inferior (start_address, NULL, NULL);
sim_resume(0,0);
if (verbose)
- sim_info (printf, verbose - 1);
+ sim_info (verbose - 1);
return 0;
}
}
return 1;
}
+
+void
+printf_filtered (va_alist)
+ va_dcl
+{
+ char *msg;
+ va_list args;
+
+ va_start (args);
+ msg = va_arg (args, char *);
+ vfprintf (stdout, msg, args);
+ va_end (args);
+}