Fix symbol table file name on AIX
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Fri, 21 Oct 2016 15:47:15 +0000 (17:47 +0200)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Fri, 21 Oct 2016 15:47:15 +0000 (17:47 +0200)
When xlc -qfuncsect or gcc -ffunction-sections options is used in AIX,
each function csect is associated with each psymtab, so each psymtab
will have it's corresponding filename entries set.

If the pst filename isn't set then we will be seeing the below output
when we set a breakpoint.

(gdb) br main
Breakpoint 1 at 0x10000374: file  _start_ , line 18.

With the fix it will be.

(gdb) br main
Breakpoint 1 at 0x10000518: file test.c, line 24.

Attached patch resolve this issue and correct filename will be set.

gdb/
2016-10-21  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
    Ulrich Weigand  <uweigand@de.ibm.com>

* xcoffread.c (read_xcoff_symtab): Make name of current file as
pst->filename instead of _start_ in AIX.

Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
gdb/ChangeLog
gdb/xcoffread.c

index a8ab8b03c7433d7485e6be89d4ffa28fc35857ee..104e3cb0d62d61667230ccefa374460e58c86dc3 100644 (file)
@@ -1,3 +1,9 @@
+2016-10-21  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
+           Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * xcoffread.c (read_xcoff_symtab): Make name of current file as
+       pst->filename instead of _start_ in AIX.
+
 2016-10-21  Philipp Rudo  <prudo@linux.vnet.ibm.com>
 
        * solist.h (struct target_so_ops): Delete special_symbol_handling
index 507baf2f4ac8c8ce0581ead4633f5181685206d0..02c1e5a39ce6a3562d8217412885194829c936e8 100644 (file)
@@ -1026,7 +1026,7 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
   union internal_auxent fcn_aux_saved = main_aux;
   struct context_stack *newobj;
 
-  char *filestring = " _start_ ";      /* Name of the current file.  */
+  char *filestring = pst->filename;    /* Name of the current file.  */
 
   const char *last_csect_name; /* Last seen csect's name.  */