diff options
-rw-r--r-- | gdb/defs.h | 14 | ||||
-rw-r--r-- | gdb/remote-sim.c | 19 | ||||
-rw-r--r-- | gdb/remote-sim.h | 6 |
3 files changed, 35 insertions, 4 deletions
@@ -555,10 +555,6 @@ extern char *strsave PARAMS ((const char *)); extern char *mstrsave PARAMS ((void *, const char *)); -extern PTR xmalloc PARAMS ((long)); - -extern PTR xrealloc PARAMS ((PTR, long)); - extern PTR xmmalloc PARAMS ((PTR, long)); extern PTR xmrealloc PARAMS ((PTR, PTR, long)); @@ -616,7 +612,9 @@ extern void warning PARAMS ((char *, ...)) Libiberty thingies are no longer declared here. We include libiberty.h above, instead. */ +#ifndef GETENV_PROVIDED extern char *getenv PARAMS ((const char *)); +#endif /* From other system libraries */ @@ -625,7 +623,15 @@ extern char *getenv PARAMS ((const char *)); #include <stdlib.h> #endif + +/* We take the address of fclose later, but some stdio's forget + to declare this. We can't always declare it since there's + no way to declare the parameters without upsetting some compiler + somewhere. */ + +#ifndef FCLOSE_PROVIDED extern int fclose (); +#endif #ifndef atof extern double atof (); diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c index 813f212..dab8149 100644 --- a/gdb/remote-sim.c +++ b/gdb/remote-sim.c @@ -95,6 +95,25 @@ int regno; } } + +int +gdbsim_write_stdout (arg, len) +char *arg; +int len; +{ + int i; + char b[2]; + for (i = 0; i< len; i++) { + b[0] = arg[i]; + b[1] = 0; + if (target_output_hook) + target_output_hook (b); + else + fputs_filtered (b, gdb_stdout); + } + return len; +} + static void gdbsim_store_register (regno) int regno; diff --git a/gdb/remote-sim.h b/gdb/remote-sim.h index edf9a81..74f9809 100644 --- a/gdb/remote-sim.h +++ b/gdb/remote-sim.h @@ -39,6 +39,7 @@ typedef CORE_ADDR_TYPE SIM_ADDR; void printf_filtered (char *msg, ...); void error /-* noreturn *-/ (char *msg, ...); void *xmalloc (long size); + int gdbsim_write_stdout (char *, int len); */ /* Main simulator entry points ... @@ -123,4 +124,9 @@ void sim_resume PARAMS ((int step, int siggnal)); void sim_do_command PARAMS ((char *cmd)); + +/* Callbacks for the simulator to use. */ + +int gdbsim_write_stdout PARAMS ((char *, int)); + #endif /* !defined (REMOTE_SIM_H) */ |