diff options
author | Mark Alexander <marka@cygnus> | 1998-04-15 00:25:58 +0000 |
---|---|---|
committer | Mark Alexander <marka@cygnus> | 1998-04-15 00:25:58 +0000 |
commit | e50f526e68f36447f1e99fcfa79125b60a6b1a97 (patch) | |
tree | b83bf8a486dea44db2f962535cef72e698fcb621 /gdb/config | |
parent | 93f967158fdb53e468173f0a4947b3dd06442983 (diff) | |
download | gdb-e50f526e68f36447f1e99fcfa79125b60a6b1a97.zip gdb-e50f526e68f36447f1e99fcfa79125b60a6b1a97.tar.gz gdb-e50f526e68f36447f1e99fcfa79125b60a6b1a97.tar.bz2 |
* sparc-tdep.c (sparc_extract_struct_value_address): Make it
work correctly on little-endian hosts.
(sparc_push_arguments): New function.
(gdb_print_insn_sparc): New function.
(_initialize_sparc_tdep): Make gdb_print_insn_sparc the default
disassembler, so that SPARClite-specific instructions will
be recognized.
* sparcl-tdep.c (readchar): Print debugging information.
(debug_serial_write): New function, a replacement for SERIAL_WRITE
that prints debugging information.
* config/sparc/tm-sparc.h (PUSH_ARGUMENTS): Define.
(sparc_push_arguments): Declare.
Diffstat (limited to 'gdb/config')
-rw-r--r-- | gdb/config/sparc/tm-sparc.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h index 2bbda58..96b2550 100644 --- a/gdb/config/sparc/tm-sparc.h +++ b/gdb/config/sparc/tm-sparc.h @@ -245,7 +245,7 @@ extern CORE_ADDR sparc_pc_adjust PARAMS ((CORE_ADDR)); #define CANNOT_STORE_REGISTER(regno) ((regno) == G0_REGNUM) /* Store the address of the place in which to copy the structure the - subroutine will return. This is called from call_function. */ + subroutine will return. This is called from call_function_by_hand. */ #define STORE_STRUCT_RETURN(ADDR, SP) \ { char val[4]; \ @@ -648,3 +648,15 @@ extern int deferred_stores; /* Select the sparc disassembler */ #define TM_PRINT_INSN_MACH bfd_mach_sparc + +/* Arguments smaller than an int must promoted to ints when synthesizing + function calls. */ + +#ifdef __STDC__ +struct value; +#endif + +#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) \ + sp = sparc_push_arguments((nargs), (args), (sp), (struct_return), (struct_addr)) +extern CORE_ADDR +sparc_push_arguments PARAMS ((int, struct value **, CORE_ADDR, int, CORE_ADDR)); |