This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
gdb and binutils branch master updated. 015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1
- From: palves at sourceware dot org
- To: gdb-cvs at sourceware dot org
- Date: 11 Nov 2014 14:20:01 -0000
- Subject: gdb and binutils branch master updated. 015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".
The branch, master has been updated
via 015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1 (commit)
from 0ac2337434968896a6393fdd8c0624bd2945bbea (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1
commit 015de6884f6fdebaffd4b7d4c7f14fb4d5fc0bb1
Author: Daniel Colascione <dancol@dancol.org>
Date: Tue Nov 11 14:18:23 2014 +0000
Warn users about mismatched PID namespaces
Linux supports multiple "PID namespaces". Processes in different PID
namespaces have different views of the system process list. Sometimes,
a single process can appear in more than one PID namespace, but with a
different PID in each. When GDB and its target are in different PID
namespaces, various features can break due to the mismatch between
what the target believes its PID to be and what GDB believes its PID
to be. The most visible broken functionality is thread enumeration
silently failing.
This patch explicitly warns users against trying to debug across PID
namespaces.
The patch introduced no new failures in my test suite run on an x86_64
installation of Ubuntu 14.10. It doesn't include a test: writing an
automated test that exercises this code would be very involved because
CLONE_NEWNS requires CAP_SYS_ADMIN; the easier way to reproduce the
problem is to start a new lxc container.
gdb/
2014-11-11 Daniel Colascione <dancol@dancol.org>
Warn about cross-PID-namespace debugging.
* nat/linux-procfs.h (linux_proc_pid_get_ns): New prototype.
* nat/linux-procfs.c (linux_proc_pid_get_ns): New function.
* linux-thread-db.c (check_pid_namespace_match): New function.
(thread_db_inferior_created): Call it.
-----------------------------------------------------------------------
Summary of changes:
gdb/ChangeLog | 8 ++++++++
gdb/linux-thread-db.c | 29 +++++++++++++++++++++++++++++
gdb/nat/linux-procfs.c | 19 +++++++++++++++++++
gdb/nat/linux-procfs.h | 6 ++++++
4 files changed, 62 insertions(+), 0 deletions(-)
hooks/post-receive
--
gdb and binutils