aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1998-04-15 00:25:58 +0000
committerMark Alexander <marka@cygnus>1998-04-15 00:25:58 +0000
commite50f526e68f36447f1e99fcfa79125b60a6b1a97 (patch)
treeb83bf8a486dea44db2f962535cef72e698fcb621 /gdb/config
parent93f967158fdb53e468173f0a4947b3dd06442983 (diff)
downloadgdb-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.h14
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));