&check,
regsize);
if (rw != 0) {
- ERROR(rw, "push check arg ptrace_write_memory");
+ ERROR(rw, "push check arg ptrace_write_memory\n");
detach_from_all_threads(pid);
return False;
}
&bad_return,
regsize);
if (rw != 0) {
- ERROR(rw, "push bad_return return address ptrace_write_memory");
+ ERROR(rw, "push bad_return return address ptrace_write_memory\n");
detach_from_all_threads(pid);
return False;
}
&bad_return,
sizeof(bad_return));
if (rw != 0) {
- ERROR(rw, "push bad_return return address ptrace_write_memory");
+ ERROR(rw, "push bad_return return address ptrace_write_memory\n");
detach_from_all_threads(pid);
return False;
}
&check,
regsize);
if (rw != 0) {
- ERROR(rw, "push check arg ptrace_write_memory");
+ ERROR(rw, "push check arg ptrace_write_memory\n");
detach_from_all_threads(pid);
return False;
}
&bad_return,
regsize);
if (rw != 0) {
- ERROR(rw, "push bad_return return address ptrace_write_memory");
+ ERROR(rw, "push bad_return return address ptrace_write_memory\n");
detach_from_all_threads(pid);
return False;
}
user_mod.regs.uregs[15] = shared32->invoke_gdbserver;
#elif defined(VGA_arm64)
- XERROR(0, "TBD arm64: vgdb a 32 bits executable with a 64 bits exe");
+ XERROR(0, "TBD arm64: vgdb a 32 bits executable with a 64 bits exe\n");
#elif defined(VGA_s390x)
- XERROR(0, "(fn32) s390x has no 32bits implementation");
+ XERROR(0, "(fn32) s390x has no 32bits implementation\n");
#elif defined(VGA_mips32) || defined(VGA_nanomips)
/* put check arg in register 4 */
p[4] = check;
&bad_return,
sizeof(bad_return));
if (rw != 0) {
- ERROR(rw, "push bad_return return address ptrace_write_memory");
+ ERROR(rw, "push bad_return return address ptrace_write_memory\n");
detach_from_all_threads(pid);
return False;
}
XERROR(errno, "error opening %s shared memory file\n", shared_mem);
if (fstat(shared_mem_fd, &fdstat) != 0)
- XERROR(errno, "fstat");
+ XERROR(errno, "fstat\n");
if (fdstat.st_size == sizeof(VgdbShared64))
s = (void*) &shared64;
int gdb_connect;
if (-1 == listen_gdb) {
- XERROR(errno, "cannot create socket");
+ XERROR(errno, "cannot create socket\n");
}
memset(&addr, 0, sizeof(addr));
addr.sin_addr.s_addr = INADDR_ANY;
if (-1 == bind(listen_gdb, (struct sockaddr *)&addr, sizeof(addr))) {
- XERROR(errno, "bind failed");
+ XERROR(errno, "bind failed\n");
}
TSFPRINTF(stderr, "listening on port %d ...", in_port);
if (-1 == listen(listen_gdb, 1)) {
- XERROR(errno, "error listen failed");
+ XERROR(errno, "error listen failed\n");
}
gdb_connect = accept(listen_gdb, NULL, NULL);
if (gdb_connect < 0) {
- XERROR(errno, "accept failed");
+ XERROR(errno, "accept failed\n");
}
fprintf(stderr, "connected.\n");
fflush(stderr);
/* unmask all signals, in case the process that launched vgdb
masked some. */
if (sigprocmask(SIG_SETMASK, &action.sa_mask, NULL) != 0)
- XERROR(errno, "vgdb error sigprocmask");
+ XERROR(errno, "vgdb error sigprocmask\n");
}
/* close the FIFOs provided connections, terminate the invoker thread. */