patch-2.4.22 linux-2.4.22/arch/ia64/ia32/ia32_entry.S
Next file: linux-2.4.22/arch/ia64/ia32/ia32_ioctl.c
Previous file: linux-2.4.22/arch/ia64/ia32/binfmt_elf32.c
Back to the patch index
Back to the overall index
-  Lines: 20
-  Date:
2003-08-25 04:44:39.000000000 -0700
-  Orig file: 
linux-2.4.21/arch/ia64/ia32/ia32_entry.S
-  Orig date: 
2003-06-13 07:51:29.000000000 -0700
diff -urN linux-2.4.21/arch/ia64/ia32/ia32_entry.S linux-2.4.22/arch/ia64/ia32/ia32_entry.S
@@ -87,12 +87,19 @@
 
 GLOBAL_ENTRY(ia32_ret_from_clone)
 	PT_REGS_UNWIND_INFO(0)
+{	/*
+	 * Some versions of gas generate bad unwind info if the first instruction of a
+	 * procedure doesn't go into the first slot of a bundle.  This is a workaround.
+	 */
+	nop.m 0
+	nop.i 0
 	/*
 	 * We need to call schedule_tail() to complete the scheduling process.
 	 * Called by ia64_switch_to after do_fork()->copy_thread().  r8 contains the
 	 * address of the previously executing task.
 	 */
 	br.call.sptk.many rp=ia64_invoke_schedule_tail
+}
 .ret1:	adds r2=IA64_TASK_PTRACE_OFFSET,r13
 	;;
 	ld8 r2=[r2]
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)