diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 545d9f11c3c28228c06aa5ac27550b5784b1af52..989c689fb630d68e10307990eff7982d429e75a5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* builtins.c (expand_builtin_longjmp): Added two memory clobbers.
+
 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
 
 	* reload.c (find_reloads_address): Split addresses of type
diff --git a/gcc/builtins.c b/gcc/builtins.c
index a48c5af9a5437787c761ff85e54ab410f3f616ac..5c9971acdb7fd85caec9c2f1328b25405832a887 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -710,6 +710,13 @@ expand_builtin_longjmp (rtx buf_addr, rtx value)
 	{
 	  lab = copy_to_reg (lab);
 
+	  emit_insn (gen_rtx_CLOBBER (VOIDmode,
+				      gen_rtx_MEM (BLKmode,
+						   gen_rtx_SCRATCH (VOIDmode))));
+	  emit_insn (gen_rtx_CLOBBER (VOIDmode,
+				      gen_rtx_MEM (BLKmode,
+						   hard_frame_pointer_rtx)));
+
 	  emit_move_insn (hard_frame_pointer_rtx, fp);
 	  emit_stack_restore (SAVE_NONLOCAL, stack, NULL_RTX);