]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
xtensa_pseudo_register_read/write - Use regcache_raw_read_unsigned
authorAlan Hayward <alan.hayward@arm.com>
Wed, 26 Apr 2017 09:32:35 +0000 (10:32 +0100)
committerAlan Hayward <alan.hayward@arm.com>
Wed, 26 Apr 2017 09:34:15 +0000 (10:34 +0100)
gdb/
* xtensa-tdep.c (xtensa_pseudo_register_read): Use
regcache_raw_read_unsigned.
(xtensa_pseudo_register_write): Likewise.

gdb/ChangeLog
gdb/xtensa-tdep.c

index 52ef8d99de4ebe246b59d1c55f99f46b72075898..03bec1f021d04c4cead423b9da96deda3d6c0249 100644 (file)
@@ -1,3 +1,9 @@
+2017-04-26  Alan Hayward  <alan.hayward@arm.com>
+
+       * xtensa-tdep.c (xtensa_pseudo_register_read): Use
+       regcache_raw_read_unsigned.
+       (xtensa_pseudo_register_write): Likewise.
+
 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
 
        * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
index 0fcd483165450a780c0fcded5c266a36bf339757..0a4ed37cf9582a7aa43ec601fc013f1f93624a39 100644 (file)
@@ -559,16 +559,15 @@ xtensa_pseudo_register_read (struct gdbarch *gdbarch,
       && (regnum >= gdbarch_tdep (gdbarch)->a0_base)
       && (regnum <= gdbarch_tdep (gdbarch)->a0_base + 15))
     {
-      gdb_byte *buf = (gdb_byte *) alloca (MAX_REGISTER_SIZE);
+      ULONGEST value;
       enum register_status status;
 
-      status = regcache_raw_read (regcache,
-                                 gdbarch_tdep (gdbarch)->wb_regnum,
-                                 buf);
+      status = regcache_raw_read_unsigned (regcache,
+                                          gdbarch_tdep (gdbarch)->wb_regnum,
+                                          &value);
       if (status != REG_VALID)
        return status;
-      regnum = arreg_number (gdbarch, regnum,
-                            extract_unsigned_integer (buf, 4, byte_order));
+      regnum = arreg_number (gdbarch, regnum, value);
     }
 
   /* We can always read non-pseudo registers.  */
@@ -656,12 +655,10 @@ xtensa_pseudo_register_write (struct gdbarch *gdbarch,
       && (regnum >= gdbarch_tdep (gdbarch)->a0_base)
       && (regnum <= gdbarch_tdep (gdbarch)->a0_base + 15))
     {
-      gdb_byte *buf = (gdb_byte *) alloca (MAX_REGISTER_SIZE);
-
-      regcache_raw_read (regcache,
-                        gdbarch_tdep (gdbarch)->wb_regnum, buf);
-      regnum = arreg_number (gdbarch, regnum,
-                            extract_unsigned_integer (buf, 4, byte_order));
+      ULONGEST value;
+      regcache_raw_read_unsigned (regcache,
+                                 gdbarch_tdep (gdbarch)->wb_regnum, &value);
+      regnum = arreg_number (gdbarch, regnum, value);
     }
 
   /* We can always write 'core' registers.