#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.
td_err_e (*td_ta_new_p) (struct ps_prochandle * ps,
td_thragent_t **ta);
- td_err_e (*td_ta_map_id2thr_p) (const td_thragent_t *ta, thread_t pt,
- td_thrhandle_t *__th);
td_err_e (*td_ta_map_lwp2thr_p) (const td_thragent_t *ta,
lwpid_t lwpid, td_thrhandle_t *th);
td_err_e (*td_ta_thr_iter_p) (const td_thragent_t *ta,
return 0;
}
- info->td_ta_map_id2thr_p = verbose_dlsym (info->handle, "td_ta_map_id2thr");
- if (info->td_ta_map_id2thr_p == NULL)
- return 0;
-
info->td_ta_map_lwp2thr_p = verbose_dlsym (info->handle,
"td_ta_map_lwp2thr");
if (info->td_ta_map_lwp2thr_p == NULL)
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);
}
}