aboutsummaryrefslogtreecommitdiff
path: root/gdb/values.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/values.c')
-rw-r--r--gdb/values.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/values.c b/gdb/values.c
index c7ab7b7..08c970b 100644
--- a/gdb/values.c
+++ b/gdb/values.c
@@ -453,6 +453,11 @@ set_internalvar (var, val)
free ((PTR)var->value);
var->value = value_copy (val);
+ /* Force the value to be fetched from the target now, to avoid problems
+ later when this internalvar is referenced and the target is gone or
+ has changed. */
+ if (VALUE_LAZY (var->value))
+ value_fetch_lazy (var->value);
release_value (var->value);
}