From a60535c39ba52d88c47740db6ab116db32e2331a Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 27 Dec 2022 16:34:44 -0700 Subject: [PATCH] Fix "set debug timestamp" PR cli/29945 points out that "set debug timestamp 1" stopped working -- this is a regression due to commit b8043d27 ("Remove a ui-related memory leak"). This patch fixes the bug and adds a regression test. I think this should probably be backported to the gdb 13 branch. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29945 --- gdb/testsuite/gdb.base/timestamp.exp | 24 ++++++++++++++++++++++++ gdb/top.c | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 gdb/testsuite/gdb.base/timestamp.exp diff --git a/gdb/testsuite/gdb.base/timestamp.exp b/gdb/testsuite/gdb.base/timestamp.exp new file mode 100644 index 00000000000..3d124b450e5 --- /dev/null +++ b/gdb/testsuite/gdb.base/timestamp.exp @@ -0,0 +1,24 @@ +# Copyright 2022 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Test that timestamps are printed when logging. + +clean_restart + +# This is a simple way to get logging output. +gdb_test_no_output "set debug expression 1" +gdb_test_no_output "set debug timestamp 1" + +gdb_test "print 23" "\[0-9\]+\\.\[0-9\]+ Operation: OP_LONG.* = 23" diff --git a/gdb/top.c b/gdb/top.c index 565b455a020..91b4e6a3cfe 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -305,7 +305,7 @@ ui::ui (FILE *instream_, FILE *outstream_, FILE *errstream_) m_gdb_stdout (new pager_file (new stdio_file (outstream))), m_gdb_stdin (new stdio_file (instream)), m_gdb_stderr (new stderr_file (errstream)), - m_gdb_stdlog (m_gdb_stderr) + m_gdb_stdlog (new timestamped_file (m_gdb_stderr)) { unbuffer_stream (instream_); -- 2.30.2