Use safe_strerror instead of strerror where possible
authorChristian Biesinger <cbiesinger@google.com>
Fri, 22 Nov 2019 20:31:35 +0000 (14:31 -0600)
committerChristian Biesinger <cbiesinger@google.com>
Tue, 26 Nov 2019 17:53:59 +0000 (11:53 -0600)
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-26  Christian Biesinger  <cbiesinger@google.com>

* 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-26  Christian Biesinger  <cbiesinger@google.com>

* 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/ChangeLog
gdb/gdbserver/ChangeLog
gdb/gdbserver/debug.c
gdb/gdbserver/linux-low.c
gdb/gdbserver/lynx-low.c
gdb/gdbserver/mem-break.c
gdb/gdbserver/nto-low.c
gdb/linux-nat.c
gdb/nto-procfs.c
gdb/windows-nat.c

index fdba64eb2f6eac96bcb7a311cb23bd8ff34693b5..b4d7eb7afaa59b094840ce84be06e9f146078133 100644 (file)
@@ -1,3 +1,10 @@
+2019-11-26  Christian Biesinger  <cbiesinger@google.com>
+
+       * 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.
+
 2019-11-25  Tom de Vries  <tdevries@suse.de>
 
        * contrib/words.sh: Add -c option.
index a5da6b584deab36ea1614d5e24e45be828cbfb91..7b22cfd2f8ce5c93235510d7adcc66ccd5c5ca55 100644 (file)
@@ -1,3 +1,22 @@
+2019-11-26  Christian Biesinger  <cbiesinger@google.com>
+
+       * 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.
+
 2019-11-20  Luis Machado  <luis.machado@linaro.org>
 
        * linux-aarch64-low.c (is_sve_tdesc): Check against target feature
index a764df7688ee656d4f2206c3b27dcc7d88914e84..d299b934097f44cc10e3805b44ad3ecd6f082de7 100644 (file)
@@ -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;
     }
 
index d6b6ce7581632fae6058850bc5a65bd31a00fdb6..f34811cda2a5981784a24b344e726bee61e31f61 100644 (file)
@@ -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);
     }
index 2bd24e7cee05e3ac186af0bf8f25abd86674058f..dd4cdd8c90cd069f18f98ac9558ed5c494c4e6fe 100644 (file)
@@ -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);
index 582fcac1632a226452c88ba9a614b18cf871e5b7..e9439158089c5bf193918572e4cc56335a580d08 100644 (file)
@@ -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));
     }
 }
 
index d77fda54b8da745dba003322d799e9c13d5e515e..f267a9d78673ac095e688c16fe844f4a5e86f08e 100644 (file)
@@ -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.  
index bc397961c82d05787cfb9a4aea47e685cf6c7550..2a63ac727d3fe7ef5568709b2305c36067bfab0d 100644 (file)
@@ -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))
            {
index 0a199e72248e90e6a188b18ce7348b7c5a1fda6f..dcb0494e9c96b916345a5a49afd9b11a2ef7be5f 100644 (file)
@@ -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);
index fdc21f38bfadd41b069eec60da283763bf7ca7f7..d77828291c5ec87ae3cc29216981ccf52612b872 100644 (file)
@@ -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);
This page took 0.042663 seconds and 4 git commands to generate.