From 51c133d547e21421c678276b0cb53383f5706781 Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski Date: Sun, 12 Apr 2020 17:04:34 +0200 Subject: [PATCH] Implement "info proc exe" for NetBSD Use pid_to_exec_file() to query the program. gdb/ChangeLog: * nbsd-nat.c (nbsd_nat_target::info_proc): Add do_exe. --- gdb/ChangeLog | 4 ++++ gdb/nbsd-nat.c | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 336bd497413..3bbd5c3129d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-04-12 Kamil Rytarowski + + * nbsd-nat.c (nbsd_nat_target::info_proc): Add do_exe. + 2020-04-11 Kamil Rytarowski * nbsd-nat.c; Include "nbsd-tdep.h" and "gdbarch.h". diff --git a/gdb/nbsd-nat.c b/gdb/nbsd-nat.c index 2420153c7bc..05aedf8e3f1 100644 --- a/gdb/nbsd-nat.c +++ b/gdb/nbsd-nat.c @@ -299,6 +299,7 @@ bool nbsd_nat_target::info_proc (const char *args, enum info_proc_what what) { pid_t pid; + bool do_exe = false; bool do_mappings = false; switch (what) @@ -306,6 +307,9 @@ nbsd_nat_target::info_proc (const char *args, enum info_proc_what what) case IP_MAPPINGS: do_mappings = true; break; + case IP_EXE: + do_exe = true; + break; default: error (_("Not supported on this target.")); } @@ -324,6 +328,14 @@ nbsd_nat_target::info_proc (const char *args, enum info_proc_what what) printf_filtered (_("process %d\n"), pid); + if (do_exe) + { + const char *exe = pid_to_exec_file (pid); + if (exe != nullptr) + printf_filtered ("exe = '%s'\n", exe); + else + warning (_("unable to fetch executable path name")); + } if (do_mappings) { size_t nvment; -- 2.30.2