#include "qemu/osdep.h"
#include "exec/gdbstub.h"
#include "gdbstub/commands.h"
+#include "gdbstub/syscalls.h"
#include "qemu.h"
#include "internals.h"
#ifdef CONFIG_LINUX
int fd = open(filename, flags, mode);
#endif
if (fd < 0) {
- g_string_printf(gdbserver_state.str_buf, "F-1,%x", errno);
+ int gdb_errno = host_to_gdb_errno(errno);
+ g_string_printf(gdbserver_state.str_buf, "F-1,%x", gdb_errno);
} else {
g_string_printf(gdbserver_state.str_buf, "F%x", fd);
}
int fd = gdb_get_cmd_param(params, 0)->val_ul;
if (close(fd) == -1) {
- g_string_printf(gdbserver_state.str_buf, "F-1,%x", errno);
+ int gdb_errno = host_to_gdb_errno(errno);
+ g_string_printf(gdbserver_state.str_buf, "F-1,%x", gdb_errno);
gdb_put_strbuf();
return;
}
ssize_t n = pread(fd, buf, bufsiz, offset);
if (n < 0) {
- g_string_printf(gdbserver_state.str_buf, "F-1,%x", errno);
+ int gdb_errno = host_to_gdb_errno(errno);
+ g_string_printf(gdbserver_state.str_buf, "F-1,%x", gdb_errno);
gdb_put_strbuf();
return;
}
ssize_t n = readlink(filename, buf, BUFSIZ);
#endif
if (n < 0) {
- g_string_printf(gdbserver_state.str_buf, "F-1,%x", errno);
+ int gdb_errno = host_to_gdb_errno(errno);
+ g_string_printf(gdbserver_state.str_buf, "F-1,%x", gdb_errno);
gdb_put_strbuf();
return;
}