From: Paul N. Hilfinger Date: Sat, 16 Aug 2008 08:49:23 +0000 (+0000) Subject: (scan_xcoff_symtab): Do not include global symbols X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9f1d54327856555cb425e78313366cc77752a967;p=binutils-gdb.git (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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d709b5b4096..a70372790e7 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 660e0121436..edcd13d0a43 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,