aboutsummaryrefslogtreecommitdiff
path: root/gdb/xcoffread.c
diff options
context:
space:
mode:
authorPaul N. Hilfinger <hilfinger@adacore.com>2008-08-16 08:49:23 +0000
committerPaul N. Hilfinger <hilfinger@adacore.com>2008-08-16 08:49:23 +0000
commit9f1d54327856555cb425e78313366cc77752a967 (patch)
treefd431a37472faee6a1e4003bf9c251182d6dc42a /gdb/xcoffread.c
parente7c8859c2139c644b2d3506e75ad0c9e368ea2eb (diff)
downloadgdb-9f1d54327856555cb425e78313366cc77752a967.zip
gdb-9f1d54327856555cb425e78313366cc77752a967.tar.gz
gdb-9f1d54327856555cb425e78313366cc77752a967.tar.bz2
(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.
Diffstat (limited to 'gdb/xcoffread.c')
-rw-r--r--gdb/xcoffread.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 660e012..edcd13d 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,