aboutsummaryrefslogtreecommitdiff
path: root/gdb/linux-nat.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2021-05-08 21:06:41 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2021-05-08 21:07:20 -0400
commit8d06918ff58452cb17d1bdfbde7187f45933f42e (patch)
treeb265047ba289878cb96ae446b8451a87b16a1c1f /gdb/linux-nat.c
parent550e9289ab4f7ec1092a9c0ee202bbe0ba7fb9f5 (diff)
downloadfsf-binutils-gdb-8d06918ff58452cb17d1bdfbde7187f45933f42e.zip
fsf-binutils-gdb-8d06918ff58452cb17d1bdfbde7187f45933f42e.tar.gz
fsf-binutils-gdb-8d06918ff58452cb17d1bdfbde7187f45933f42e.tar.bz2
gdb, gdbserver: make status_to_str return std::string
Instead of using a static buffer. This is safer, and we don't really mind about any extra dynamic allocation here, since it's only used for debug purposes. gdb/ChangeLog: * nat/linux-waitpid.c (status_to_str): Return std::string. * nat/linux-waitpid.h (status_to_str): Likewise. * linux-nat.c (linux_nat_post_attach_wait): Adjust. (linux_nat_target::attach): Adjust. (linux_handle_extended_wait): Adjust. (wait_lwp): Adjust. (stop_wait_callback): Adjust. (linux_nat_filter_event): Adjust. (linux_nat_wait_1): Adjust. * nat/linux-waitpid.c (status_to_str): Adjust. * nat/linux-waitpid.h (status_to_str): Adjust. gdbserver/ChangeLog: * linux-low.cc (linux_process_target::wait_for_event_filtered): Adjust to status_to_str returning std::string. Change-Id: Ia8aead70270438a5690f243e6faafff6c38ff757
Diffstat (limited to 'gdb/linux-nat.c')
-rw-r--r--gdb/linux-nat.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index e595c71..34a2aee 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -1061,7 +1061,7 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled)
{
/* The pid we tried to attach has apparently just exited. */
linux_nat_debug_printf ("Failed to stop %d: %s", pid,
- status_to_str (status));
+ status_to_str (status).c_str ());
return status;
}
@@ -1069,7 +1069,7 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled)
{
*signalled = 1;
linux_nat_debug_printf ("Received %s after attaching",
- status_to_str (status));
+ status_to_str (status).c_str ());
}
return status;
@@ -1239,7 +1239,8 @@ linux_nat_target::attach (const char *args, int from_tty)
/* Save the wait status to report later. */
lp->resumed = 1;
linux_nat_debug_printf ("waitpid %ld, saving status %s",
- (long) lp->ptid.pid (), status_to_str (status));
+ (long) lp->ptid.pid (),
+ status_to_str (status).c_str ());
lp->status = status;
@@ -2005,7 +2006,7 @@ linux_handle_extended_wait (struct lwp_info *lp, int status)
/* Save the wait status to report later. */
linux_nat_debug_printf
("waitpid of new LWP %ld, saving status %s",
- (long) new_lp->ptid.lwp (), status_to_str (status));
+ (long) new_lp->ptid.lwp (), status_to_str (status).c_str ());
new_lp->status = status;
}
else if (report_thread_events)
@@ -2153,7 +2154,7 @@ wait_lwp (struct lwp_info *lp)
linux_nat_debug_printf ("waitpid %s received %s",
target_pid_to_str (lp->ptid).c_str (),
- status_to_str (status));
+ status_to_str (status).c_str ());
/* Check if the thread has exited. */
if (WIFEXITED (status) || WIFSIGNALED (status))
@@ -2440,7 +2441,7 @@ stop_wait_callback (struct lwp_info *lp)
/* The thread was stopped with a signal other than SIGSTOP. */
linux_nat_debug_printf ("Pending event %s in %s",
- status_to_str ((int) status),
+ status_to_str ((int) status).c_str (),
target_pid_to_str (lp->ptid).c_str ());
/* Save the sigtrap event. */
@@ -2859,7 +2860,7 @@ linux_nat_filter_event (int lwpid, int status)
if (WIFSTOPPED (status) && !lp)
{
linux_nat_debug_printf ("saving LWP %ld status %s in stopped_pids list",
- (long) lwpid, status_to_str (status));
+ (long) lwpid, status_to_str (status).c_str ());
add_to_pid_list (&stopped_pids, lwpid, status);
return;
}
@@ -3152,7 +3153,7 @@ linux_nat_wait_1 (ptid_t ptid, struct target_waitstatus *ourstatus,
if (lp != NULL)
{
linux_nat_debug_printf ("Using pending wait status %s for %s.",
- status_to_str (lp->status),
+ status_to_str (lp->status).c_str (),
target_pid_to_str (lp->ptid).c_str ());
}
@@ -3187,7 +3188,8 @@ linux_nat_wait_1 (ptid_t ptid, struct target_waitstatus *ourstatus,
if (lwpid > 0)
{
linux_nat_debug_printf ("waitpid %ld received %s",
- (long) lwpid, status_to_str (status));
+ (long) lwpid,
+ status_to_str (status).c_str ());
linux_nat_filter_event (lwpid, status);
/* Retry until nothing comes out of waitpid. A single