patch-2.1.68 linux/arch/i386/kernel/entry.S

Next file: linux/arch/i386/kernel/ptrace.c
Previous file: linux/arch/i386/defconfig
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.67/linux/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
@@ -73,15 +73,14 @@
 state		=  0
 counter		=  4
 priority	=  8
-signal		= 12
-blocked		= 16
-flags		= 20
-dbgreg6		= 52
-dbgreg7		= 56
-exec_domain	= 60
+flags		= 12
+dbgreg6		= 44
+dbgreg7		= 48
+exec_domain	= 52
 
 ENOSYS = 38
 
+
 #define SAVE_ALL \
 	cld; \
 	push %es; \
@@ -170,10 +169,7 @@
 ret_with_reschedule:
 	cmpl $0,SYMBOL_NAME(need_resched)
 	jne reschedule
-	movl blocked(%ebx),%eax
-	movl %eax,%esi			# save blocked in %esi for signal handling
-	notl %eax
-	andl signal(%ebx),%eax
+	testb $0x8,flags(%ebx)		# PF_SIGPENDING
 	jne signal_return
 	RESTORE_ALL
 	ALIGN
@@ -181,7 +177,7 @@
 	testl $(VM_MASK),EFLAGS(%esp)
 	pushl %esp
 	jne v86_signal_return
-	pushl %esi
+	pushl $0
 	call SYMBOL_NAME(do_signal)
 	addl $8,%esp
 	RESTORE_ALL
@@ -190,7 +186,7 @@
 	call SYMBOL_NAME(save_v86_state)
 	movl %eax,%esp
 	pushl %eax
-	pushl %esi
+	pushl $0
 	call SYMBOL_NAME(do_signal)
 	addl $8,%esp
 	RESTORE_ALL
@@ -529,6 +525,13 @@
 	.long SYMBOL_NAME(sys_setresgid)	/* 170 */
 	.long SYMBOL_NAME(sys_getresgid)
 	.long SYMBOL_NAME(sys_prctl)
-	.rept NR_syscalls-172
+	.long SYMBOL_NAME(sys_rt_sigreturn)
+	.long SYMBOL_NAME(sys_rt_sigaction)
+	.long SYMBOL_NAME(sys_rt_sigprocmask)	/* 175 */
+	.long SYMBOL_NAME(sys_rt_sigpending)
+	.long SYMBOL_NAME(sys_rt_sigtimedwait)
+	.long SYMBOL_NAME(sys_rt_sigqueueinfo)
+	.long SYMBOL_NAME(sys_rt_sigsuspend)
+	.rept NR_syscalls-179
 		.long SYMBOL_NAME(sys_ni_syscall)
 	.endr

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov