Fri Aug 2 00:13:06 1991 John Gilmore (gnu at cygint.cygnus.com)
+ * values.c (basetype_addr): When reading target memory, use the
+ length of the basetype, not the upper type. We've only malloc'd
+ enough space for the basetype, leading to errors in free().
+
* expprint.c (print_subexp): Print UNOP_MEMVAL of an OP_LONG that
ends up as a function specially, since we know the actual type of
the pointed-to address. This (somewhat) fixes display of
status = target_read_memory (addr,
VALUE_CONTENTS_RAW (val),
- TYPE_LENGTH (type));
+ TYPE_LENGTH (basetype));
VALUE_LVAL (val) = lval_memory;
VALUE_ADDRESS (val) = addr;