aboutsummaryrefslogtreecommitdiff
path: root/elfcpp/elfcpp_internal.h
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-02-11 11:44:35 +0000
committerPedro Alves <palves@redhat.com>2016-02-11 12:20:36 +0000
commit04956cf9b84b53728e20f0dae1f561ab26714453 (patch)
treedd8aaeac0a7d0bb0acbc9536295dcd064d3303ec /elfcpp/elfcpp_internal.h
parentca47aa93d4a13e676e771041eb7372ff2cdb1487 (diff)
downloadgdb-users/palves/gdbserver-extract-unsigned-integer.zip
gdb-users/palves/gdbserver-extract-unsigned-integer.tar.gz
gdb-users/palves/gdbserver-extract-unsigned-integer.tar.bz2
Fix gdbserver's regcache_raw_read_unsigned on big endian hostsusers/palves/gdbserver-extract-unsigned-integer
The regcache_raw_read_unsigned function is memcpy'ing a 32-bit value directly into a 64-bit variable, which doesn't work on big endian targets. Fix this by memcpy'ing to a buffer, and then using extract_unsigned_integer, just like gdb's version. gdb/gdbserver/ChangeLog: 2016-02-11 Pedro Alves <palves@redhat.com> * Makefile.in (SFILES): Add $(srcdir)/common/gdb-byteswap.c. (gdb-byteswap.o): New rule. * regcache.c: Include "gdb-byteswap.h". (host_bfd_endian): New function. (regcache_raw_read_unsigned): Use extract_unsigned_integer and host_bfd_endian.
Diffstat (limited to 'elfcpp/elfcpp_internal.h')
0 files changed, 0 insertions, 0 deletions