diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d709b5b409..a70372790e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2008-08-16 Paul N. Hilfinger + + * xcoffread.c (scan_xcoff_symtab): Do not include global symbols + ('F' format) for @FIX names generated by the loader, retaining only + the minimal symbols (and no partial symbol tables) for these names. + Fixes warning messages about symbols that are found in partial + symbol tables, but not full symbol tables. + 2008-08-16 Pedro Alves * infrun.c (fetch_inferior_event): Only call normal_stop if not diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index 660e012143..edcd13d0a4 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -2755,6 +2755,14 @@ scan_xcoff_symtab (struct objfile *objfile) function_outside_compilation_unit_complaint (name); xfree (name); } + + /* We need only the minimal symbols for these + loader-generated definitions. Keeping the global + symbols leads to "in psymbols but not in symbols" + errors. */ + if (strncmp (namestring, "@FIX", 4) == 0) + continue; + symbol.n_value += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); add_psymbol_to_list (namestring, p - namestring, VAR_DOMAIN, LOC_BLOCK,