diff options
author | Stan Shebs <shebs@codesourcery.com> | 1994-08-17 20:27:17 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1994-08-17 20:27:17 +0000 |
commit | ca3c57e52e3ffacf49738bfd665d269ee305ff61 (patch) | |
tree | f93df72114e4ab6f72777daa23b42fdd638478b3 /gdb/config/m68k/tm-delta68.h | |
parent | 52283cf39ab4d3feb60e04b8d76e30f02587d8ab (diff) | |
download | gdb-ca3c57e52e3ffacf49738bfd665d269ee305ff61.zip gdb-ca3c57e52e3ffacf49738bfd665d269ee305ff61.tar.gz gdb-ca3c57e52e3ffacf49738bfd665d269ee305ff61.tar.bz2 |
* config/m68k/tm-delta68.h (EXTRACT_RETURN_VALUE,
STORE_RETURN_VALUE): Define to use %a0 for pointers.
Diffstat (limited to 'gdb/config/m68k/tm-delta68.h')
-rw-r--r-- | gdb/config/m68k/tm-delta68.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/gdb/config/m68k/tm-delta68.h b/gdb/config/m68k/tm-delta68.h index e7ec0fa..195c00d 100644 --- a/gdb/config/m68k/tm-delta68.h +++ b/gdb/config/m68k/tm-delta68.h @@ -1,5 +1,5 @@ /* Target definitions for delta68. - Copyright 1993 Free Software Foundation, Inc. + Copyright 1993, 1994 Free Software Foundation, Inc. This file is part of GDB. @@ -23,7 +23,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #define BPT_VECTOR 0x1 #undef CPLUS_MARKER -#define CPLUS_MARKER '%' +#define CPLUS_MARKER '%' + #define GCC_COMPILED_FLAG_SYMBOL "gcc_compiled%" #define GCC2_COMPILED_FLAG_SYMBOL "gcc2_compiled%" @@ -34,6 +35,30 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Not sure what happens if we try to store this register, but phdm@info.ucl.ac.be says we need this define. */ + #define CANNOT_STORE_REGISTER(regno) (regno == FPI_REGNUM) +/* Extract from an array REGBUF containing the (raw) register state + a function return value of type TYPE, and copy that, in virtual format, + into VALBUF. */ + +/* When it returns a pointer value, use a0 in sysV68. */ + +#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ + memcpy ((VALBUF), \ + (char *) ((REGBUF) + \ + (TYPE_CODE(TYPE) == TYPE_CODE_PTR ? 8 * 4 : \ + (TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)))), \ + TYPE_LENGTH(TYPE)) + +/* Write into appropriate registers a function return value + of type TYPE, given in virtual format. */ + +/* When it returns a pointer value, use a0 in sysV68. */ + +#define STORE_RETURN_VALUE(TYPE,VALBUF) \ + write_register_bytes ((TYPE_CODE(TYPE) == TYPE_CODE_PTR ? 8 * 4 : 0), \ + VALBUF, TYPE_LENGTH (TYPE)) + + #include "m68k/tm-m68k.h" |