From 6b009ef680221bc7ad17d3fa2dc473ecfdf277d9 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Wed, 20 Sep 1995 15:32:41 +0000 Subject: Wed Sep 20 08:16:03 1995 steve chamberlain * defs.h (xmalloc, xrealloc): Delete, they're declared in libiberty.h. (GETENV_PROVIDED, FCLOSE_PROVIDED): New. * doc/gdbint.texinfo (GETENV_PROVIDED, FCLOSE_PROVIDED): Document. * remote-sim.[ch] (gdbsim_write_stdout): New. --- gdb/defs.h | 14 ++++++++++---- gdb/remote-sim.c | 19 +++++++++++++++++++ gdb/remote-sim.h | 6 ++++++ 3 files changed, 35 insertions(+), 4 deletions(-) (limited to 'gdb') diff --git a/gdb/defs.h b/gdb/defs.h index dfd63af..cd13c2e 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -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 #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) */ -- cgit v1.1