summaryrefslogtreecommitdiffstats
path: root/gdb/findvar.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-07-09 18:33:23 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-07-09 18:33:23 +0000
commit4d50f90ab81c6861aaafb77672573726636a9330 (patch)
tree8f5ee91b7c91ead23e32207635dbed85317bddbc /gdb/findvar.c
parent332fc09ff02293c88cc1e74f0ff20e222e299162 (diff)
downloadppe42-binutils-4d50f90ab81c6861aaafb77672573726636a9330.tar.gz
ppe42-binutils-4d50f90ab81c6861aaafb77672573726636a9330.zip
* a29k-tdep.c, findvar.c (get_saved_register): Fix byteswapping sins.
Diffstat (limited to 'gdb/findvar.c')
-rw-r--r--gdb/findvar.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/gdb/findvar.c b/gdb/findvar.c
index e38240521e..a8ac396bca 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -101,11 +101,11 @@ find_saved_register (frame, regnum)
return addr;
}
-/* Find register number REGNUM relative to FRAME and put its
- (raw) contents in *RAW_BUFFER. Set *OPTIMIZED if the variable
- was optimized out (and thus can't be fetched). Set *LVAL to
- lval_memory, lval_register, or not_lval, depending on whether the
- value was fetched from memory, from a register, or in a strange
+/* Find register number REGNUM relative to FRAME and put its (raw,
+ target format) contents in *RAW_BUFFER. Set *OPTIMIZED if the
+ variable was optimized out (and thus can't be fetched). Set *LVAL
+ to lval_memory, lval_register, or not_lval, depending on whether
+ the value was fetched from memory, from a register, or in a strange
and non-modifiable way (e.g. a frame pointer which was calculated
rather than fetched). Set *ADDRP to the address, either in memory
on as a REGISTER_BYTE offset into the registers array.
@@ -115,6 +115,7 @@ find_saved_register (frame, regnum)
your own.
The argument RAW_BUFFER must point to aligned memory. */
+
void
get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval)
char *raw_buffer;
@@ -136,7 +137,11 @@ get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval)
if (regnum == SP_REGNUM)
{
if (raw_buffer != NULL)
- *(CORE_ADDR *)raw_buffer = addr;
+ {
+ *(CORE_ADDR *)raw_buffer = addr;
+ /* Put it back in target byte order. */
+ SWAP_TARGET_AND_HOST (raw_buffer, sizeof (CORE_ADDR));
+ }
if (addrp != NULL)
*addrp = 0;
return;
OpenPOWER on IntegriCloud