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 <palves@redhat.com> 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.
This commit is contained in:
parent
2ebd5a3520
commit
d632a0971c
4 changed files with 40 additions and 25 deletions
|
@ -1,3 +1,11 @@
|
|||
2014-02-27 Pedro Alves <palves@redhat.com>
|
||||
|
||||
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 <hui@codesourcery.com>
|
||||
|
||||
PR 12702
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
|
@ -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. */
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue