diff -Nru gcc-3.4-20030813.orig/gcc/config/m68k/m68k.c gcc-3.4-20030813/gcc/config/m68k/m68k.c
--- gcc-3.4-20030813.orig/gcc/config/m68k/m68k.c	2003-08-18 23:39:11.000000000 +0200
+++ gcc-3.4-20030813/gcc/config/m68k/m68k.c	2003-08-19 00:54:05.000000000 +0200
@@ -536,7 +536,7 @@
 	  cfa_offset = cfa_store_offset;
 	  dwarf2out_reg_save (l, FRAME_POINTER_REGNUM, -cfa_store_offset);
 	  dwarf2out_def_cfa (l, FRAME_POINTER_REGNUM, cfa_offset);
-	  cfa_store_offset += fsize;
+	  cfa_store_offset += fsize_with_regs;
 	}
     }
   else if (fsize_with_regs) /* !frame_pointer_needed */
@@ -610,7 +610,7 @@
 	}
       if (dwarf2out_do_frame ())
 	{
-	  cfa_store_offset += fsize + 4;
+	  cfa_store_offset += fsize_with_regs;
 	  cfa_offset = cfa_store_offset;
 	  dwarf2out_def_cfa ("", STACK_POINTER_REGNUM, cfa_offset);
 	}
