Wed Sep 20 08:16:03 1995 steve chamberlain <sac@slash.cygnus.com>
authorSteve Chamberlain <sac@cygnus>
Wed, 20 Sep 1995 15:32:41 +0000 (15:32 +0000)
committerSteve Chamberlain <sac@cygnus>
Wed, 20 Sep 1995 15:32:41 +0000 (15:32 +0000)
* 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
gdb/remote-sim.c
gdb/remote-sim.h

index dfd63af2f526ee065f7e642806531cc77aeccdaf..cd13c2ea8ca9a85d994600596b21f7237b2ed1df 100644 (file)
@@ -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 ();
index 813f2128149676bffa0b66fa721175d4cf15370b..dab8149705cc68de373845a35a65c29607292b63 100644 (file)
@@ -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;
index edf9a816da21e603a33c6c4fa6156479fb1eefbb..74f98094def04f37430b8214ad9520af0240c186 100644 (file)
@@ -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) */