Commit dce893b6 authored by Arun Sharma's avatar Arun Sharma Committed by David Mosberger

[PATCH] ia64: invoke schedule_tail unconditionally on ia32 emulation

The #ifdef CONFIG_SMP around the call to schedule_tail was removed a
long time ago for native ia64, but ia32 emulation continues to have a
#ifdef.  We saw a bunch of weird behavior with respect to getpid() on
multithreaded programs (they behave ok on SMP, but break on UP). 
parent 1b9ee807
...@@ -90,7 +90,6 @@ END(sys32_sigsuspend) ...@@ -90,7 +90,6 @@ END(sys32_sigsuspend)
GLOBAL_ENTRY(ia32_ret_from_clone) GLOBAL_ENTRY(ia32_ret_from_clone)
PT_REGS_UNWIND_INFO(0) PT_REGS_UNWIND_INFO(0)
#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT)
{ /* { /*
* Some versions of gas generate bad unwind info if the first instruction of a * 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. * procedure doesn't go into the first slot of a bundle. This is a workaround.
...@@ -105,7 +104,6 @@ GLOBAL_ENTRY(ia32_ret_from_clone) ...@@ -105,7 +104,6 @@ GLOBAL_ENTRY(ia32_ret_from_clone)
br.call.sptk.many rp=ia64_invoke_schedule_tail br.call.sptk.many rp=ia64_invoke_schedule_tail
} }
.ret1: .ret1:
#endif
adds r2=TI_FLAGS+IA64_TASK_SIZE,r13 adds r2=TI_FLAGS+IA64_TASK_SIZE,r13
;; ;;
ld4 r2=[r2] ld4 r2=[r2]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment