diff options
author | Mark Kettenis <kettenis@gnu.org> | 2001-04-01 12:39:52 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2001-04-01 12:39:52 +0000 |
commit | f7af964784af9614842c08ccd8421fbda10c6b4b (patch) | |
tree | b5a0add1d26e49cf2d07f2c924e0b55cf3037440 /gdb/i386-tdep.c | |
parent | 7bf0983e946fee707de4cd03ecd990c550cd9c38 (diff) | |
download | gdb-f7af964784af9614842c08ccd8421fbda10c6b4b.zip gdb-f7af964784af9614842c08ccd8421fbda10c6b4b.tar.gz gdb-f7af964784af9614842c08ccd8421fbda10c6b4b.tar.bz2 |
* i386-tdep.c (i386_extract_struct_value_address): New function.
* config/i386/tm-i386.h (EXTRACT_STRUCT_VALUE_ADDRESS): Redefine
in terms of i386_extract_struct_value_address.
(i386_extract_struct_value_address): New prototype.
Diffstat (limited to 'gdb/i386-tdep.c')
-rw-r--r-- | gdb/i386-tdep.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index db001da..1090cbe 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -850,6 +850,17 @@ i386_store_return_value (struct type *type, char *valbuf) "Cannot store return value of %d bytes long.", len); } } + +/* Extract from an array REGBUF containing the (raw) register state + the address in which a function should return its structure value, + as a CORE_ADDR. */ + +CORE_ADDR +i386_extract_struct_value_address (char *regbuf) +{ + return extract_address (®buf[REGISTER_BYTE (LOW_RETURN_REGNUM)], + REGISTER_RAW_SIZE (LOW_RETURN_REGNUM)); +} /* Convert data from raw format for register REGNUM in buffer FROM to |