* 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.
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));
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 */
#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 ();
}
}
+
+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;
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 ...
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) */