Message ID | cover.1733223033.git.aburgess@redhat.com |
---|---|
Headers |
Return-Path: <gdb-patches-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1836C3858D34 for <patchwork@sourceware.org>; Tue, 3 Dec 2024 10:54:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1836C3858D34 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Azy5lov2 X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 3FDBA3858D26 for <gdb-patches@sourceware.org>; Tue, 3 Dec 2024 10:52:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3FDBA3858D26 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3FDBA3858D26 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733223148; cv=none; b=u/vceJj7Mz4W6mt93se+0nK+rG/qBKwWi+uARyqEttC10uv7u/nwvwMZsvYnTjUts5c7edMONoZET9sE7LJiWVGHGON3GfKfd+b7/oM3U6wpyLyAfsI6n4Ajf7RynDXvyd1vkSD6lP12pXYWuY3/qA8KwAm6cOWdFktwwdpL8yg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733223148; c=relaxed/simple; bh=elIIacUqrKmNbsYeDinT+O4yWHciktuVP8uLqFQhiYA=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=g7aS/X/RNb0HnfBeo1uuVG3eN58OJY46qtFdlW0yP7iZyPgulZgamDS4endKWy+hYr9a+3Fpu+pZ0QF2UozCbIE7kJEL0kSKEW20d/pnA8MMXaiuAo2EHhDMuHcLTIlLkxZddZ2Rz4r3Oq8UneXBAtqdw7CNRlKyeIX2iUu7MOM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3FDBA3858D26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1733223148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P7afrenOdg+C6np5h+ttIX0vUKIP9mtnSv0zNuZwEII=; b=Azy5lov27+mxDHHmSeE1i54BhjRtKWdvIqbu2A3h2ut/8G/aVkMJBjDfDFqMpcV9inUDka HeZh2nPutC870JouE6wvtinChHvzKIJAt/RfEoelANAKiZnN6bkOHiJ62X7gWQRwlTbq0A LU+8h4v1opqWBUYoSYt5J/b1deWxCYc= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-516-fXUag_OAMA2_9pHfXARBog-1; Tue, 03 Dec 2024 05:52:27 -0500 X-MC-Unique: fXUag_OAMA2_9pHfXARBog-1 X-Mimecast-MFC-AGG-ID: fXUag_OAMA2_9pHfXARBog Received: by mail-lj1-f198.google.com with SMTP id 38308e7fff4ca-2ffc7fe1b6dso32791611fa.0 for <gdb-patches@sourceware.org>; Tue, 03 Dec 2024 02:52:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733223144; x=1733827944; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P7afrenOdg+C6np5h+ttIX0vUKIP9mtnSv0zNuZwEII=; b=kfvaSM1lD9a0xX6D7t+9nycuusiD+mP3zgAhnyYF6Pg82BqeBBVZotReEbM5L1nqLt ecF2AWNf+uUCJUqhGdic9b29JRT37JmQFTCkzEsgH/oipWAq+bRLsf4uIvQgkPgXMqXO yECGH290veRjWINynnYaR6DgERVmfbhGdJLAFa8/JvlKyXePJakH423m1+TMn+LlHz9l 9+J/+LN6b4B25s2/Eqnr7c5bfgQAJPl0Eu1rv7/qx6PJ0BvC5O8D/yfYt0NMroh5cfnR xoe53lrZszDM5GMtRdrsGCKl7uHFSagv8elq974Uyv/hNRhLDJ4WQQK20WBs2jAM80EH s3MQ== X-Gm-Message-State: AOJu0YxhyxeBNQjtTHUaS7HD4eyUyJtep+ymViB29ZFUlr9KRtrZUxie b3L0jXylLBvdMWCHfCiKntFZBnjDN5JmYiqgLNJbCKWrn7qQKBKILvPYIu7TVYknM5nOSwIEZEf 7+ok2LsTsHWqioSBdCHHC9AL+dpFPAsjLLcip6H/bVez3zEs8yT5koZn8gt7hMaKAAMsomBoEu3 EZ25k3avvI0vFvg9c7nLGS6QeS4XZJoFVmGdrCZdEv7UY= X-Gm-Gg: ASbGncuCZNa04sZ9whkn3xEOUKzAPoEZEnMiJvqnlbdBBCQbRNjQYT+D+yIZGW7wore No2p1j5pJIim/xl27CxbVmGFhyhHkgk+lOzVWGbU4OpGVb2he5OZQZui1wUrU5durg4UfrHbFV6 6iYXw36QLhrNYiGzKZM68Fw+0l8BaPJGL5wDAj5caKkbJxW53i1KrPo1ICV4qc9fJFR6SjPVeTn DxwXWsaevKQ8ybbHtaBJT2GIc/myRwtSELcHGQPLIUbP/Dw0+3zcHJwWnzsCp39HmeCbR1tGjxk tw== X-Received: by 2002:a05:6512:3d19:b0:53d:d431:7f3a with SMTP id 2adb3069b0e04-53e12a2302cmr1192867e87.44.1733223144357; Tue, 03 Dec 2024 02:52:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IGTHa7BnrMlYTcLNlZCxzR+tixmnGp3rt75kBaxMY2Sj+J/IP9ZAnnRCPhYJwz+olK4/FTcjA== X-Received: by 2002:a05:6512:3d19:b0:53d:d431:7f3a with SMTP id 2adb3069b0e04-53e12a2302cmr1192851e87.44.1733223143880; Tue, 03 Dec 2024 02:52:23 -0800 (PST) Received: from localhost (197.209.200.146.dyn.plus.net. [146.200.209.197]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-434aa74fec9sm215380715e9.6.2024.12.03.02.52.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Dec 2024 02:52:23 -0800 (PST) From: Andrew Burgess <aburgess@redhat.com> To: gdb-patches@sourceware.org Cc: Andrew Burgess <aburgess@redhat.com> Subject: [PATCHv4 0/5] Better executable auto-loading when opening a core file Date: Tue, 3 Dec 2024 10:52:15 +0000 Message-Id: <cover.1733223033.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <cover.1730205615.git.aburgess@redhat.com> References: <cover.1730205615.git.aburgess@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: xJtru5vywbhi4u8WSA13f3G26eD4FuCXMtpjZ84A87Y_1733223146 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces~patchwork=sourceware.org@sourceware.org |
Series |
Better executable auto-loading when opening a core file
|
|
Message
Andrew Burgess
Dec. 3, 2024, 10:52 a.m. UTC
In v4: - Rebased to current HEAD of master, resolved a merge conflict. - Retested, no regressions found. In v3: - Linaro CI highlighted some failures on ARM. Turns out ARM's stack setup is different than the other architectures I've tested on. I've added some additional logic which should mean ARM is now handled OK. In v2: - Fixed an incorrect use of gdb::function_view in patch #1 which was causing undefined behaviour, and crashes when GDB was built with optimisation. - Rebased and retested. -- There's actually a couple of core file related improvements in this series. Patches #1 and #2 improve what information GDB can extract about the execution context (executable name, inferior arguments, and environment) when opening a core file. Then patch #4 improves GDB's ability to auto-load the executable that matches a core file (on GNU/Linux). Patch #3 is a testsuite refactor to allow for patch #4. And patch #5 replicates patch #4, but for FreeBSD. Thanks, Andrew -- Andrew Burgess (5): gdb: add gdbarch method to get execution context from core file gdb: parse and set the inferior environment from core files gdb/testsuite: make some of the core file / build-id tests harder gdb: improve GDB's ability to auto-load the exec for a core file gdb/freebsd: port core file context parsing to FreeBSD gdb/arch-utils.c | 26 ++ gdb/arch-utils.h | 89 +++++ gdb/corefile.c | 10 + gdb/corelow.c | 201 +++++++++-- gdb/fbsd-tdep.c | 134 ++++++++ gdb/gdbarch-gen.c | 22 ++ gdb/gdbarch-gen.h | 15 + gdb/gdbarch.h | 1 + gdb/gdbarch_components.py | 20 ++ gdb/linux-tdep.c | 315 ++++++++++++++++++ gdb/testsuite/gdb.base/coredump-filter.exp | 17 +- gdb/testsuite/gdb.base/corefile-buildid.exp | 252 ++++++-------- .../gdb.base/corefile-exec-context.c | 25 ++ .../gdb.base/corefile-exec-context.exp | 165 +++++++++ gdb/testsuite/gdb.base/corefile-find-exec.c | 25 ++ gdb/testsuite/gdb.base/corefile-find-exec.exp | 252 ++++++++++++++ gdb/testsuite/gdb.base/corefile.exp | 9 + 17 files changed, 1403 insertions(+), 175 deletions(-) create mode 100644 gdb/testsuite/gdb.base/corefile-exec-context.c create mode 100644 gdb/testsuite/gdb.base/corefile-exec-context.exp create mode 100644 gdb/testsuite/gdb.base/corefile-find-exec.c create mode 100644 gdb/testsuite/gdb.base/corefile-find-exec.exp base-commit: 6da184277006a211c7b18a7ad3ae918d372d3da2