From: John Baldwin Date: Tue, 22 Feb 2022 19:22:14 +0000 (-0800) Subject: fbsd-nat: Return nullptr rather than failing ::thread_name. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0bbe64c5a3f9608ae5987f1267de7a734ee8151;p=binutils-gdb.git fbsd-nat: Return nullptr rather than failing ::thread_name. ptrace on FreeBSD cannot be used against running processes and instead fails with EBUSY. This meant that 'info threads' would fail if any of the threads were running (for example when using schedule-multiple=on in gdb.base/fork-running-state.exp). Instead of throwing errors, just return nullptr as no thread name is better than causing info threads to fail completely. --- diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c index 89c9ae6a9b7..cea3ce7d384 100644 --- a/gdb/fbsd-nat.c +++ b/gdb/fbsd-nat.c @@ -819,9 +819,9 @@ fbsd_nat_target::thread_name (struct thread_info *thr) if a name has not been set explicitly. Return a NULL name in that case. */ if (!fbsd_fetch_kinfo_proc (pid, &kp)) - perror_with_name (_("Failed to fetch process information")); + return nullptr; if (ptrace (PT_LWPINFO, lwp, (caddr_t) &pl, sizeof pl) == -1) - perror_with_name (("ptrace (PT_LWPINFO)")); + return nullptr; if (strcmp (kp.ki_comm, pl.pl_tdname) == 0) return NULL; xsnprintf (buf, sizeof buf, "%s", pl.pl_tdname);