void gdb_do_syscallv(gdb_syscall_complete_cb cb, const char *fmt, va_list va);
int use_gdb_syscalls(void);
void gdb_set_stop_cpu(CPUState *cpu);
-void gdb_exit(int);
+
+/**
+ * gdb_exit: exit gdb session, reporting inferior status
+ * @code: exit code reported
+ *
+ * This closes the session and sends a final packet to GDB reporting
+ * the exit status of the program. It also cleans up any connections
+ * detritus before returning.
+ */
+void gdb_exit(int code);
+
#ifdef CONFIG_USER_ONLY
/**
* gdb_handlesig: yield control to gdb
return 16;
}
-static inline int gdb_get_float32(GByteArray *array, float32 val)
-{
- uint8_t buf[sizeof(CPU_FloatU)];
-
- stfl_p(buf, val);
- g_byte_array_append(array, buf, sizeof(buf));
-
- return sizeof(buf);
-}
-
-static inline int gdb_get_float64(GByteArray *array, float64 val)
-{
- uint8_t buf[sizeof(CPU_DoubleU)];
-
- stfq_p(buf, val);
- g_byte_array_append(array, buf, sizeof(buf));
-
- return sizeof(buf);
-}
-
static inline int gdb_get_zeroes(GByteArray *array, size_t len)
{
guint oldlen = array->len;
*/
int gdbserver_start(const char *port_or_device);
-void gdbserver_cleanup(void);
-
/**
* gdb_has_xml:
* This is an ugly hack to cope with both new and old gdb.