From 9f1d54327856555cb425e78313366cc77752a967 Mon Sep 17 00:00:00 2001 From: "Paul N. Hilfinger" Date: Sat, 16 Aug 2008 08:49:23 +0000 Subject: [PATCH] (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. --- gdb/ChangeLog | 8 ++++++++ gdb/xcoffread.c | 8 ++++++++ 2 files changed, 16 insertions(+) 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,