From dce893b64299147981a7e13c8c76eb273766f185 Mon Sep 17 00:00:00 2001 From: Arun Sharma Date: Wed, 12 Nov 2003 21:29:19 -0800 Subject: [PATCH] [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). --- arch/ia64/ia32/ia32_entry.S | 2 -- 1 file changed, 2 deletions(-) diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S index eb95ae85ce9b9..1230fd2b479fa 100644 --- a/arch/ia64/ia32/ia32_entry.S +++ b/arch/ia64/ia32/ia32_entry.S @@ -90,7 +90,6 @@ END(sys32_sigsuspend) GLOBAL_ENTRY(ia32_ret_from_clone) 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 * 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) br.call.sptk.many rp=ia64_invoke_schedule_tail } .ret1: -#endif adds r2=TI_FLAGS+IA64_TASK_SIZE,r13 ;; ld4 r2=[r2] -- 2.53.0