diff options
author | Tom Tromey <tromey@redhat.com> | 2010-09-14 19:39:59 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2010-09-14 19:39:59 +0000 |
commit | 7155d5780a29c29184d5794107f87a5f3b5e8517 (patch) | |
tree | d5ad57f24467b9dfd2d1e37fbbb29de54d1fda83 /gdb | |
parent | 515ed532307e751b26e34347ee7258f164eb053f (diff) | |
download | gdb-7155d5780a29c29184d5794107f87a5f3b5e8517.zip gdb-7155d5780a29c29184d5794107f87a5f3b5e8517.tar.gz gdb-7155d5780a29c29184d5794107f87a5f3b5e8517.tar.bz2 |
gdb
PR symtab/8399:
* dwarf2loc.c (locexpr_describe_location_piece): Don't call error
for unrecognized frame base expression.
gdb/testsuite
PR symtab/8399:
* gdb.threads/tls.exp: Remove kfail. Update expected output.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/dwarf2loc.c | 7 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.threads/tls.exp | 4 |
4 files changed, 15 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f6dd013..b6ff84a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2010-09-14 Tom Tromey <tromey@redhat.com> + PR symtab/8399: + * dwarf2loc.c (locexpr_describe_location_piece): Don't call error + for unrecognized frame base expression. + +2010-09-14 Tom Tromey <tromey@redhat.com> + PR exp/11803: * value.c (value_static_field): Use value_of_variable. diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 909dba1..b2aecf2 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -1940,7 +1940,7 @@ locexpr_describe_location_piece (struct symbol *symbol, struct ui_file *stream, struct symbol *framefunc; int frame_reg = 0; LONGEST frame_offset; - const gdb_byte *base_data, *new_data; + const gdb_byte *base_data, *new_data, *save_data = data; size_t base_size; LONGEST base_offset = 0; @@ -1984,10 +1984,7 @@ locexpr_describe_location_piece (struct symbol *symbol, struct ui_file *stream, { /* We don't know what to do with the frame base expression, so we can't trace this variable; give up. */ - error (_("Cannot describe location of symbol \"%s\"; " - "DWARF 2 encoding not handled, " - "first opcode in base data is 0x%x."), - SYMBOL_PRINT_NAME (symbol), base_data[0]); + return save_data; } regno = gdbarch_dwarf2_reg_to_regnum (gdbarch, frame_reg); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 3e5533b..dad5bef 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2010-09-14 Tom Tromey <tromey@redhat.com> + PR symtab/8399: + * gdb.threads/tls.exp: Remove kfail. Update expected output. + +2010-09-14 Tom Tromey <tromey@redhat.com> + PR exp/11803: * gdb.threads/tls.exp: Use C++. (check_thread_local): Use K::another_thread_local. diff --git a/gdb/testsuite/gdb.threads/tls.exp b/gdb/testsuite/gdb.threads/tls.exp index 343b985..eb76f1a 100644 --- a/gdb/testsuite/gdb.threads/tls.exp +++ b/gdb/testsuite/gdb.threads/tls.exp @@ -284,8 +284,8 @@ runto spin gdb_test "info address a_global" \ ".*a_global.*static storage at address.*" "info address a_global" -setup_kfail "gdb/1294" "*-*-*" -gdb_test "info address me" ".*me.*is a variable at offset.*" "info address me" +gdb_test "info address me" ".*me.*is a complex DWARF expression:.*" \ + "info address me" # Test LOC_UNRESOLVED references resolving for `extern' TLS variables. |