Re: [PATCH v2 04/10] Add netbsd_nat::pid_to_exec_file

Kamil Rytarowski
2020-09-07T19:54:23Z

[-- Attachment #1.1: Type: text/plain, Size: 1959 bytes --]

On 07.09.2020 20:47, Simon Marchi wrote:
> On 2020-09-03 8:28 p.m., Kamil Rytarowski wrote:
>> gdb/ChangeLog:
>>
>> * netbsd-nat.h: Include <unistd.h>.
>> * (netbsd_nat::pid_to_exec_file): Add.
>> * netbsd-nat.c: Include <sys/types.h> and <sys/sysctl.h>.
>> * (netbsd_nat::pid_to_exec_file) Add.
>> ---
>> gdb/ChangeLog | 7 +++++++
>> gdb/nat/netbsd-nat.c | 18 ++++++++++++++++++
>> gdb/nat/netbsd-nat.h | 5 +++++
>> 3 files changed, 30 insertions(+)
>>
>> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
>> index 9e9d4e16e5d..335d6b7271f 100644
>> --- a/gdb/ChangeLog
>> +++ b/gdb/ChangeLog
>> @@ -1,3 +1,10 @@
>> +2020-09-04 Kamil Rytarowski <n54@gmx.com>
>> +
>> + * netbsd-nat.h: Include <unistd.h>.
>> + * (netbsd_nat::pid_to_exec_file): Add.
>> + * netbsd-nat.c: Include <sys/types.h> and <sys/sysctl.h>.
>> + * (netbsd_nat::pid_to_exec_file) Add.
>> +
>> 2020-09-04 Kamil Rytarowski <n54@gmx.com>
>>
>> * configure.nat (NATDEPFILES): Add nat/netbsd-nat.o when needed.
>> diff --git a/gdb/nat/netbsd-nat.c b/gdb/nat/netbsd-nat.c
>> index 2b5a4183e30..297188bb8b4 100644
>> --- a/gdb/nat/netbsd-nat.c
>> +++ b/gdb/nat/netbsd-nat.c
>> @@ -19,6 +19,24 @@
>>
>> #include "nat/netbsd-nat.h"
>>
>> +#include <sys/types.h>
>> +#include <sys/sysctl.h>
>> +
>> namespace netbsd_nat
>> {
>> +
>> +/* Return the executable file name of a process specified by PID. Returns the
>> + string in a static buffer. */
>> +
>> +char *
>
> Since there's no reason for the caller to modify this string, I'd suggest returning `const char *`.
>

OK

>> +pid_to_exec_file (pid_t pid)
>> +{
>> + static char buf[PATH_MAX];
>> + int mib[4] = {CTL_KERN, KERN_PROC_ARGS, pid, KERN_PROC_PATHNAME};
>> + size_t buflen = sizeof (buf);
>> + if (::sysctl (mib, ARRAY_SIZE (mib), buf, &buflen, NULL, 0))
>> + return NULL;
>
> != 0
>

OK.

> Simon
>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]