This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2/5] Move status_to_str to nat/linux-waitpid.c.


So that gdbserver's backend can use it too.
---
 gdb/linux-nat.c         | 25 -------------------------
 gdb/nat/linux-waitpid.c | 28 ++++++++++++++++++++++++++++
 gdb/nat/linux-waitpid.h |  4 ++++
 3 files changed, 32 insertions(+), 25 deletions(-)

diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index d144c77..5961867 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -849,31 +849,6 @@ static int linux_thread_alive (ptid_t ptid);
 static char *linux_child_pid_to_exec_file (int pid);
 
 
-/* Convert wait status STATUS to a string.  Used for printing debug
-   messages only.  */
-
-static char *
-status_to_str (int status)
-{
-  static char buf[64];
-
-  if (WIFSTOPPED (status))
-    {
-      if (WSTOPSIG (status) == SYSCALL_SIGTRAP)
-	snprintf (buf, sizeof (buf), "%s (stopped at syscall)",
-		  strsignal (SIGTRAP));
-      else
-	snprintf (buf, sizeof (buf), "%s (stopped)",
-		  strsignal (WSTOPSIG (status)));
-    }
-  else if (WIFSIGNALED (status))
-    snprintf (buf, sizeof (buf), "%s (terminated)",
-	      strsignal (WTERMSIG (status)));
-  else
-    snprintf (buf, sizeof (buf), "%d (exited)", WEXITSTATUS (status));
-
-  return buf;
-}
 
 /* Destroy and free LP.  */
 
diff --git a/gdb/nat/linux-waitpid.c b/gdb/nat/linux-waitpid.c
index 433efe7..e9e69db 100644
--- a/gdb/nat/linux-waitpid.c
+++ b/gdb/nat/linux-waitpid.c
@@ -28,6 +28,8 @@
 #include "nat/linux-waitpid.h"
 #include "gdb_wait.h"
 
+#include <string.h>
+
 /* Print debugging output based on the format string FORMAT and
    its parameters.  */
 
@@ -47,6 +49,32 @@ linux_debug (const char *format, ...)
 #endif
 }
 
+/* Convert wait status STATUS to a string.  Used for printing debug
+   messages only.  */
+
+char *
+status_to_str (int status)
+{
+  static char buf[64];
+
+  if (WIFSTOPPED (status))
+    {
+      if (WSTOPSIG (status) == SYSCALL_SIGTRAP)
+	snprintf (buf, sizeof (buf), "%s (stopped at syscall)",
+		  strsignal (SIGTRAP));
+      else
+	snprintf (buf, sizeof (buf), "%s (stopped)",
+		  strsignal (WSTOPSIG (status)));
+    }
+  else if (WIFSIGNALED (status))
+    snprintf (buf, sizeof (buf), "%s (terminated)",
+	      strsignal (WTERMSIG (status)));
+  else
+    snprintf (buf, sizeof (buf), "%d (exited)", WEXITSTATUS (status));
+
+  return buf;
+}
+
 /* Wrapper function for waitpid which handles EINTR, and emulates
    __WALL for systems where that is not available.  */
 
diff --git a/gdb/nat/linux-waitpid.h b/gdb/nat/linux-waitpid.h
index ae90e50..cac38db 100644
--- a/gdb/nat/linux-waitpid.h
+++ b/gdb/nat/linux-waitpid.h
@@ -24,4 +24,8 @@
    __WALL for systems where that is not available.  */
 extern int my_waitpid (int pid, int *status, int flags);
 
+/* Convert wait status STATUS to a string.  Used for printing debug
+   messages only.  */
+extern char *status_to_str (int status);
+
 #endif /* LINUX_WAITPID_H */
-- 
1.7.11.7


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]