(scan_xcoff_symtab): Do not include global symbols
authorPaul N. Hilfinger <hilfinger@adacore.com>
Sat, 16 Aug 2008 08:49:23 +0000 (08:49 +0000)
committerPaul N. Hilfinger <hilfinger@adacore.com>
Sat, 16 Aug 2008 08:49:23 +0000 (08:49 +0000)
 ('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
gdb/xcoffread.c

index d709b5b4096583365ecc51d7b7a8e39266ed34b7..a70372790e76a1ab5d523c97058178b1fca98131 100644 (file)
@@ -1,3 +1,11 @@
+2008-08-16  Paul N. Hilfinger  <hilfingr@adacore.com>
+
+       * 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  <pedro@codesourcery.com>
 
        * infrun.c (fetch_inferior_event): Only call normal_stop if not
index 660e0121436c992b9ef4631bb87b2911e165d838..edcd13d0a431a2216dfe07d993ba61aea6e2b466 100644 (file)
@@ -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,