patch-1.3.26 linux/kernel/sched.c

Next file: linux/kernel/signal.c
Previous file: linux/kernel/ksyms.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.25/linux/kernel/sched.c linux/kernel/sched.c
@@ -84,7 +84,7 @@
 static struct vm_area_struct init_mmap = INIT_MMAP;
 static struct fs_struct init_fs = INIT_FS;
 static struct files_struct init_files = INIT_FILES;
-static struct sigaction init_sigaction[32] = { {0,}, };
+static struct signal_struct init_signals = INIT_SIGNALS;
 
 struct mm_struct init_mm = INIT_MM;
 struct task_struct init_task = INIT_TASK;
@@ -667,10 +667,11 @@
 			kstat.cpu_system++;
 		if (prof_buffer && current != task[0]) {
 			extern int _stext;
-			unsigned long eip = regs->eip - (unsigned long) &_stext;
-			eip >>= prof_shift;
-			if (eip < prof_len)
-				prof_buffer[eip]++;
+			unsigned long ip = instruction_pointer(regs);
+			ip -= (unsigned long) &_stext;
+			ip >>= prof_shift;
+			if (ip < prof_len)
+				prof_buffer[ip]++;
 		}
 	}
 	/*

FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen, [email protected] with Sam's (original) version
of this