aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2022-03-31 13:32:20 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2022-04-04 17:50:41 -0400
commit962937b15dd570e44109f3c8196a392b788837ba (patch)
tree4a2172585a6a63cb779f5bd269ad3a5a3528e8f3
parentcb25fdbb76e41d9c02fe86009fc8a3ecf8737c9a (diff)
downloadfsf-binutils-gdb-962937b15dd570e44109f3c8196a392b788837ba.zip
fsf-binutils-gdb-962937b15dd570e44109f3c8196a392b788837ba.tar.gz
fsf-binutils-gdb-962937b15dd570e44109f3c8196a392b788837ba.tar.bz2
gdb: make timestamped_file implement can_emit_style_escape
In our AMDGPU downstream port, we use styling in some logging output. We noticed it stopped working after the gdb_printf changes. Making timestamped_file implement can_emit_style_escape (returning the value of the stream it wraps) fixes it. To show that it works, modify some logging statements in auto-load.c to output style filenames. You can see it in action by setting "set debug auto-load 1" and running a program. We can incrementally add styling to other debug statements throughout GDB, as needed. Change-Id: I78a2fd1e078f80f2263251cf6bc53b3a9de9c17a
-rw-r--r--gdb/auto-load.c9
-rw-r--r--gdb/ui-file.h3
2 files changed, 8 insertions, 4 deletions
diff --git a/gdb/auto-load.c b/gdb/auto-load.c
index 057104d..b6056f5 100644
--- a/gdb/auto-load.c
+++ b/gdb/auto-load.c
@@ -733,8 +733,8 @@ auto_load_objfile_script_1 (struct objfile *objfile, const char *realname,
gdb_file_up input = gdb_fopen_cloexec (filename.c_str (), "r");
debugfile = filename.c_str ();
- auto_load_debug_printf ("Attempted file \"%s\" %s.",
- debugfile,
+ auto_load_debug_printf ("Attempted file \"%ps\" %s.",
+ styled_string (file_name_style.style (), debugfile),
input != nullptr ? "exists" : "does not exist");
std::string debugfile_holder;
@@ -763,8 +763,9 @@ auto_load_objfile_script_1 (struct objfile *objfile, const char *realname,
input = gdb_fopen_cloexec (debugfile, "r");
- auto_load_debug_printf ("Attempted file \"%s\" %s.",
- debugfile,
+ auto_load_debug_printf ("Attempted file \"%ps\" %s.",
+ styled_string (file_name_style.style (),
+ debugfile),
(input != nullptr
? "exists"
: "does not exist"));
diff --git a/gdb/ui-file.h b/gdb/ui-file.h
index f8e1fe8..e420555 100644
--- a/gdb/ui-file.h
+++ b/gdb/ui-file.h
@@ -402,6 +402,9 @@ public:
{
}
+ bool can_emit_style_escape () override
+ { return m_stream->can_emit_style_escape (); }
+
DISABLE_COPY_AND_ASSIGN (timestamped_file);
void write (const char *buf, long len) override;