From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1962) id 5A8153858434; Mon, 16 Oct 2023 07:52:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5A8153858434 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1697442726; bh=LuSVHHLHafKmvLcecklPOfOYpSN6Agel0bd8POIzTxk=; h=From:To:Subject:Date:From; b=ELJskmxI38Oqut1FnKCHGZ+mYLhRU9X4RYH0S27kiUArniPZ6vdg+oIKcfqvZ3dFn nRKV+kqAPR2KJXGiekTDsshelFDF9PtaaTCGKDQc7g5WpHz2iBP/mEYRcdPzCPcxLX PVdKVUsYyGoUhrHyIHiyAqct3RTXGOp+Fv6Lo6SI= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Stefan Liebler To: glibc-cvs@sourceware.org Subject: [glibc] Fix WAIT_FOR_DEBUGGER for container tests. X-Act-Checkin: glibc X-Git-Author: Stefan Liebler X-Git-Refname: refs/heads/master X-Git-Oldrev: 69239bd7a216007692470aa9d5f3658024638742 X-Git-Newrev: 4a829d70ab3bc9e69f3d186471d043e07e0d78d8 Message-Id: <20231016075206.5A8153858434@sourceware.org> Date: Mon, 16 Oct 2023 07:52:06 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4a829d70ab3bc9e69f3d186471d043e07e0d78d8 commit 4a829d70ab3bc9e69f3d186471d043e07e0d78d8 Author: Stefan Liebler Date: Thu Sep 28 12:50:40 2023 +0200 Fix WAIT_FOR_DEBUGGER for container tests. For container tests, gdb needs to set the sysroot to the corresponding testroot.root directory. The assumption was that PIDs < 3 means that we are running within a container. Starting with commit 2fe64148a81f0d78050c302f34a6853d21f7cae4 "Allow for unpriviledged nested containers", the default is to use the PID namespace of the parent. Thus support_test_main.c does not recognize our container anymore. This patch now assumes that we are running inside a container if test-container.c has set PID_OUTSIDE_CONTAINER and always uses this PID independent of having a new PID namespace or not. Reviewed-by: Adhemerval Zanella Diff: --- support/support_test_main.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/support/support_test_main.c b/support/support_test_main.c index c20c19e774..f19fce5644 100644 --- a/support/support_test_main.c +++ b/support/support_test_main.c @@ -195,16 +195,14 @@ run_test_function (int argc, char **argv, const struct test_config *config) char *gdb_script_name; int inside_container = 0; - mypid = getpid(); - if (mypid < 3) + const char *outside_pid = getenv("PID_OUTSIDE_CONTAINER"); + if (outside_pid) { - const char *outside_pid = getenv("PID_OUTSIDE_CONTAINER"); - if (outside_pid) - { - mypid = atoi (outside_pid); - inside_container = 1; - } + mypid = atoi (outside_pid); + inside_container = 1; } + else + mypid = getpid(); gdb_script_name = (char *) xmalloc (strlen (argv[0]) + strlen (".gdb") + 1); sprintf (gdb_script_name, "%s.gdb", argv[0]);