/[linux-patches]/genpatches-2.6/trunk/2.6.12/1001_linux-2.6.12.1.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.12/1001_linux-2.6.12.1.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 53 - (show annotations) (download)
Fri Jun 24 20:01:40 2005 UTC (13 years, 4 months ago) by dsd
File size: 3500 byte(s)
Remove Makefile hunk
1 diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c
2 --- a/arch/ia64/kernel/ptrace.c
3 +++ b/arch/ia64/kernel/ptrace.c
4 @@ -945,6 +945,13 @@ access_uarea (struct task_struct *child,
5 *data = (pt->cr_ipsr & IPSR_MASK);
6 return 0;
7
8 + case PT_AR_RSC:
9 + if (write_access)
10 + pt->ar_rsc = *data | (3 << 2); /* force PL3 */
11 + else
12 + *data = pt->ar_rsc;
13 + return 0;
14 +
15 case PT_AR_RNAT:
16 urbs_end = ia64_get_user_rbs_end(child, pt, NULL);
17 rnat_addr = (long) ia64_rse_rnat_addr((long *)
18 @@ -996,9 +1003,6 @@ access_uarea (struct task_struct *child,
19 case PT_AR_BSPSTORE:
20 ptr = pt_reg_addr(pt, ar_bspstore);
21 break;
22 - case PT_AR_RSC:
23 - ptr = pt_reg_addr(pt, ar_rsc);
24 - break;
25 case PT_AR_UNAT:
26 ptr = pt_reg_addr(pt, ar_unat);
27 break;
28 @@ -1234,7 +1238,7 @@ ptrace_getregs (struct task_struct *chil
29 static long
30 ptrace_setregs (struct task_struct *child, struct pt_all_user_regs __user *ppr)
31 {
32 - unsigned long psr, ec, lc, rnat, bsp, cfm, nat_bits, val = 0;
33 + unsigned long psr, rsc, ec, lc, rnat, bsp, cfm, nat_bits, val = 0;
34 struct unw_frame_info info;
35 struct switch_stack *sw;
36 struct ia64_fpreg fpval;
37 @@ -1267,7 +1271,7 @@ ptrace_setregs (struct task_struct *chil
38 /* app regs */
39
40 retval |= __get_user(pt->ar_pfs, &ppr->ar[PT_AUR_PFS]);
41 - retval |= __get_user(pt->ar_rsc, &ppr->ar[PT_AUR_RSC]);
42 + retval |= __get_user(rsc, &ppr->ar[PT_AUR_RSC]);
43 retval |= __get_user(pt->ar_bspstore, &ppr->ar[PT_AUR_BSPSTORE]);
44 retval |= __get_user(pt->ar_unat, &ppr->ar[PT_AUR_UNAT]);
45 retval |= __get_user(pt->ar_ccv, &ppr->ar[PT_AUR_CCV]);
46 @@ -1365,6 +1369,7 @@ ptrace_setregs (struct task_struct *chil
47 retval |= __get_user(nat_bits, &ppr->nat);
48
49 retval |= access_uarea(child, PT_CR_IPSR, &psr, 1);
50 + retval |= access_uarea(child, PT_AR_RSC, &rsc, 1);
51 retval |= access_uarea(child, PT_AR_EC, &ec, 1);
52 retval |= access_uarea(child, PT_AR_LC, &lc, 1);
53 retval |= access_uarea(child, PT_AR_RNAT, &rnat, 1);
54 diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
55 --- a/arch/ia64/kernel/signal.c
56 +++ b/arch/ia64/kernel/signal.c
57 @@ -94,7 +94,7 @@ sys_sigaltstack (const stack_t __user *u
58 static long
59 restore_sigcontext (struct sigcontext __user *sc, struct sigscratch *scr)
60 {
61 - unsigned long ip, flags, nat, um, cfm;
62 + unsigned long ip, flags, nat, um, cfm, rsc;
63 long err;
64
65 /* Always make any pending restarted system calls return -EINTR */
66 @@ -106,7 +106,7 @@ restore_sigcontext (struct sigcontext __
67 err |= __get_user(ip, &sc->sc_ip); /* instruction pointer */
68 err |= __get_user(cfm, &sc->sc_cfm);
69 err |= __get_user(um, &sc->sc_um); /* user mask */
70 - err |= __get_user(scr->pt.ar_rsc, &sc->sc_ar_rsc);
71 + err |= __get_user(rsc, &sc->sc_ar_rsc);
72 err |= __get_user(scr->pt.ar_unat, &sc->sc_ar_unat);
73 err |= __get_user(scr->pt.ar_fpsr, &sc->sc_ar_fpsr);
74 err |= __get_user(scr->pt.ar_pfs, &sc->sc_ar_pfs);
75 @@ -119,6 +119,7 @@ restore_sigcontext (struct sigcontext __
76 err |= __copy_from_user(&scr->pt.r15, &sc->sc_gr[15], 8); /* r15 */
77
78 scr->pt.cr_ifs = cfm | (1UL << 63);
79 + scr->pt.ar_rsc = rsc | (3 << 2); /* force PL3 */
80
81 /* establish new instruction pointer: */
82 scr->pt.cr_iip = ip & ~0x3UL;
83 diff --git a/fs/exec.c b/fs/exec.c
84 --- a/fs/exec.c
85 +++ b/fs/exec.c
86 @@ -649,6 +649,7 @@ static inline int de_thread(struct task_
87 }
88 sig->group_exit_task = NULL;
89 sig->notify_count = 0;
90 + sig->real_timer.data = (unsigned long)current;
91 spin_unlock_irq(lock);
92
93 /*

  ViewVC Help
Powered by ViewVC 1.1.20