Allow for the possibility that the local labels won't be in the objdump output.
[deliverable/binutils-gdb.git] / gdb / i386-tdep.c
index 41632caaed821f239247f8c171fd3b40958bdb80..a5d3ef74f949616aefc23839a52f11cccf2da026 100644 (file)
@@ -694,6 +694,30 @@ get_longjmp_target (CORE_ADDR *pc)
 #endif /* GET_LONGJMP_TARGET */
 \f
 
+CORE_ADDR
+i386_push_arguments (int nargs, value_ptr *args, CORE_ADDR sp,
+                    int struct_return, CORE_ADDR struct_addr)
+{
+  sp = default_push_arguments (nargs, args, sp, struct_return, struct_addr);
+  
+  if (struct_return)
+    {
+      char buf[4];
+
+      sp -= 4;
+      store_address (buf, 4, struct_addr);
+      write_memory (sp, buf, 4);
+    }
+
+  return sp;
+}
+
+void
+i386_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
+{
+  /* Do nothing.  Everything was already done by i386_push_arguments.  */
+}
+
 /* These registers are used for returning integers (and on some
    targets also for returning `struct' and `union' values when their
    size and alignment match an integer type).  */
@@ -959,6 +983,9 @@ set_disassembly_flavor (void)
 }
 \f
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+void _initialize_i386_tdep (void);
+
 void
 _initialize_i386_tdep (void)
 {
This page took 0.023063 seconds and 4 git commands to generate.