aboutsummaryrefslogtreecommitdiff
path: root/gdb/valops.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/valops.c')
-rw-r--r--gdb/valops.c3
1 files changed, 2 insertions, 1 deletions
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.",