[PATCH] gdb: fix maint info btrace

Markus Metzger <[email protected]> Wed, 22 Jul 2026 11:05:45 +0000
Newsgroups gmane.comp.gdb.patches
Message-ID <[email protected]>
The 'maint info btrace' command forgets to check whether the trace has
already been decoded and keeps appending the same trace to the packet
history at every command.  Fix that.
---
 gdb/btrace.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gdb/btrace.c b/gdb/btrace.c
index 5349a89001a..f5f2d6da972 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -3546,10 +3546,14 @@ maint_info_btrace_cmd (const char *args, int from_tty)
 		    version.minor, version.build,
 		    version.ext != NULL ? version.ext : "");
 
-	btrace_maint_update_pt_packets (btinfo);
+	if (btinfo->maint.variant.pt.packets == nullptr)
+	  btinfo->maint.variant.pt.packets = new std::vector<btrace_pt_packet>;
+
+	if (btinfo->maint.variant.pt.packets->empty ())
+	  btrace_maint_update_pt_packets (btinfo);
+
 	gdb_printf (_("Number of packets: %zu.\n"),
-		    ((btinfo->maint.variant.pt.packets == nullptr)
-		     ? 0 : btinfo->maint.variant.pt.packets->size ()));
+		    btinfo->maint.variant.pt.packets->size ());
       }
       break;
 #endif /* defined (HAVE_LIBIPT)  */
-- 
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