Reviewed and approved by Kevin Buettner <kevinb@redhat.com>

2002-09-09  Fred Fish  <fnf@intrinsity.com>
	* printcmd.c (print_scalar_formatted): "len" is the number of
	target bytes, NOT the number of target bits.
This commit is contained in:
Fred Fish 2002-09-10 02:04:38 +00:00
parent 4a386c0bd2
commit d0aee0c4b8
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-09-09 Fred Fish <fnf@intrinsity.com>
* printcmd.c (print_scalar_formatted): "len" is the number of
target bytes, NOT the number of target bits.
2002-09-09 Elena Zannoni <ezannoni@redhat.com>
From: Emmanuel Thome' <thome@lix.polytechnique.fr>

View File

@ -391,10 +391,10 @@ print_scalar_formatted (char *valaddr, struct type *type, int format, int size,
val_long = unpack_long (type, valaddr);
/* If the value is a pointer, and pointers and addresses are not the
same, then at this point, the value's length is TARGET_ADDR_BIT, not
TYPE_LENGTH (type). */
same, then at this point, the value's length (in target bytes) is
TARGET_ADDR_BIT/TARGET_CHAR_BIT, not TYPE_LENGTH (type). */
if (TYPE_CODE (type) == TYPE_CODE_PTR)
len = TARGET_ADDR_BIT;
len = TARGET_ADDR_BIT / TARGET_CHAR_BIT;
/* If we are printing it as unsigned, truncate it in case it is actually
a negative signed value (e.g. "print/u (short)-1" should print 65535