aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/valops.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ade4f40..59b1a43 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2000-06-12 Fernando Nasser <fnasser@cygnus.com>
+
+ * valops.c (value_assign): Adjust the length to take into
+ consideration that we are not starting from the beginning.
+
2000-06-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* symfile.c (add_symbol_file_command): Properly reformat "else if"
diff --git a/gdb/valops.c b/gdb/valops.c
index c84e7a7..16241bf 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -660,7 +660,8 @@ value_assign (toval, fromval)
if (VALUE_BITSIZE (toval))
{
char buffer[sizeof (LONGEST)];
- int len = REGISTER_RAW_SIZE (VALUE_REGNO (toval));
+ int len =
+ REGISTER_RAW_SIZE (VALUE_REGNO (toval)) - VALUE_OFFSET (toval);
if (len > (int) sizeof (LONGEST))
error ("Can't handle bitfields in registers larger than %d bits.",