<unavailable> references.
authorPedro Alves <palves@redhat.com>
Mon, 14 Feb 2011 11:27:36 +0000 (11:27 +0000)
committerPedro Alves <palves@redhat.com>
Mon, 14 Feb 2011 11:27:36 +0000 (11:27 +0000)
gdb/
* valops.c (get_value_at): Use value_from_contents_and_address,
avoiding read_memory.

gdb/ChangeLog
gdb/valops.c

index 34ebe9b..b77cdf2 100644 (file)
@@ -1,5 +1,12 @@
 2011-02-14  Pedro Alves  <pedro@codesourcery.com>
 
+       <unavailable> references.
+
+       * valops.c (get_value_at): Use value_from_contents_and_address,
+       avoiding read_memory.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
        * c-valprint.c (c_val_print): Print a string with unavailable
        contents as an array.
 
index 802242c..ab31976 100644 (file)
@@ -917,18 +917,10 @@ get_value_at (struct type *type, CORE_ADDR addr, int lazy)
   if (TYPE_CODE (check_typedef (type)) == TYPE_CODE_VOID)
     error (_("Attempt to dereference a generic pointer."));
 
-  if (lazy)
-    {
-      val = allocate_value_lazy (type);
-    }
-  else
-    {
-      val = allocate_value (type);
-      read_memory (addr, value_contents_all_raw (val), TYPE_LENGTH (type));
-    }
+  val = value_from_contents_and_address (type, NULL, addr);
 
-  VALUE_LVAL (val) = lval_memory;
-  set_value_address (val, addr);
+  if (!lazy)
+    value_fetch_lazy (val);
 
   return val;
 }