From 85622eb8d78dfa93e7034ef519e2e7f8557d6cc5 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Sun, 3 Feb 2013 16:13:26 +0000 Subject: gdb/ * ada-lang.c (user_select_syms): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * breakpoint.c (print_breakpoint_location, resolve_sal_pc): Likewise. (clear_command): New variable sal_fullname, initialize it. Replace compare_filenames_for_search by filename_cmp with sal_fullname. (say_where, update_static_tracepoint): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * cli/cli-cmds.c (edit_command, list_command, ambiguous_line_spec): Likewise. * dwarf2read.c: Include source.h. (fixup_go_packaging): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * linespec.c (add_sal_to_sals): Rename variable filename to fullname. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (create_sals_line_offset, convert_linespec_to_sals): New variable fullname, initialize it, replace symtab->filename reference by the variable. * linux-fork.c: Include source.h. (info_checkpoints_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * macroscope.c (sal_macro_scope): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * mdebugread.c: Include source.h. (psymtab_to_symtab_1): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file) (mi_cmd_file_list_exec_source_files): Likewise. * printcmd.c: Include source.h. (build_address_symbolic): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * psymtab.c (partial_map_symtabs_matching_filename) (read_psymtabs_with_fullname): Call compare_filenames_for_search also with psymtab_to_fullname. * python/py-symtab.c (stpy_str): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (stpy_get_filename): New variable filename, initialize it, use instead of symtab->filename refererences. (salpy_str): Make variable filename const char *. Replace symtab->filename refererences by symtab_to_filename_for_display calls. * skip.c: Include source.h and filenames.h. (skip_file_command): Remove const from the symtab variable. Replace symtab->filename refererences by symtab_to_fullname call. (function_name_is_marked_for_skip): New variables searched_for_fullname and fullname. Use them to search also with symtab's fullname. * source.c (find_source_lines): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (print_source_lines_base): New variable filename, use it instead of symtab->filename. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (line_info, forward_search_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (reverse_search_command): Replace symtab->filename refererences by symtab_to_filename_for_display calls. New variable filename for it. * stack.c (frame_info): Likewise. * symmisc.c: Include source.h. (dump_objfile, dump_symtab_1, maintenance_print_symbols) (maintenance_info_symtabs): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * symtab.c (iterate_over_some_symtabs): Call compare_filenames_for_search also with symtab_to_fullname. (lookup_symbol_aux_quick, basic_lookup_transparent_type_quick): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (find_line_symtab): Replace symtab->filename refererences by symtab_to_filename_for_display calls. (file_matches): Replace filename_cmp by compare_filenames_for_search. (print_symbol_info): Make the last parameter const char *. New variable s_filename. Use it in the function. (symtab_symbol_info): Make the last_filename variable const char *. Replace symtab->filename refererences by symtab_to_filename_for_display calls. (rbreak_command): New variable fullname. Use it. Replace symtab->filename refererence by symtab_to_filename_for_display call. * tracepoint.c (set_traceframe_context, trace_find_line_command) (print_one_static_tracepoint_marker): Replace symtab->filename refererences by symtab_to_filename_for_display calls. * tui/tui-source.c (tui_set_source_content): New variables filename and s_filename. Replace symtab->filename refererences by this variable. Replace other symtab->filename refererences by symtab_to_filename_for_display calls. --- gdb/symtab.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'gdb/symtab.c') diff --git a/gdb/symtab.c b/gdb/symtab.c index 690cda1ff55..072b3da43d4 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -219,6 +219,12 @@ iterate_over_some_symtabs (const char *name, && FILENAME_CMP (base_name, lbasename (s->filename)) != 0) continue; + if (compare_filenames_for_search (symtab_to_fullname (s), name)) + { + if (callback (s, data)) + return 1; + } + /* If the user gave us an absolute path, try to find the file in this symtab and use its absolute path. */ @@ -1650,7 +1656,7 @@ Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n\ %s may be an inlined function, or may be a template function\n\ (if a template, try specifying an instantiation: %s)."), kind == GLOBAL_BLOCK ? "global" : "static", - name, symtab->filename, name, name); + name, symtab_to_filename_for_display (symtab), name, name); } return fixup_symbol_section (sym, objfile); } @@ -1855,7 +1861,7 @@ basic_lookup_transparent_type_quick (struct objfile *objfile, int kind, Internal: global symbol `%s' found in %s psymtab but not in symtab.\n\ %s may be an inlined function, or may be a template function\n\ (if a template, try specifying an instantiation: %s)."), - name, symtab->filename, name, name); + name, symtab_to_filename_for_display (symtab), name, name); } if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym))) return SYMBOL_TYPE (sym); @@ -2502,7 +2508,7 @@ find_line_symtab (struct symtab *symtab, int line, { if (objfile->sf) objfile->sf->qf->expand_symtabs_with_fullname (objfile, - symtab->filename); + symtab_to_fullname (symtab)); } ALL_SYMTABS (objfile, s) @@ -3268,7 +3274,7 @@ file_matches (const char *file, char *files[], int nfiles) { for (i = 0; i < nfiles; i++) { - if (filename_cmp (files[i], lbasename (file)) == 0) + if (compare_filenames_for_search (file, files[i])) return 1; } } @@ -3699,12 +3705,14 @@ search_symbols (char *regexp, enum search_domain kind, static void print_symbol_info (enum search_domain kind, struct symtab *s, struct symbol *sym, - int block, char *last) + int block, const char *last) { - if (last == NULL || filename_cmp (last, s->filename) != 0) + const char *s_filename = symtab_to_filename_for_display (s); + + if (last == NULL || filename_cmp (last, s_filename) != 0) { fputs_filtered ("\nFile ", gdb_stdout); - fputs_filtered (s->filename, gdb_stdout); + fputs_filtered (s_filename, gdb_stdout); fputs_filtered (":\n", gdb_stdout); } @@ -3762,7 +3770,7 @@ symtab_symbol_info (char *regexp, enum search_domain kind, int from_tty) struct symbol_search *symbols; struct symbol_search *p; struct cleanup *old_chain; - char *last_filename = NULL; + const char *last_filename = NULL; int first = 1; gdb_assert (kind <= TYPES_DOMAIN); @@ -3797,7 +3805,7 @@ symtab_symbol_info (char *regexp, enum search_domain kind, int from_tty) p->symbol, p->block, last_filename); - last_filename = p->symtab->filename; + last_filename = symtab_to_filename_for_display (p->symtab); } } @@ -3881,7 +3889,9 @@ rbreak_command (char *regexp, int from_tty) { if (p->msymbol == NULL) { - int newlen = (strlen (p->symtab->filename) + const char *fullname = symtab_to_fullname (p->symtab); + + int newlen = (strlen (fullname) + strlen (SYMBOL_LINKAGE_NAME (p->symbol)) + 4); @@ -3890,7 +3900,7 @@ rbreak_command (char *regexp, int from_tty) string = xrealloc (string, newlen); len = newlen; } - strcpy (string, p->symtab->filename); + strcpy (string, fullname); strcat (string, ":'"); strcat (string, SYMBOL_LINKAGE_NAME (p->symbol)); strcat (string, "'"); @@ -3899,7 +3909,7 @@ rbreak_command (char *regexp, int from_tty) p->symtab, p->symbol, p->block, - p->symtab->filename); + symtab_to_filename_for_display (p->symtab)); } else { -- cgit v1.2.1