aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
+}