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
This commit is contained in:
Tom Tromey
2022-12-27 16:34:44 -07:00
parent 47ecb26f71
commit a60535c39b
2 changed files with 25 additions and 1 deletions

View File

@ -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 <http://www.gnu.org/licenses/>.
# 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"

View File

@ -305,7 +305,7 @@ ui::ui (FILE *instream_, FILE *outstream_, FILE *errstream_)
m_gdb_stdout (new pager_file (new stdio_file (outstream))), m_gdb_stdout (new pager_file (new stdio_file (outstream))),
m_gdb_stdin (new stdio_file (instream)), m_gdb_stdin (new stdio_file (instream)),
m_gdb_stderr (new stderr_file (errstream)), 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_); unbuffer_stream (instream_);