aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2loc.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f5c314f..4236270 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing
+ SYMBOL_LOCATION_BATON.
+
2008-05-04 Vladimir Prus <vladimir@codesourcery.com>
* target.h (struct target_ops): New field to_auxv_parse.
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index 4f3612e..f6ef04f 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -166,8 +166,13 @@ dwarf_expr_frame_base (void *baton, gdb_byte **start, size_t * length)
{
struct dwarf2_locexpr_baton *symbaton;
symbaton = SYMBOL_LOCATION_BATON (framefunc);
- *length = symbaton->size;
- *start = symbaton->data;
+ if (symbaton != NULL)
+ {
+ *length = symbaton->size;
+ *start = symbaton->data;
+ }
+ else
+ *start = NULL;
}
if (*start == NULL)