From patchwork Fri Nov 22 20:36:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Terekhov, Mikhail via Gdb-patches" X-Patchwork-Id: 36136 Received: (qmail 114499 invoked by alias); 22 Nov 2019 20:37:01 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 114444 invoked by uid 89); 22 Nov 2019 20:37:00 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=detach, windows-nat.c, UD:windows-nat.c, windowsnatc X-HELO: mail-yb1-f201.google.com Received: from mail-yb1-f201.google.com (HELO mail-yb1-f201.google.com) (209.85.219.201) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 22 Nov 2019 20:36:57 +0000 Received: by mail-yb1-f201.google.com with SMTP id s8so5713728yba.0 for ; Fri, 22 Nov 2019 12:36:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=khOkdR69a1N5gIuOp13pZ4dUc9HiTp4AVtTRzJe2nwM=; b=RphMwGP/QeCclmJ+2dL3b16SGoZz6CEvXo7u4ToEOk7rGgLGP9xpY6J/RlY8BBuX6G 4hUfHb451uU64Te6qKHV1D+LG6Joxo4Lf3EtJZx9I13v8NWzXQpDEv1quFiLEcxNkaUs ReRXSbSt/9eHaf/TcEK1/VC9WGiJFxdpRhoif111nw2jjgz8DStD2/AMtIJg/8RM6CjI PBgGqUXyX9JPirVa96NHer7Fav2A+hLYfhWDgpC22TH16ZN6NMlYn6E2FHUxvb/RVC0F jCreeRBNU2UBMVnnVRNIq4lJq81zQKKKvH1PZ1Pn6Y+UpddAv7i0E9AVJ6r5FQ6/U5sU thsg== Date: Fri, 22 Nov 2019 14:36:51 -0600 Message-Id: <20191122203651.128664-1-cbiesinger@google.com> Mime-Version: 1.0 Subject: [PATCH] Use safe_strerror instead of strerror where possible X-Patchwork-Original-From: "Christian Biesinger via gdb-patches" From: "Terekhov, Mikhail via Gdb-patches" Reply-To: Christian Biesinger To: gdb-patches@sourceware.org Cc: Christian Biesinger X-IsSubscribed: yes This provides threadsafety. Unfortunately, since libinproctrace.so does not link to gnulib, we can't use it there, especially since it still includes the gnulib headers (so it is difficult to directly call the system strerror_r). gdb/ChangeLog: 2019-11-22 Christian Biesinger * linux-nat.c (detach_one_lwp): Call safe_strerror instead of strerror. * nto-procfs.c (nto_procfs_target::create_inferior): Likewise. * windows-nat.c (windows_nat_target::create_inferior): Likewise. gdb/gdbserver/ChangeLog: 2019-11-22 Christian Biesinger * debug.c (debug_set_output): Call safe_strerror instead of strerror. * linux-low.c (attach_proc_task_lwp_callback): Likewise. (linux_kill_one_lwp): Likewise. (linux_detach_one_lwp): Likewise. (linux_wait_for_event_filtered): Likewise. (store_register): Likewise. * lynx-low.c (lynx_attach): Likewise. * mem-break.c (insert_memory_breakpoint): Likewise. (remove_memory_breakpoint): Likewise. (delete_fast_tracepoint_jump): Likewise. (set_fast_tracepoint_jump): Likewise. (uninsert_fast_tracepoint_jumps_at): Likewise. (reinsert_fast_tracepoint_jumps_at): Likewise. * nto-low.c (nto_xfer_memory): Likewise. (nto_resume): Likewise. Change-Id: I9e259cdcaa6e11bbcc4ee6bdc5b7127d73e11abe --- gdb/gdbserver/debug.c | 2 +- gdb/gdbserver/linux-low.c | 14 +++++++------- gdb/gdbserver/lynx-low.c | 2 +- gdb/gdbserver/mem-break.c | 16 ++++++++-------- gdb/gdbserver/nto-low.c | 4 ++-- gdb/linux-nat.c | 2 +- gdb/nto-procfs.c | 2 +- gdb/windows-nat.c | 2 +- 8 files changed, 22 insertions(+), 22 deletions(-) base-commit: 987012b89bce7f6385ed88585547f852a8005a3f diff --git a/gdb/gdbserver/debug.c b/gdb/gdbserver/debug.c index a764df7688..d299b93409 100644 --- a/gdb/gdbserver/debug.c +++ b/gdb/gdbserver/debug.c @@ -55,7 +55,7 @@ debug_set_output (const char *new_debug_file) if (fptr == nullptr) { debug_printf ("Cannot open %s for writing. %s. Switching to stderr.\n", - new_debug_file, strerror (errno)); + new_debug_file, safe_strerror (errno)); return; } diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index d6b6ce7581..f34811cda2 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -1159,7 +1159,7 @@ attach_proc_task_lwp_callback (ptid_t ptid) { debug_printf ("Cannot attach to lwp %d: " "thread is gone (%d: %s)\n", - lwpid, err, strerror (err)); + lwpid, err, safe_strerror (err)); } } else if (err != 0) @@ -1303,7 +1303,7 @@ linux_kill_one_lwp (struct lwp_info *lwp) debug_printf ("LKL: kill_lwp (SIGKILL) %s, 0, 0 (%s)\n", target_pid_to_str (ptid_of (thr)), - save_errno ? strerror (save_errno) : "OK"); + save_errno ? safe_strerror (save_errno) : "OK"); } errno = 0; @@ -1314,7 +1314,7 @@ linux_kill_one_lwp (struct lwp_info *lwp) debug_printf ("LKL: PTRACE_KILL %s, 0, 0 (%s)\n", target_pid_to_str (ptid_of (thr)), - save_errno ? strerror (save_errno) : "OK"); + save_errno ? safe_strerror (save_errno) : "OK"); } } @@ -1560,7 +1560,7 @@ linux_detach_one_lwp (struct lwp_info *lwp) if (ret == -1) { warning (_("Couldn't reap LWP %d while detaching: %s"), - lwpid, strerror (errno)); + lwpid, safe_strerror (errno)); } else if (!WIFEXITED (status) && !WIFSIGNALED (status)) { @@ -1573,7 +1573,7 @@ linux_detach_one_lwp (struct lwp_info *lwp) { error (_("Can't detach %s: %s"), target_pid_to_str (ptid_of (thread)), - strerror (save_errno)); + safe_strerror (save_errno)); } } else if (debug_threads) @@ -2715,7 +2715,7 @@ linux_wait_for_event_filtered (ptid_t wait_ptid, ptid_t filter_ptid, if (debug_threads) debug_printf ("LWFE: waitpid(-1, ...) returned %d, %s\n", - ret, errno ? strerror (errno) : "ERRNO-OK"); + ret, errno ? safe_strerror (errno) : "ERRNO-OK"); if (ret > 0) { @@ -5593,7 +5593,7 @@ store_register (const struct usrregs_info *usrregs, return; if ((*the_low_target.cannot_store_register) (regno) == 0) - error ("writing register %d: %s", regno, strerror (errno)); + error ("writing register %d: %s", regno, safe_strerror (errno)); } regaddr += sizeof (PTRACE_XFER_TYPE); } diff --git a/gdb/gdbserver/lynx-low.c b/gdb/gdbserver/lynx-low.c index 2bd24e7cee..dd4cdd8c90 100644 --- a/gdb/gdbserver/lynx-low.c +++ b/gdb/gdbserver/lynx-low.c @@ -316,7 +316,7 @@ lynx_attach (unsigned long pid) if (lynx_ptrace (PTRACE_ATTACH, ptid, 0, 0, 0) != 0) error ("Cannot attach to process %lu: %s (%d)\n", pid, - strerror (errno), errno); + safe_strerror (errno), errno); lynx_add_process (pid, 1); lynx_add_threads_after_attach (pid); diff --git a/gdb/gdbserver/mem-break.c b/gdb/gdbserver/mem-break.c index 582fcac163..e943915808 100644 --- a/gdb/gdbserver/mem-break.c +++ b/gdb/gdbserver/mem-break.c @@ -374,7 +374,7 @@ insert_memory_breakpoint (struct raw_breakpoint *bp) if (debug_threads) debug_printf ("Failed to read shadow memory of" " breakpoint at 0x%s (%s).\n", - paddress (bp->pc), strerror (err)); + paddress (bp->pc), safe_strerror (err)); } else { @@ -386,7 +386,7 @@ insert_memory_breakpoint (struct raw_breakpoint *bp) { if (debug_threads) debug_printf ("Failed to insert breakpoint at 0x%s (%s).\n", - paddress (bp->pc), strerror (err)); + paddress (bp->pc), safe_strerror (err)); } } return err != 0 ? -1 : 0; @@ -415,7 +415,7 @@ remove_memory_breakpoint (struct raw_breakpoint *bp) if (debug_threads) debug_printf ("Failed to uninsert raw breakpoint " "at 0x%s (%s) while deleting it.\n", - paddress (bp->pc), strerror (err)); + paddress (bp->pc), safe_strerror (err)); } return err != 0 ? -1 : 0; } @@ -597,7 +597,7 @@ delete_fast_tracepoint_jump (struct fast_tracepoint_jump *todel) if (debug_threads) debug_printf ("Failed to uninsert fast tracepoint jump " "at 0x%s (%s) while deleting it.\n", - paddress (bp->pc), strerror (ret)); + paddress (bp->pc), safe_strerror (ret)); return ret; } @@ -660,7 +660,7 @@ set_fast_tracepoint_jump (CORE_ADDR where, if (debug_threads) debug_printf ("Failed to read shadow memory of" " fast tracepoint at 0x%s (%s).\n", - paddress (where), strerror (err)); + paddress (where), safe_strerror (err)); free (jp); return NULL; } @@ -684,7 +684,7 @@ set_fast_tracepoint_jump (CORE_ADDR where, { if (debug_threads) debug_printf ("Failed to insert fast tracepoint jump at 0x%s (%s).\n", - paddress (where), strerror (err)); + paddress (where), safe_strerror (err)); /* Unlink it. */ proc->fast_tracepoint_jumps = jp->next; @@ -739,7 +739,7 @@ uninsert_fast_tracepoint_jumps_at (CORE_ADDR pc) if (debug_threads) debug_printf ("Failed to uninsert fast tracepoint jump at" " 0x%s (%s).\n", - paddress (pc), strerror (err)); + paddress (pc), safe_strerror (err)); } } } @@ -786,7 +786,7 @@ reinsert_fast_tracepoint_jumps_at (CORE_ADDR where) if (debug_threads) debug_printf ("Failed to reinsert fast tracepoint jump at" " 0x%s (%s).\n", - paddress (where), strerror (err)); + paddress (where), safe_strerror (err)); } } diff --git a/gdb/gdbserver/nto-low.c b/gdb/gdbserver/nto-low.c index d77fda54b8..f267a9d786 100644 --- a/gdb/gdbserver/nto-low.c +++ b/gdb/gdbserver/nto-low.c @@ -247,7 +247,7 @@ nto_xfer_memory (off_t memaddr, unsigned char *myaddr, int len, if (nbytes == 0) { int e = errno; - TRACE ("Error in %s : errno=%d (%s)\n", __func__, e, strerror (e)); + TRACE ("Error in %s : errno=%d (%s)\n", __func__, e, safe_strerror (e)); } return nbytes; } @@ -505,7 +505,7 @@ nto_resume (struct thread_resume *resume_info, size_t n) err = devctl (nto_inferior.ctl_fd, DCMD_PROC_RUN, &run, sizeof (run), 0); if (err != EOK) - TRACE ("Error: %d \"%s\"\n", err, strerror (err)); + TRACE ("Error: %d \"%s\"\n", err, safe_strerror (err)); } /* Wait for inferior's event. diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index bc397961c8..2a63ac727d 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -1420,7 +1420,7 @@ detach_one_lwp (struct lwp_info *lp, int *signo_p) if (ret == -1) { warning (_("Couldn't reap LWP %d while detaching: %s"), - lwpid, strerror (errno)); + lwpid, safe_strerror (errno)); } else if (!WIFEXITED (status) && !WIFSIGNALED (status)) { diff --git a/gdb/nto-procfs.c b/gdb/nto-procfs.c index 0a199e7224..dcb0494e9c 100644 --- a/gdb/nto-procfs.c +++ b/gdb/nto-procfs.c @@ -1317,7 +1317,7 @@ nto_procfs_target::create_inferior (const char *exec_file, { /* FIXME: expected warning? */ /* warning( "Failed to set Kill-on-Last-Close flag: errno = %d(%s)\n", - errn, strerror(errn) ); */ + errn, safe_strerror(errn) ); */ } if (!target_is_pushed (ops)) push_target (ops); diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index fdc21f38bf..d77828291c 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -2710,7 +2710,7 @@ windows_nat_target::create_inferior (const char *exec_file, redirect_inferior_handles (allargs, allargs_copy, &fd_inp, &fd_out, &fd_err); if (errno) - warning (_("Error in redirection: %s."), strerror (errno)); + warning (_("Error in redirection: %s."), safe_strerror (errno)); else errno = e; allargs_len = strlen (allargs_copy);