aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2010-09-14 19:39:59 +0000
committerTom Tromey <tromey@redhat.com>2010-09-14 19:39:59 +0000
commit7155d5780a29c29184d5794107f87a5f3b5e8517 (patch)
treed5ad57f24467b9dfd2d1e37fbbb29de54d1fda83 /gdb
parent515ed532307e751b26e34347ee7258f164eb053f (diff)
downloadfsf-binutils-gdb-7155d5780a29c29184d5794107f87a5f3b5e8517.zip
fsf-binutils-gdb-7155d5780a29c29184d5794107f87a5f3b5e8517.tar.gz
fsf-binutils-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/ChangeLog6
-rw-r--r--gdb/dwarf2loc.c7
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.threads/tls.exp4
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.