From f29dff0a0940505506d27e54afbd750b8409846b Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Wed, 2 Dec 2009 11:44:35 +0000 Subject: [PATCH] 2009-12-02 Tristan Gingold * symfile.h (dwarf2_build_psymtabs): Remove mainline parameter in prototype. * dwarf2read.c (dwarf2_build_psymtabs): Remove mainline paramter in definition, simplify code assuming it is always 0. * coffread.c (coff_symfile_read): Adjust call. * elfread.c (elf_symfile_read): Ditto. * machoread.c (macho_symfile_read): Explicitely calls init_psymbol_list if mainline is set. --- gdb/ChangeLog | 11 +++++++++++ gdb/coffread.c | 2 +- gdb/dwarf2read.c | 6 ++---- gdb/elfread.c | 2 +- gdb/machoread.c | 7 ++++++- gdb/symfile.h | 2 +- 6 files changed, 22 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a90c40a..2bce667 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,16 @@ 2009-12-02 Tristan Gingold + * symfile.h (dwarf2_build_psymtabs): Remove mainline parameter in + prototype. + * dwarf2read.c (dwarf2_build_psymtabs): Remove mainline paramter in + definition, simplify code assuming it is always 0. + * coffread.c (coff_symfile_read): Adjust call. + * elfread.c (elf_symfile_read): Ditto. + * machoread.c (macho_symfile_read): Explicitely calls + init_psymbol_list if mainline is set. + +2009-12-02 Tristan Gingold + * dwarf2read.c (dwarf2_build_psymtabs_easy): Remove mainline parameter. (dwarf2_build_psymtabs_hard): Ditto. (dwarf2_build_psymtabs): Ajust calls. diff --git a/gdb/coffread.c b/gdb/coffread.c index d66312b..84edfc5 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -641,7 +641,7 @@ coff_symfile_read (struct objfile *objfile, int mainline) if (dwarf2_has_info (objfile)) { /* DWARF2 sections. */ - dwarf2_build_psymtabs (objfile, mainline); + dwarf2_build_psymtabs (objfile); } dwarf2_build_frame_info (objfile); diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 0fa63a5..a92d923 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -1448,7 +1448,7 @@ dwarf2_get_section_info (struct objfile *objfile, const char *section_name, /* Build a partial symbol table. */ void -dwarf2_build_psymtabs (struct objfile *objfile, int mainline) +dwarf2_build_psymtabs (struct objfile *objfile) { dwarf2_read_section (objfile, &dwarf2_per_objfile->info); dwarf2_read_section (objfile, &dwarf2_per_objfile->abbrev); @@ -1461,9 +1461,7 @@ dwarf2_build_psymtabs (struct objfile *objfile, int mainline) dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->frame); - if (mainline - || (objfile->global_psymbols.size == 0 - && objfile->static_psymbols.size == 0)) + if (objfile->global_psymbols.size == 0 && objfile->static_psymbols.size == 0) { init_psymbol_list (objfile, 1024); } diff --git a/gdb/elfread.c b/gdb/elfread.c index b9e1568..d143e63 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -743,7 +743,7 @@ elf_symfile_read (struct objfile *objfile, int mainline) if (dwarf2_has_info (objfile)) { /* DWARF 2 sections */ - dwarf2_build_psymtabs (objfile, mainline); + dwarf2_build_psymtabs (objfile); } /* FIXME: kettenis/20030504: This still needs to be integrated with diff --git a/gdb/machoread.c b/gdb/machoread.c index ebd90c6..5e0a658 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -649,10 +649,15 @@ macho_symfile_read (struct objfile *objfile, int mainline) } } + /* If we are reinitializing, or if we have never loaded syms yet, + set table to empty. */ + if (mainline) + init_psymbol_list (objfile, 0); + if (dwarf2_has_info (objfile)) { /* DWARF 2 sections */ - dwarf2_build_psymtabs (objfile, mainline); + dwarf2_build_psymtabs (objfile); } /* Do not try to read .eh_frame/.debug_frame as they are not relocated diff --git a/gdb/symfile.h b/gdb/symfile.h index f73d22d..40f7db7 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -380,7 +380,7 @@ void free_symfile_segment_data (struct symfile_segment_data *data); extern int dwarf2_has_info (struct objfile *); -extern void dwarf2_build_psymtabs (struct objfile *, int); +extern void dwarf2_build_psymtabs (struct objfile *); extern void dwarf2_build_frame_info (struct objfile *); void dwarf2_free_objfile (struct objfile *); -- 2.7.4