mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
Remove linux_proc_pid_get_ns
This commit removes linux_proc_pid_get_ns, and updates its only caller to use linux_ns_same instead. gdb/ChangeLog: * linux-thread-db.c (nat/linux-namespaces.h): New include. (check_pid_namespace_match): Use linux_ns_same rather than linux_proc_pid_get_ns to spot PID namespace mismatches. * nat/linux-procfs.h (linux_proc_pid_get_ns): Remove. * nat/linux-procfs.c (linux_proc_pid_get_ns): Likewise.
This commit is contained in:
parent
4b8b5e7245
commit
9bc3a9760b
@ -1,3 +1,11 @@
|
||||
2015-06-10 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* linux-thread-db.c (nat/linux-namespaces.h): New include.
|
||||
(check_pid_namespace_match): Use linux_ns_same rather than
|
||||
linux_proc_pid_get_ns to spot PID namespace mismatches.
|
||||
* nat/linux-procfs.h (linux_proc_pid_get_ns): Remove.
|
||||
* nat/linux-procfs.c (linux_proc_pid_get_ns): Likewise.
|
||||
|
||||
2015-06-10 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* configure.ac (AC_CHECK_FUNCS): Add setns.
|
||||
|
@ -42,9 +42,9 @@
|
||||
#include "nat/linux-osdata.h"
|
||||
#include "auto-load.h"
|
||||
#include "cli/cli-utils.h"
|
||||
|
||||
#include <signal.h>
|
||||
#include <ctype.h>
|
||||
#include "nat/linux-namespaces.h"
|
||||
|
||||
/* GNU/Linux libthread_db support.
|
||||
|
||||
@ -1200,20 +1200,12 @@ check_pid_namespace_match (void)
|
||||
child's thread list, we'll mistakenly think it has no threads
|
||||
since the thread PID fields won't match the PID we give to
|
||||
libthread_db. */
|
||||
char *our_pid_ns = linux_proc_pid_get_ns (getpid (), "pid");
|
||||
char *inferior_pid_ns = linux_proc_pid_get_ns (
|
||||
ptid_get_pid (inferior_ptid), "pid");
|
||||
|
||||
if (our_pid_ns != NULL && inferior_pid_ns != NULL
|
||||
&& strcmp (our_pid_ns, inferior_pid_ns) != 0)
|
||||
if (!linux_ns_same (ptid_get_pid (inferior_ptid), LINUX_NS_PID))
|
||||
{
|
||||
warning (_ ("Target and debugger are in different PID "
|
||||
"namespaces; thread lists and other data are "
|
||||
"likely unreliable"));
|
||||
}
|
||||
|
||||
xfree (our_pid_ns);
|
||||
xfree (inferior_pid_ns);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -185,25 +185,6 @@ linux_proc_pid_is_zombie (pid_t pid)
|
||||
return linux_proc_pid_is_zombie_maybe_warn (pid, 1);
|
||||
}
|
||||
|
||||
/* See linux-procfs.h declaration. */
|
||||
|
||||
char *
|
||||
linux_proc_pid_get_ns (pid_t pid, const char *ns)
|
||||
{
|
||||
char buf[100];
|
||||
char nsval[64];
|
||||
int ret;
|
||||
xsnprintf (buf, sizeof (buf), "/proc/%d/ns/%s", (int) pid, ns);
|
||||
ret = readlink (buf, nsval, sizeof (nsval));
|
||||
if (0 < ret && ret < sizeof (nsval))
|
||||
{
|
||||
nsval[ret] = '\0';
|
||||
return xstrdup (nsval);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* See linux-procfs.h. */
|
||||
|
||||
void
|
||||
|
@ -54,12 +54,6 @@ extern int linux_proc_pid_is_zombie_nowarn (pid_t pid);
|
||||
|
||||
extern int linux_proc_pid_is_gone (pid_t pid);
|
||||
|
||||
/* Return an opaque string identifying PID's NS namespace or NULL if
|
||||
* the information is unavailable. The returned string must be
|
||||
* released with xfree. */
|
||||
|
||||
extern char *linux_proc_pid_get_ns (pid_t pid, const char *ns);
|
||||
|
||||
/* Callback function for linux_proc_attach_tgid_threads. If the PTID
|
||||
thread is not yet known, try to attach to it and return true,
|
||||
otherwise return false. */
|
||||
|
Loading…
Reference in New Issue
Block a user