From a3d34bf49acc2aa68810ac66fb1047e99a8bdd26 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 14 Feb 2011 11:27:36 +0000 Subject: [PATCH] references. gdb/ * valops.c (get_value_at): Use value_from_contents_and_address, avoiding read_memory. --- gdb/ChangeLog | 7 +++++++ gdb/valops.c | 14 +++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 34ebe9b..b77cdf2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2011-02-14 Pedro Alves + references. + + * valops.c (get_value_at): Use value_from_contents_and_address, + avoiding read_memory. + +2011-02-14 Pedro Alves + * c-valprint.c (c_val_print): Print a string with unavailable contents as an array. diff --git a/gdb/valops.c b/gdb/valops.c index 802242c..ab31976 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -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; } -- 2.7.4