aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1995-09-20 15:32:41 +0000
committerSteve Chamberlain <sac@cygnus>1995-09-20 15:32:41 +0000
commit6b009ef680221bc7ad17d3fa2dc473ecfdf277d9 (patch)
tree60f2cffb24f628fbb98ae62527e46289d8da7c00 /gdb
parentb46805224b81b08335947252fc23d474b4bbc0a0 (diff)
downloadgdb-6b009ef680221bc7ad17d3fa2dc473ecfdf277d9.zip
gdb-6b009ef680221bc7ad17d3fa2dc473ecfdf277d9.tar.gz
gdb-6b009ef680221bc7ad17d3fa2dc473ecfdf277d9.tar.bz2
Wed Sep 20 08:16:03 1995 steve chamberlain <sac@slash.cygnus.com>
* 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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/defs.h14
-rw-r--r--gdb/remote-sim.c19
-rw-r--r--gdb/remote-sim.h6
3 files changed, 35 insertions, 4 deletions
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 <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) */