Get register contents by register_size instead of TYPE_LENGTH
authorYao Qi <yao.qi@linaro.org>
Wed, 24 May 2017 21:15:23 +0000 (22:15 +0100)
committerYao Qi <yao.qi@linaro.org>
Wed, 24 May 2017 21:15:23 +0000 (22:15 +0100)
We should use register_size to get register contents instead of
TYPE_LENGTH.

gdb:

2017-05-24  Yao Qi  <yao.qi@linaro.org>

* i387-tdep.c (i387_register_to_value): Use register_size
instead of TYPE_LENGTH.
* m68k-tdep.c (m68k_register_to_value): Likewise.

gdb/ChangeLog
gdb/i387-tdep.c
gdb/m68k-tdep.c

index 29cd306..ea75f07 100644 (file)
@@ -1,5 +1,11 @@
 2017-05-24  Yao Qi  <yao.qi@linaro.org>
 
+       * i387-tdep.c (i387_register_to_value): Use register_size
+       instead of TYPE_LENGTH.
+       * m68k-tdep.c (m68k_register_to_value): Likewise.
+
+2017-05-24  Yao Qi  <yao.qi@linaro.org>
+
        * i387-tdep.c (i387_convert_register_p): Return false if type
        code isn't TYPE_CODE_FLT.
 
index 925f4e5..574914c 100644 (file)
@@ -375,7 +375,8 @@ i387_register_to_value (struct frame_info *frame, int regnum,
     }
 
   /* Convert to TYPE.  */
-  if (!get_frame_register_bytes (frame, regnum, 0, TYPE_LENGTH (type),
+  if (!get_frame_register_bytes (frame, regnum, 0,
+                                register_size (gdbarch, regnum),
                                 from, optimizedp, unavailablep))
     return 0;
 
index f093446..619a40b 100644 (file)
@@ -201,13 +201,15 @@ m68k_register_to_value (struct frame_info *frame, int regnum,
                        struct type *type, gdb_byte *to,
                        int *optimizedp, int *unavailablep)
 {
+  struct gdbarch *gdbarch = get_frame_arch (frame);
   gdb_byte from[M68K_MAX_REGISTER_SIZE];
   struct type *fpreg_type = register_type (gdbarch, M68K_FP0_REGNUM);
 
   gdb_assert (TYPE_CODE (type) == TYPE_CODE_FLT);
 
   /* Convert to TYPE.  */
-  if (!get_frame_register_bytes (frame, regnum, 0, TYPE_LENGTH (type),
+  if (!get_frame_register_bytes (frame, regnum, 0,
+                                register_size (gdbarch, regnum),
                                 from, optimizedp, unavailablep))
     return 0;