gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 3 Feb 2013 16:16:42 +0000 (16:16 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 3 Feb 2013 16:16:42 +0000 (16:16 +0000)
* source.c (print_source_lines_base): Print for TUI also "fullname".
* tui/tui-data.c (init_content_element): Change tui_locator_element
field to full_name.
* tui/tui-data.h (struct tui_locator_element): Likewise.
* tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename
tui_update_locator_filename calls to tui_update_locator_fullname.
Replace symtab->filename refererence by symtab_to_fullname call.
* tui/tui-out.c (tui_field_string): Check for "fullname" now.
* tui/tui-source.c (tui_set_source_content): Change tui_locator_element
field to full_name.  Replace symtab->filename refererence by
symtab_to_fullname call.
(tui_show_symtab_source): Rename parameter to fullname.  Change
tui_locator_element field to full_name.
* tui/tui-stack.c: Include source.h.
(tui_set_locator_filename): Rename the declaration to ...
(tui_set_locator_fullname): ... here.  Rename its parameter to
fullname, updates its comment.
(tui_set_locator_info): Rename its parameter to fullname.
(tui_set_locator_filename): Rename the definition to ...
(tui_set_locator_fullname): ... here.  Rename its parameter to
fullname, updates its comment.  Change tui_locator_element field to
full_name.
(tui_set_locator_info): Rename its parameter to fullname.
(tui_set_locator_info): Rename callee to tui_set_locator_fullname.
(tui_update_locator_filename): Rename to ...
(tui_update_locator_fullname): ... here. Rename callee to
tui_set_locator_fullname.
(tui_show_frame_info): Replace symtab->filename refererence by
symtab_to_fullname call.
* tui/tui-stack.h (tui_update_locator_filename): Rename to ...
(tui_update_locator_fullname): ... here.
* tui/tui-winsource.c (tui_display_main): Rename the callee to
tui_update_locator_fullname.  Replace symtab->filename refererence by
symtab_to_fullname call.
* tui/tui.c (tui_show_source): Rename its parameter to fullname.
Rename the callee to tui_update_locator_fullname.
* tui/tui.h (tui_show_source): Rename its parameter to fullname.

12 files changed:
gdb/ChangeLog
gdb/source.c
gdb/tui/tui-data.c
gdb/tui/tui-data.h
gdb/tui/tui-disasm.c
gdb/tui/tui-out.c
gdb/tui/tui-source.c
gdb/tui/tui-stack.c
gdb/tui/tui-stack.h
gdb/tui/tui-winsource.c
gdb/tui/tui.c
gdb/tui/tui.h

index 680529c91aa37c61bc2f7d540ea3ad814b0adc0f..816957982e6c195d22cd50a229f1914617e03a34 100644 (file)
@@ -1,3 +1,43 @@
+2013-02-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * source.c (print_source_lines_base): Print for TUI also "fullname".
+       * tui/tui-data.c (init_content_element): Change tui_locator_element
+       field to full_name.
+       * tui/tui-data.h (struct tui_locator_element): Likewise.
+       * tui/tui-disasm.c (tui_show_disassem_and_update_source): Rename
+       tui_update_locator_filename calls to tui_update_locator_fullname.
+       Replace symtab->filename refererence by symtab_to_fullname call.
+       * tui/tui-out.c (tui_field_string): Check for "fullname" now.
+       * tui/tui-source.c (tui_set_source_content): Change tui_locator_element
+       field to full_name.  Replace symtab->filename refererence by
+       symtab_to_fullname call.
+       (tui_show_symtab_source): Rename parameter to fullname.  Change
+       tui_locator_element field to full_name.
+       * tui/tui-stack.c: Include source.h.
+       (tui_set_locator_filename): Rename the declaration to ...
+       (tui_set_locator_fullname): ... here.  Rename its parameter to
+       fullname, updates its comment.
+       (tui_set_locator_info): Rename its parameter to fullname.
+       (tui_set_locator_filename): Rename the definition to ...
+       (tui_set_locator_fullname): ... here.  Rename its parameter to
+       fullname, updates its comment.  Change tui_locator_element field to
+       full_name.
+       (tui_set_locator_info): Rename its parameter to fullname.
+       (tui_set_locator_info): Rename callee to tui_set_locator_fullname.
+       (tui_update_locator_filename): Rename to ...
+       (tui_update_locator_fullname): ... here. Rename callee to
+       tui_set_locator_fullname.
+       (tui_show_frame_info): Replace symtab->filename refererence by
+       symtab_to_fullname call.
+       * tui/tui-stack.h (tui_update_locator_filename): Rename to ...
+       (tui_update_locator_fullname): ... here.
+       * tui/tui-winsource.c (tui_display_main): Rename the callee to
+       tui_update_locator_fullname.  Replace symtab->filename refererence by
+       symtab_to_fullname call.
+       * tui/tui.c (tui_show_source): Rename its parameter to fullname.
+       Rename the callee to tui_update_locator_fullname.
+       * tui/tui.h (tui_show_source): Rename its parameter to fullname.
+
 2013-02-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * ada-lang.c (user_select_syms): Replace symtab->filename refererences
index 45140fc7ce2cc78ca05977f8bc19f8bbfa8b17f0..ef2ea0319e347a5f752ec4bc3ead7b45c04ad33b 100644 (file)
@@ -1346,7 +1346,11 @@ print_source_lines_base (struct symtab *s, int line, int stopline,
          ui_out_text (uiout, "\tin ");
          ui_out_field_string (uiout, "file",
                               symtab_to_filename_for_display (s));
-         if (ui_out_is_mi_like_p (uiout))
+
+         /* TUI expects the "fullname" field.  While it is
+            !ui_out_is_mi_like_p compared to CLI it is !ui_source_list.  */
+         if (ui_out_is_mi_like_p (uiout)
+             || !ui_out_test_flags (uiout, ui_source_list))
            {
              const char *fullname = symtab_to_fullname (s);
 
index 609e78ec952345b789a71ddc23ef38e847202ce6..f85676f13a3325efb835daf9be7418ccc134e873 100644 (file)
@@ -510,7 +510,7 @@ init_content_element (struct tui_win_element *element,
       element->which_element.data.content = (char*) NULL;
       break;
     case LOCATOR_WIN:
-      element->which_element.locator.file_name[0] =
+      element->which_element.locator.full_name[0] =
        element->which_element.locator.proc_name[0] = (char) 0;
       element->which_element.locator.line_no = 0;
       element->which_element.locator.addr = 0;
index 703eeb8988019d1de0829e306103b87e5fd31a8c..8f863067bf5573623db81346b90c08ed255f539b 100644 (file)
@@ -203,7 +203,8 @@ struct tui_command_element
 /* Elements in the locator window content.  */
 struct tui_locator_element
 {
-  char file_name[MAX_LOCATOR_ELEMENT_LEN];
+  /* Resolved absolute filename as returned by symtab_to_fullname.  */
+  char full_name[MAX_LOCATOR_ELEMENT_LEN];
   char proc_name[MAX_LOCATOR_ELEMENT_LEN];
   int line_no;
   CORE_ADDR addr;
index 60177fe9f21bd311c11d052177f22084d0c91399..42204ee4bc1f85f541ad58e44dce612cb5669884 100644 (file)
@@ -316,10 +316,10 @@ tui_show_disassem_and_update_source (struct gdbarch *gdbarch,
       if (sal.symtab)
        {
          set_current_source_symtab_and_line (&sal);
-         tui_update_locator_filename (sal.symtab->filename);
+         tui_update_locator_fullname (symtab_to_fullname (sal.symtab));
        }
       else
-       tui_update_locator_filename ("?");
+       tui_update_locator_fullname ("?");
     }
 
   return;
index 922fe1442b5db8788f6c9838fec932ba7ff79b94..14dc1de76c40f76c758c4dee5771ea59bc828ae5 100644 (file)
@@ -84,7 +84,7 @@ tui_field_string (struct ui_out *uiout,
   if (data->base.suppress_output)
     return;
 
-  if (fldname && data->line > 0 && strcmp (fldname, "file") == 0)
+  if (fldname && data->line > 0 && strcmp (fldname, "fullname") == 0)
     {
       data->start_of_line ++;
       if (data->line > 0)
index 52b6f41f1f27ee94f058a709dcbdbd89d81b24d9..e5993826dd644ce41060fe801fd8180bb144827a 100644 (file)
@@ -153,8 +153,8 @@ tui_set_source_content (struct symtab *s,
                        cur_line_no;
                      element->which_element.source.is_exec_point =
                        (filename_cmp (((struct tui_win_element *)
-                                      locator->content[0])->which_element.locator.file_name,
-                                      s->filename) == 0
+                                      locator->content[0])->which_element.locator.full_name,
+                                      symtab_to_fullname (s)) == 0
                         && cur_line_no == ((struct tui_win_element *)
                                            locator->content[0])->which_element.locator.line_no);
                      if (c != EOF)
@@ -335,14 +335,14 @@ tui_show_symtab_source (struct gdbarch *gdbarch, struct symtab *s,
 /* Answer whether the source is currently displayed in the source
    window.  */
 int
-tui_source_is_displayed (const char *fname)
+tui_source_is_displayed (const char *fullname)
 {
   return (TUI_SRC_WIN != NULL
          && TUI_SRC_WIN->generic.content_in_use 
          && (filename_cmp (((struct tui_win_element *)
                             (tui_locator_win_info_ptr ())->
-                            content[0])->which_element.locator.file_name,
-                           fname) == 0));
+                            content[0])->which_element.locator.full_name,
+                           fullname) == 0));
 }
 
 
index 515730fe250ac14680d7f67474f0b4ff1ff818af..7adf89606ddcc9246709a0bee2bd3bebabfde4c0 100644 (file)
@@ -29,6 +29,7 @@
 #include "top.h"
 #include "gdb-demangle.h"
 #include "gdb_string.h"
+#include "source.h"
 #include "tui/tui.h"
 #include "tui/tui-data.h"
 #include "tui/tui-stack.h"
    Returns a pointer to a static area holding the result.  */
 static char *tui_get_function_from_frame (struct frame_info *fi);
 
-/* Set the filename portion of the locator.  */
-static void tui_set_locator_filename (const char *filename);
+/* Set the full_name portion of the locator.  */
+static void tui_set_locator_fullname (const char *fullname);
 
 /* Update the locator, with the provided arguments.  */
 static void tui_set_locator_info (struct gdbarch *gdbarch,
-                                 const char *filename,
+                                 const char *fullname,
                                  const char *procname,
                                   int lineno, CORE_ADDR addr);
 
@@ -276,27 +277,27 @@ tui_show_locator_content (void)
 
 /* Set the filename portion of the locator.  */
 static void
-tui_set_locator_filename (const char *filename)
+tui_set_locator_fullname (const char *fullname)
 {
   struct tui_gen_win_info *locator = tui_locator_win_info_ptr ();
   struct tui_locator_element *element;
 
   if (locator->content[0] == NULL)
     {
-      tui_set_locator_info (NULL, filename, NULL, 0, 0);
+      tui_set_locator_info (NULL, fullname, NULL, 0, 0);
       return;
     }
 
   element = &((struct tui_win_element *)
              locator->content[0])->which_element.locator;
-  element->file_name[0] = 0;
-  strcat_to_buf (element->file_name, MAX_LOCATOR_ELEMENT_LEN, filename);
+  element->full_name[0] = 0;
+  strcat_to_buf (element->full_name, MAX_LOCATOR_ELEMENT_LEN, fullname);
 }
 
 /* Update the locator, with the provided arguments.  */
 static void
 tui_set_locator_info (struct gdbarch *gdbarch,
-                     const char *filename,
+                     const char *fullname,
                      const char *procname, 
                      int lineno,
                       CORE_ADDR addr)
@@ -318,14 +319,14 @@ tui_set_locator_info (struct gdbarch *gdbarch,
   element->line_no = lineno;
   element->addr = addr;
   element->gdbarch = gdbarch;
-  tui_set_locator_filename (filename);
+  tui_set_locator_fullname (fullname);
 }
 
-/* Update only the filename portion of the locator.  */
+/* Update only the full_name portion of the locator.  */
 void
-tui_update_locator_filename (const char *filename)
+tui_update_locator_fullname (const char *fullname)
 {
-  tui_set_locator_filename (filename);
+  tui_set_locator_fullname (fullname);
   tui_show_locator_content ();
 }
 
@@ -348,11 +349,12 @@ tui_show_frame_info (struct frame_info *fi)
       find_frame_sal (fi, &sal);
 
       source_already_displayed = sal.symtab != 0
-        && tui_source_is_displayed (sal.symtab->filename);
+        && tui_source_is_displayed (symtab_to_fullname (sal.symtab));
 
       if (get_frame_pc_if_available (fi, &pc))
        tui_set_locator_info (get_frame_arch (fi),
-                             sal.symtab == 0 ? "??" : sal.symtab->filename,
+                             (sal.symtab == 0
+                              ? "??" : symtab_to_fullname (sal.symtab)),
                              tui_get_function_from_frame (fi),
                              sal.line,
                              pc);
index f58963974b624167c9d22145600dbe5416cdbf4b..9ba3806bfc47923a7244e14aa4c05f93e28c78a0 100644 (file)
@@ -24,7 +24,7 @@
 
 struct frame_info;
 
-extern void tui_update_locator_filename (const char *);
+extern void tui_update_locator_fullname (const char *);
 extern void tui_show_locator_content (void);
 extern void tui_show_frame_info (struct frame_info *);
 
index 225b89036de9a2eb8e11cbd69bdea6d91fdaefbf..ee6827ea047775955408e86a970fa0b7c5fa9ba8 100644 (file)
@@ -59,9 +59,9 @@ tui_display_main (void)
          tui_update_source_windows_with_addr (gdbarch, addr);
          sal = find_pc_line (addr, 0);
           if (sal.symtab)
-             tui_update_locator_filename (sal.symtab->filename);
+             tui_update_locator_fullname (symtab_to_fullname (sal.symtab));
           else
-             tui_update_locator_filename ("??");
+             tui_update_locator_fullname ("??");
        }
     }
 }
index d609de337e2769593a4bfad68bf6dc6db0984e71..27d51576e1b06508dc85fec8e588032fe4b069e4 100644 (file)
@@ -532,7 +532,7 @@ tui_reset (void)
 #endif
 
 void
-tui_show_source (const char *file, int line)
+tui_show_source (const char *fullname, int line)
 {
   struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
@@ -540,7 +540,7 @@ tui_show_source (const char *file, int line)
   tui_add_win_to_layout (SRC_WIN);
 
   tui_update_source_windows_with_line (cursal.symtab, line);
-  tui_update_locator_filename (file);
+  tui_update_locator_fullname (fullname);
 }
 
 void
index 4ed608a92b8136969f84b38b16c58e57e1145295..76a480417075029d2d044316b004e1e2362012b8 100644 (file)
@@ -95,7 +95,7 @@ extern void tui_set_key_mode (enum tui_key_mode mode);
 
 extern int tui_active;
 
-extern void tui_show_source (const char *file, int line);
+extern void tui_show_source (const char *fullname, int line);
 
 extern struct ui_out *tui_out_new (struct ui_file *stream);