aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2009-04-02 21:01:41 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2009-04-02 21:01:41 +0000
commitde40b933e2a58bdd085dc97f9189ca4cc2026220 (patch)
tree0ae31c469fa01a3a3db881b9519a9aaef19e7ff8 /gdb/symtab.h
parent6cbbcdfe20d083b436357402ca90587aa5bad7fc (diff)
downloadgdb-de40b933e2a58bdd085dc97f9189ca4cc2026220.zip
gdb-de40b933e2a58bdd085dc97f9189ca4cc2026220.tar.gz
gdb-de40b933e2a58bdd085dc97f9189ca4cc2026220.tar.bz2
gdb/
* dwarf2read.c (new_symbol <DW_TAG_variable> <!DW_AT_location> <DW_AT_external>): Create the symbol in local scope. * symtab.h (cu->list_in_scope <LOC_UNRESOLVED>): New comment part. gdb/testsuite/ * gdb.dwarf2/dw2-unresolved-main.c, gdb.dwarf2/dw2-unresolved.S, gdb.dwarf2/dw2-unresolved.exp: New.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r--gdb/symtab.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 8b086f3..f7689f6 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -472,7 +472,13 @@ enum address_class
in another object file or runtime common storage.
The linker might even remove the minimal symbol if the global
symbol is never referenced, in which case the symbol remains
- unresolved. */
+ unresolved.
+
+ GDB would normally find the symbol in the minimal symbol table if it will
+ not find it in the full symbol table. But a reference to an external
+ symbol in a local block shadowing other definition requires full symbol
+ without possibly having its address available for LOC_STATIC. Testcase
+ is provided as `gdb.dwarf2/dw2-unresolved.exp'. */
LOC_UNRESOLVED,