forked from Imagelibrary/binutils-gdb
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
This commit is contained in:
@@ -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"));
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user