From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id OSEgIi9z+WmobRQAWB0awg (envelope-from ) for ; Tue, 05 May 2026 00:33:51 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Z0Joa3/D; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 85F2A1E0BA; Tue, 05 May 2026 00:33:51 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 93CBF1E093 for ; Tue, 05 May 2026 00:33:50 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 2FCE64BABF06 for ; Tue, 5 May 2026 04:33:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2FCE64BABF06 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Z0Joa3/D Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by sourceware.org (Postfix) with ESMTPS id D5C7D4BABF10 for ; Tue, 5 May 2026 04:32:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D5C7D4BABF10 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D5C7D4BABF10 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777955559; cv=none; b=EtB/Vr1CnViFdDO6mBb1JZ4nhMHGsNaDDWfSQPJPEs/4wCT2RE8PB9iiRpazvhRKiZqFGCbjI4mg2i7tloPavEgfP/Qy75o74wLOR+Ay9UT+as0sq2ZzKOX6wWNU9ujLAy6CYCxeBYSa2LveNAXkjDYgSBdvsQGN1LBZRAcU5KM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777955559; c=relaxed/simple; bh=Pz4sQOXPSpdLrni6+w+zxjgduQP3ZbJhT/EwWinITE4=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=NCrnmqCFt81BAPstJAj+wpE3CL0qjSW8mg7xxq79bJa0ZticFwoqKv5uviJeAt+MZMcTJ5uElFudyeYrhGzzxFXYxoh0JYVFDeWvSealQbeuXAE/T/tV676DUnGFw28Xpa503gkjjyeMlB0bGZSU51Co/idaILslb05X8FRamKA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D5C7D4BABF10 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1777955559; x=1809491559; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Pz4sQOXPSpdLrni6+w+zxjgduQP3ZbJhT/EwWinITE4=; b=Z0Joa3/DB2WdPO7t9IojcPq5aP1yV9K7KcBhEOfydt8mYmU+FIxE1lFm C4rG0sEzxfLi+ozIMfn0BWDp2yYymYebow1zejAhzhmYfYlv45ebEylLk DCVKRja5EFMDruVolyp3A7Qij74BjMVdN9pQd3j8vaMbGo0Uq7yy8N7MD lCQf0ZKrBvlo3S37lbSRHknoaQ0FlO1T4vuxpwkA95pXu42pgA5bf1JB6 eHHOUE5K63ljrZVGnczs5BzT1lSz25uo4IWN9IeFDb51W/SB+Hku62+id CSkavZ7+eyBuc1kGBVrtEyS6kQ60JTVQjxQ+c7n3swoLAuzQIIW3Qb5uJ g==; X-CSE-ConnectionGUID: bIPZCaoES4mjkFDPdmed5Q== X-CSE-MsgGUID: TxhpuRK8R7Sv5M9srZvaDA== X-IronPort-AV: E=McAfee;i="6800,10657,11776"; a="101484957" X-IronPort-AV: E=Sophos;i="6.23,216,1770624000"; d="scan'208";a="101484957" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2026 21:32:38 -0700 X-CSE-ConnectionGUID: uLFApwOYTWm2/jc1pPTRqQ== X-CSE-MsgGUID: bVc/kYxaRcyJm4JoZCVNQg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,216,1770624000"; d="scan'208";a="239677640" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2026 21:32:37 -0700 From: Markus Metzger To: gdb-patches@sourceware.org Cc: Keith Seitz , Eli Zaretskii Subject: [PATCH v4] gdb, btrace: support libipt v2.2 events Date: Tue, 5 May 2026 04:32:34 +0000 Message-Id: <20260505043234.1355988-1-markus.t.metzger@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Add support for printing new events added in libipt v2.2 originating from Event Tracing in combination with Flexible Return and Event Delivery (FRED) and from Trigger Tracing. Reviewed-By: Keith Seitz Reviewed-By: Eli Zaretskii --- gdb/NEWS | 4 ++++ gdb/btrace.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/gdb/NEWS b/gdb/NEWS index e233906153a..d82b81d7dd6 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -75,6 +75,10 @@ * The Windows native target now supports scheduler-locking. E.g., "set scheduler-locking on" now works. Previously it gave an error. +* GDB now supports libipt v2.2 events originating from Event Tracing (set + record btrace pt event-tracing on) on a FRED-enabled system and from + Trigger Tracing. + * New targets GNU/Linux/MicroBlaze (gdbserver) microblazeel-*linux* diff --git a/gdb/btrace.c b/gdb/btrace.c index 965e2654c7d..73b7fc313b7 100644 --- a/gdb/btrace.c +++ b/gdb/btrace.c @@ -1597,6 +1597,59 @@ handle_pt_insn_events (struct btrace_thread_info *btinfo, break; } #endif /* (LIBIPT_VERSION >= 0x201) */ + +#if (LIBIPT_VERSION >= 0x202) + case ptev_trig: + { + std::string aux_string = std::string (_("trig: trbv = ")) + + hex_string (event.variant.trig.trbv); + + if (event.variant.trig.mult != 0) + aux_string += std::string (", mult"); + + if (event.ip_suppressed == 0) + { + pc = event.variant.trig.ip; + aux_string += std::string (", ip = ") + hex_string (*pc); + } + + if (event.variant.trig.icnt != 0) + aux_string += std::string (", icnt = ") + + hex_string (event.variant.trig.icnt); + + handle_pt_aux_insn (btinfo, aux_string, pc); + break; + } + + case ptev_swintr: + { + std::string aux_string = std::string (_("swintr: vector = ")) + + hex_string (event.variant.swintr.vector); + + if (event.ip_suppressed == 0) + { + pc = event.variant.swintr.ip; + aux_string += std::string (", ip = ") + hex_string (*pc); + } + + handle_pt_aux_insn (btinfo, aux_string, pc); + break; + } + + case ptev_syscall: + { + std::string aux_string = std::string (_("syscall")); + + if (event.ip_suppressed == 0) + { + pc = event.variant.syscall.ip; + aux_string += std::string (": ip = ") + hex_string (*pc); + } + + handle_pt_aux_insn (btinfo, aux_string, pc); + break; + } +#endif /* (LIBIPT_VERSION >= 0x202) */ } } #endif /* defined (HAVE_PT_INSN_EVENT) */ @@ -3025,6 +3078,20 @@ pt_print_packet (const struct pt_packet *packet) packet->payload.evd.payload); break; #endif /* (LIBIPT_VERSION >= 0x201) */ + +#if (LIBIPT_VERSION >= 0x202) + case ppt_trig: + if (packet->payload.trig.icntv == 0) + gdb_printf ("trig 0x%x%s%s", packet->payload.trig.trbv, + packet->payload.trig.ip ? " ip" : "", + packet->payload.trig.mult ? " mult" : ""); + else + gdb_printf ("trig 0x%x%s%s icnt: %u", packet->payload.trig.trbv, + packet->payload.trig.ip ? " ip" : "", + packet->payload.trig.mult ? " mult" : "", + packet->payload.trig.icnt); + break; +#endif /* (LIBIPT_VERSION >= 0x202) */ } } -- 2.34.1 Intel Deutschland GmbH Registered Address: Dornacher Strasse 1, 85622 Feldkirchen, Germany Tel: +49 89 991 430, www.intel.de Managing Directors: Harry Demas, Jeffrey Schneiderman, Yin Chong Sorrell Chairperson of the Supervisory Board: Nicole Lau Registered Seat: Munich Commercial Register: Amtsgericht Muenchen HRB 186928