* findvar.c (locate_var_value): Do not call get_frame_arch
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 21 Aug 2008 20:29:00 +0000 (20:29 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Thu, 21 Aug 2008 20:29:00 +0000 (20:29 +0000)
with a NULL frame argument.

gdb/ChangeLog
gdb/findvar.c

index 17215541506b5fe3d2fb11cafc82c32231462d9d..43eddfc1e5d728b225f409914da48ffdbcecaad8 100644 (file)
@@ -1,3 +1,8 @@
+2008-08-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * findvar.c (locate_var_value): Do not call get_frame_arch
+       with a NULL frame argument.
+
 2008-08-21  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * frame.h (frame_map_regnum_to_name): Remove prototype.
index e67a66623a3163d693e8a3da4973872590b83478..a39c8ff7eeffe253417ca2b2e78a9b90b6713a3b 100644 (file)
@@ -660,7 +660,7 @@ address_from_register (struct type *type, int regnum, struct frame_info *frame)
 struct value *
 locate_var_value (struct symbol *var, struct frame_info *frame)
 {
-  struct gdbarch *gdbarch = get_frame_arch (frame);
+  struct gdbarch *gdbarch;
   CORE_ADDR addr = 0;
   struct type *type = SYMBOL_TYPE (var);
   struct value *lazy_value;
@@ -686,6 +686,8 @@ locate_var_value (struct symbol *var, struct frame_info *frame)
   switch (VALUE_LVAL (lazy_value))
     {
     case lval_register:
+      gdb_assert (frame);
+      gdbarch = get_frame_arch (frame);
       gdb_assert (gdbarch_register_name
                   (gdbarch, VALUE_REGNUM (lazy_value)) != NULL
                  && *gdbarch_register_name