From: Alan Hayward Date: Wed, 26 Apr 2017 09:32:35 +0000 (+0100) Subject: xtensa_pseudo_register_read/write - Use regcache_raw_read_unsigned X-Git-Tag: users/hjl/linux/release/2.28.51.0.1~1^2~45^2~60 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c185f580b2b3baf7cee762c8ab31ab6925b9534a;p=thirdparty%2Fbinutils-gdb.git xtensa_pseudo_register_read/write - Use regcache_raw_read_unsigned gdb/ * xtensa-tdep.c (xtensa_pseudo_register_read): Use regcache_raw_read_unsigned. (xtensa_pseudo_register_write): Likewise. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 52ef8d99de4..03bec1f021d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-04-26 Alan Hayward + + * xtensa-tdep.c (xtensa_pseudo_register_read): Use + regcache_raw_read_unsigned. + (xtensa_pseudo_register_write): Likewise. + 2017-04-26 Alan Hayward * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors. diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c index 0fcd4831654..0a4ed37cf95 100644 --- a/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c @@ -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.