From d632a0971cf9c8044e2b59da45ba6bbc27714c84 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 27 Feb 2014 14:30:08 +0000 Subject: [PATCH] Move linux-nat.c:status_to_str to nat/linux-waitpid.c. So that gdbserver's Linux backend can use it too. gdb/ 2014-02-27 Pedro Alves PR 12702 * linux-nat.c (status_to_str): Moved to nat/linux-waitpid.c. * nat/linux-waitpid.c: Include string.h. (status_to_str): Moved here and made extern. * nat/linux-waitpid.h (status_to_str): New declaration. --- gdb/ChangeLog | 8 ++++++++ gdb/linux-nat.c | 25 ------------------------- gdb/nat/linux-waitpid.c | 28 ++++++++++++++++++++++++++++ gdb/nat/linux-waitpid.h | 4 ++++ 4 files changed, 40 insertions(+), 25 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ad08c8e790d..bb5f5aa9f04 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2014-02-27 Pedro Alves + + PR 12702 + * linux-nat.c (status_to_str): Moved to nat/linux-waitpid.c. + * nat/linux-waitpid.c: Include string.h. + (status_to_str): Moved here and made extern. + * nat/linux-waitpid.h (status_to_str): New declaration. + 2014-02-27 Hui Zhu PR 12702 diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index 006614171be..553546295f8 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -848,31 +848,6 @@ static int linux_thread_alive (ptid_t ptid); static char *linux_child_pid_to_exec_file (struct target_ops *self, 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 433efe7dd6c..e9e69db9717 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 + /* 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 ae90e50e59f..cac38db6317 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 */ -- 2.30.2