* valops.c (PUSH_ARGUMENTS): Delete definition.
authorAndrew Cagney <cagney@redhat.com>
Sun, 10 Feb 2002 05:50:34 +0000 (05:50 +0000)
committerAndrew Cagney <cagney@redhat.com>
Sun, 10 Feb 2002 05:50:34 +0000 (05:50 +0000)
* gdbarch.sh (PUSH_ARGUMENTS): Don't require when multi-arch
partial.  Default to default_push_arguments.
* gdbarch.h, gdbarch.c: Regenerate.

gdb/ChangeLog
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/valops.c

index 4a3ae393ea793db2477a5b36245983e06c70da93..5effe2f2bd7dd393bce7c51301b27b65d5dbe4b4 100644 (file)
@@ -1,3 +1,10 @@
+2002-02-10  Andrew Cagney  <ac131313@redhat.com>
+
+       * valops.c (PUSH_ARGUMENTS): Delete definition.
+       * gdbarch.sh (PUSH_ARGUMENTS): Don't require when multi-arch
+       partial.  Default to default_push_arguments.
+       * gdbarch.h, gdbarch.c: Regenerate.
+
 2002-02-09  Andrew Cagney  <ac131313@redhat.com>
 
        * defs.h (throw_exception): Rename return_to_top_level.  Update
index 1493c00cf8346751cadc09338ab0e36a26978890..96f10dd9b6c8ff71aa486f2cdef7a5c02325fe83 100644 (file)
@@ -693,9 +693,8 @@ verify_gdbarch (struct gdbarch *gdbarch)
   if ((GDB_MULTI_ARCH >= 2)
       && (gdbarch->extract_return_value == 0))
     fprintf_unfiltered (log, "\n\textract_return_value");
-  if ((GDB_MULTI_ARCH >= 1)
-      && (gdbarch->push_arguments == 0))
-    fprintf_unfiltered (log, "\n\tpush_arguments");
+  if (gdbarch->push_arguments == 0)
+    gdbarch->push_arguments = default_push_arguments;
   if ((GDB_MULTI_ARCH >= 2)
       && (gdbarch->push_dummy_frame == 0))
     fprintf_unfiltered (log, "\n\tpush_dummy_frame");
index f03882ad76c26cf9f8d05974752427e6114e19fe..7a1fa804d446b1b521a69bfbe74fd2fd49c83042 100644 (file)
@@ -1368,6 +1368,11 @@ extern void set_gdbarch_extract_return_value (struct gdbarch *gdbarch, gdbarch_e
 #endif
 #endif
 
+/* Default (function) for non- multi-arch platforms. */
+#if (!GDB_MULTI_ARCH) && !defined (PUSH_ARGUMENTS)
+#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) (default_push_arguments (nargs, args, sp, struct_return, struct_addr))
+#endif
+
 typedef CORE_ADDR (gdbarch_push_arguments_ftype) (int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr);
 extern CORE_ADDR gdbarch_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr);
 extern void set_gdbarch_push_arguments (struct gdbarch *gdbarch, gdbarch_push_arguments_ftype *push_arguments);
index 12c84745bc8551f743b2a6494f1eceb05e3a7118..7409508000b9f1241f1f4db2f64ba004a7aa9a1f 100755 (executable)
@@ -498,7 +498,7 @@ F:2:INTEGER_TO_ADDRESS:CORE_ADDR:integer_to_address:struct type *type, void *buf
 #
 f:2:RETURN_VALUE_ON_STACK:int:return_value_on_stack:struct type *type:type:::generic_return_value_on_stack_not::0
 f:2:EXTRACT_RETURN_VALUE:void:extract_return_value:struct type *type, char *regbuf, char *valbuf:type, regbuf, valbuf::0:0
-f:1:PUSH_ARGUMENTS:CORE_ADDR:push_arguments:int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr:nargs, args, sp, struct_return, struct_addr::0:0
+f:2:PUSH_ARGUMENTS:CORE_ADDR:push_arguments:int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr:nargs, args, sp, struct_return, struct_addr::::default_push_arguments
 f:2:PUSH_DUMMY_FRAME:void:push_dummy_frame:void:-:::0
 F:1:PUSH_RETURN_ADDRESS:CORE_ADDR:push_return_address:CORE_ADDR pc, CORE_ADDR sp:pc, sp:::0
 f:2:POP_FRAME:void:pop_frame:void:-:::0
index 6f7e25141d6843146457c3340bd8e8449e73e5d4..748ba8fee08bb1243e34ec25747407779c279151 100644 (file)
@@ -1078,10 +1078,6 @@ value_push (register CORE_ADDR sp, struct value *arg)
   return sp;
 }
 
-#ifndef PUSH_ARGUMENTS
-#define PUSH_ARGUMENTS default_push_arguments
-#endif
-
 CORE_ADDR
 default_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
                        int struct_return, CORE_ADDR struct_addr)