From f35a17b5424e3d92d168c2a30d85940294c22d9a Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Tue, 25 Dec 2012 08:03:33 +0000 Subject: gdb/ * ada-lang.c (is_known_support_routine): New variable fullname. Use access call to verify the symtab_to_fullname result. * breakpoint.c (print_breakpoint_location, update_static_tracepoint): Remove NULL check of symtab_to_fullname result. * cli/cli-cmds.c (edit_command): Likewise. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file) (mi_cmd_file_list_exec_source_files): Likewise. * python/py-symtab.c (stpy_fullname): Likewise. * source.c (symtab_to_fullname): Update function comment. Rename variable r to fd, move it to inner block. Always provide non-NULL result. (print_source_lines_base): Remove NULL check of symtab_to_fullname result. * stack.c (print_frame): Likewise. * symtab.c (iterate_over_some_symtabs, find_line_symtab, sources_info): Likewise. * tracepoint.c (print_one_static_tracepoint_marker): Likewise. gdb/doc/ * gdb.texinfo (GDB/MI Data Manipulation) (fullname): Make it always present. (GDB/MI File Commands) (-file-list-exec-source-files): Make the fullname output always present. gdb/testsuite/ * gdb.mi/mi-fullname-deleted.exp: New file. --- gdb/symtab.c | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) (limited to 'gdb/symtab.c') diff --git a/gdb/symtab.c b/gdb/symtab.c index 7c06b41..a39e5bf 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -224,13 +224,13 @@ iterate_over_some_symtabs (const char *name, { const char *fp = symtab_to_fullname (s); - if (fp != NULL && FILENAME_CMP (full_path, fp) == 0) + if (FILENAME_CMP (full_path, fp) == 0) { if (callback (s, data)) return 1; } - if (fp != NULL && !is_abs && compare_filenames_for_search (fp, name)) + if (!is_abs && compare_filenames_for_search (fp, name)) { if (callback (s, data)) return 1; @@ -240,24 +240,20 @@ iterate_over_some_symtabs (const char *name, if (real_path != NULL) { const char *fullname = symtab_to_fullname (s); + char *rp = gdb_realpath (fullname); - if (fullname != NULL) - { - char *rp = gdb_realpath (fullname); - - make_cleanup (xfree, rp); - if (FILENAME_CMP (real_path, rp) == 0) - { - if (callback (s, data)) - return 1; - } + make_cleanup (xfree, rp); + if (FILENAME_CMP (real_path, rp) == 0) + { + if (callback (s, data)) + return 1; + } - if (!is_abs && compare_filenames_for_search (rp, name)) - { - if (callback (s, data)) - return 1; - } - } + if (!is_abs && compare_filenames_for_search (rp, name)) + { + if (callback (s, data)) + return 1; + } } } @@ -2551,9 +2547,6 @@ find_line_symtab (struct symtab *symtab, int line, symtab->filename); } - /* Get symbol full file name if possible. */ - symtab_to_fullname (symtab); - ALL_SYMTABS (objfile, s) { struct linetable *l; @@ -2561,9 +2554,7 @@ find_line_symtab (struct symtab *symtab, int line, if (FILENAME_CMP (symtab->filename, s->filename) != 0) continue; - if (symtab->fullname != NULL - && symtab_to_fullname (s) != NULL - && FILENAME_CMP (symtab->fullname, s->fullname) != 0) + if (FILENAME_CMP (symtab->fullname, symtab_to_fullname (s)) != 0) continue; l = LINETABLE (s); ind = find_line_common (l, line, &exact, 0); @@ -3294,7 +3285,7 @@ sources_info (char *ignore, int from_tty) { const char *fullname = symtab_to_fullname (s); - output_source_filename (fullname ? fullname : s->filename, &data); + output_source_filename (fullname, &data); } printf_filtered ("\n\n"); -- cgit v1.1