From: Philippe Waroquiers Date: Sun, 25 Sep 2022 11:09:38 +0000 (+0200) Subject: Fix 459477 missing \n in XERROR and ERROR calls X-Git-Tag: VALGRIND_3_20_0~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c572045342405ded0c5a9817241896952d3701c;p=thirdparty%2Fvalgrind.git Fix 459477 missing \n in XERROR and ERROR calls Based on a patch by Alexandra Hajkova. --- diff --git a/NEWS b/NEWS index 76311f9d2b..b2ca7e12d7 100644 --- a/NEWS +++ b/NEWS @@ -51,6 +51,7 @@ n-i-bz Implement vgdb invoker on FreeBSD 458845 PowerPC: The L field for the dcbf and sync instruction should be 3 bits in ISA 3.1. 459031 Documentation on --error-exitcode incomplete +459477 XERROR messages lacks ending '\n' in vgdb To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/vgdb-invoker-freebsd.c b/coregrind/vgdb-invoker-freebsd.c index 2350de8caa..d9f3584f80 100644 --- a/coregrind/vgdb-invoker-freebsd.c +++ b/coregrind/vgdb-invoker-freebsd.c @@ -477,7 +477,7 @@ Bool invoker_invoke_gdbserver (pid_t pid) &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; } @@ -490,7 +490,7 @@ Bool invoker_invoke_gdbserver (pid_t pid) &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; } @@ -535,7 +535,7 @@ Bool invoker_invoke_gdbserver (pid_t pid) &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; } diff --git a/coregrind/vgdb-invoker-ptrace.c b/coregrind/vgdb-invoker-ptrace.c index 07f3400f95..78a6a168c1 100644 --- a/coregrind/vgdb-invoker-ptrace.c +++ b/coregrind/vgdb-invoker-ptrace.c @@ -894,7 +894,7 @@ Bool invoker_invoke_gdbserver (pid_t pid) &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; } @@ -907,7 +907,7 @@ Bool invoker_invoke_gdbserver (pid_t pid) &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; } @@ -945,10 +945,10 @@ Bool invoker_invoke_gdbserver (pid_t pid) 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; @@ -986,7 +986,7 @@ Bool invoker_invoke_gdbserver (pid_t pid) &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; } diff --git a/coregrind/vgdb.c b/coregrind/vgdb.c index 01a88ae18b..3f438536b2 100644 --- a/coregrind/vgdb.c +++ b/coregrind/vgdb.c @@ -176,7 +176,7 @@ void map_vgdbshared(char* shared_mem) 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; @@ -495,7 +495,7 @@ void wait_for_gdb_connect(int in_port) int gdb_connect; if (-1 == listen_gdb) { - XERROR(errno, "cannot create socket"); + XERROR(errno, "cannot create socket\n"); } memset(&addr, 0, sizeof(addr)); @@ -505,16 +505,16 @@ void wait_for_gdb_connect(int in_port) 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); @@ -766,7 +766,7 @@ void install_handlers(void) /* 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. */