[PATCH] Display full file path in MI style disassembly listing

Andrew Burgess aburgess@broadcom.com
Thu Oct 4 16:09:00 GMT 2012

When producing an MI style disassembly listing we use the shorted symtab filename, rather than computing the fullname.  This can make it harder for an MI consumer to figure out which file to open.

The patch below tries to use the fullname when it can, and falls back to the shorter name if it can't figure out the full name.

Ok to apply?



2012-10-04  Andrew Burhess  <aburgess@broadcom.com>

	* source.c (print_source_lines_base): Display full file name when
	producing MI style disassembly listings.

diff --git a/gdb/source.c b/gdb/source.c
index 31e104f..2a02382 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -1298,9 +1298,19 @@ print_source_lines_base (struct symtab *s, int line, int stopline, int noerror)
+	  char *filename;
+	  filename = s->fullname;
+	  if (filename == NULL)
+	    {
+	      filename = symtab_to_fullname (s);
+	      if (filename == NULL)
+		filename = s->filename;
+	    }
 	  ui_out_field_int (uiout, "line", line);
 	  ui_out_text (uiout, "\tin ");
-	  ui_out_field_string (uiout, "file", s->filename);
+	  ui_out_field_string (uiout, "file", filename);
 	  ui_out_text (uiout, "\n");

More information about the Gdb-patches mailing list