X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fjv-valprint.c;h=12a960f09d8e10d6f417a4ba1fd008448c25f856;hb=3a4ae681237c26ac55603f3a92c92fd748108cd2;hp=648dbc7a3b52a4ce5fa17287c47c90f082a671a3;hpb=d3eab38a48ec521922e7d07595fd693df7ff3510;p=binutils-gdb.git diff --git a/gdb/jv-valprint.c b/gdb/jv-valprint.c index 648dbc7a3b5..12a960f09d8 100644 --- a/gdb/jv-valprint.c +++ b/gdb/jv-valprint.c @@ -51,10 +51,13 @@ java_value_print (struct value *val, struct ui_file *stream, if (is_object_type (type)) { CORE_ADDR obj_addr; + struct value *tem = val; /* Get the run-time type, and cast the object into that. */ + while (TYPE_CODE (value_type (tem)) == TYPE_CODE_PTR) + tem = value_ind (tem); - obj_addr = unpack_pointer (type, value_contents (val)); + obj_addr = value_address (tem); if (obj_addr != 0) {