diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-04-02 21:01:41 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2009-04-02 21:01:41 +0000 |
commit | de40b933e2a58bdd085dc97f9189ca4cc2026220 (patch) | |
tree | 0ae31c469fa01a3a3db881b9519a9aaef19e7ff8 /gdb/symtab.h | |
parent | 6cbbcdfe20d083b436357402ca90587aa5bad7fc (diff) | |
download | gdb-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.h | 8 |
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, |