From 4d9b86e17505063c96a01d40cdf5b4fc2080a798 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 17 Jan 2018 12:33:57 -0500 Subject: Make linux_ptrace_attach_fail_reason return an std::string This patch makes linux_ptrace_attach_fail_reason and linux_ptrace_attach_fail_reason_string return std::string. It also replaces usages of struct buffer with std::string. This allows getting rid of a cleanup in in linux_ptrace_attach_fail_reason_string and simplifies the code in general. Something that looks odd to me is that in linux_ptrace_attach_fail_reason, if the two messages are appended, there is no separating space or \n, so the result won't be very nice. I left it as-is for now though. gdb/ChangeLog: * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return std::string. (linux_ptrace_attach_fail_reason_string): Likewise. * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Likewise. (linux_ptrace_attach_fail_reason_string): Likewise. * linux-nat.c (attach_proc_task_lwp_callback): Adjust. gdb/gdbserver/ChangeLog: * linux-low.c (attach_proc_task_lwp_callback): Adjust to linux_ptrace_attach_fail_reason_string now returning an std::string. (linux_attach): Likewise. * thread-db.c (attach_thread): Likewise. --- gdb/gdbserver/linux-low.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'gdb/gdbserver/linux-low.c') diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index d8e1226..8117fc6 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -1159,9 +1159,10 @@ attach_proc_task_lwp_callback (ptid_t ptid) } else if (err != 0) { - warning (_("Cannot attach to lwp %d: %s"), - lwpid, - linux_ptrace_attach_fail_reason_string (ptid, err)); + std::string reason + = linux_ptrace_attach_fail_reason_string (ptid, err); + + warning (_("Cannot attach to lwp %d: %s"), lwpid, reason.c_str ()); } return 1; @@ -1186,8 +1187,11 @@ linux_attach (unsigned long pid) soon. */ err = linux_attach_lwp (ptid); if (err != 0) - error ("Cannot attach to process %ld: %s", - pid, linux_ptrace_attach_fail_reason_string (ptid, err)); + { + std::string reason = linux_ptrace_attach_fail_reason_string (ptid, err); + + error ("Cannot attach to process %ld: %s", pid, reason.c_str ()); + } proc = linux_add_process (pid, 1); -- cgit v1.1