gdb/linux-nat: use l linux_nat_get_siginfo in linux_xfer_siginfo
authorSimon Marchi <simon.marchi@polymtl.ca>
Fri, 2 Dec 2022 20:09:24 +0000 (15:09 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 5 Dec 2022 21:38:45 +0000 (16:38 -0500)
I noticed we could reduce duplication a bit here.

Change-Id: If24e54d1dac71b46f7c1f68a18a073d4c084b644

gdb/linux-nat.c

index b33fac3d14922bcb69fdd7976c4037c5b9087b7c..aeb81cd01bd2aae1f6958d35b17c10fc9b7e9ac2 100644 (file)
@@ -3620,10 +3620,7 @@ linux_xfer_siginfo (enum target_object object,
   if (offset > sizeof (siginfo))
     return TARGET_XFER_E_IO;
 
-  int pid = get_ptrace_pid (inferior_ptid);
-  errno = 0;
-  ptrace (PTRACE_GETSIGINFO, pid, (PTRACE_TYPE_ARG3) 0, &siginfo);
-  if (errno != 0)
+  if (!linux_nat_get_siginfo (inferior_ptid, &siginfo))
     return TARGET_XFER_E_IO;
 
   /* When GDB is built as a 64-bit application, ptrace writes into
@@ -3646,6 +3643,7 @@ linux_xfer_siginfo (enum target_object object,
       /* Convert back to ptrace layout before flushing it out.  */
       siginfo_fixup (&siginfo, inf_siginfo, 1);
 
+      int pid = get_ptrace_pid (inferior_ptid);
       errno = 0;
       ptrace (PTRACE_SETSIGINFO, pid, (PTRACE_TYPE_ARG3) 0, &siginfo);
       if (errno != 0)