diff options
-rw-r--r-- | arch/x86/ia32/ia32_signal.c | 32 | ||||
-rw-r--r-- | arch/x86/kernel/asm-offsets_32.c | 18 | ||||
-rw-r--r-- | arch/x86/kernel/asm-offsets_64.c | 18 | ||||
-rw-r--r-- | arch/x86/kernel/signal_32.c | 28 | ||||
-rw-r--r-- | arch/x86/kernel/signal_64.c | 29 | ||||
-rw-r--r-- | arch/x86/vdso/vdso32/sigreturn.S | 54 | ||||
-rw-r--r-- | include/asm-x86/sigcontext.h | 42 | ||||
-rw-r--r-- | include/asm-x86/sigcontext32.h | 22 |
8 files changed, 121 insertions, 122 deletions
diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c index f2da443f8c7b..d03d43f32f4c 100644 --- a/arch/x86/ia32/ia32_signal.c +++ b/arch/x86/ia32/ia32_signal.c | |||
@@ -192,9 +192,9 @@ struct rt_sigframe | |||
192 | char retcode[8]; | 192 | char retcode[8]; |
193 | }; | 193 | }; |
194 | 194 | ||
195 | #define COPY(x) { \ | 195 | #define COPY(x) { \ |
196 | unsigned int reg; \ | 196 | unsigned int reg; \ |
197 | err |= __get_user(reg, &sc->e ##x); \ | 197 | err |= __get_user(reg, &sc->x); \ |
198 | regs->x = reg; \ | 198 | regs->x = reg; \ |
199 | } | 199 | } |
200 | 200 | ||
@@ -248,7 +248,7 @@ static int ia32_restore_sigcontext(struct pt_regs *regs, | |||
248 | err |= __get_user(regs->ss, &sc->ss); | 248 | err |= __get_user(regs->ss, &sc->ss); |
249 | regs->ss |= 3; | 249 | regs->ss |= 3; |
250 | 250 | ||
251 | err |= __get_user(tmpflags, &sc->eflags); | 251 | err |= __get_user(tmpflags, &sc->flags); |
252 | regs->flags = (regs->flags & ~0x40DD5) | (tmpflags & 0x40DD5); | 252 | regs->flags = (regs->flags & ~0x40DD5) | (tmpflags & 0x40DD5); |
253 | /* disable syscall checks */ | 253 | /* disable syscall checks */ |
254 | regs->orig_ax = -1; | 254 | regs->orig_ax = -1; |
@@ -268,7 +268,7 @@ static int ia32_restore_sigcontext(struct pt_regs *regs, | |||
268 | } | 268 | } |
269 | } | 269 | } |
270 | 270 | ||
271 | err |= __get_user(tmp, &sc->eax); | 271 | err |= __get_user(tmp, &sc->ax); |
272 | *peax = tmp; | 272 | *peax = tmp; |
273 | 273 | ||
274 | return err; | 274 | return err; |
@@ -361,21 +361,21 @@ static int ia32_setup_sigcontext(struct sigcontext_ia32 __user *sc, | |||
361 | __asm__("movl %%es,%0" : "=r"(tmp): "0"(tmp)); | 361 | __asm__("movl %%es,%0" : "=r"(tmp): "0"(tmp)); |
362 | err |= __put_user(tmp, (unsigned int __user *)&sc->es); | 362 | err |= __put_user(tmp, (unsigned int __user *)&sc->es); |
363 | 363 | ||
364 | err |= __put_user((u32)regs->di, &sc->edi); | 364 | err |= __put_user((u32)regs->di, &sc->di); |
365 | err |= __put_user((u32)regs->si, &sc->esi); | 365 | err |= __put_user((u32)regs->si, &sc->si); |
366 | err |= __put_user((u32)regs->bp, &sc->ebp); | 366 | err |= __put_user((u32)regs->bp, &sc->bp); |
367 | err |= __put_user((u32)regs->sp, &sc->esp); | 367 | err |= __put_user((u32)regs->sp, &sc->sp); |
368 | err |= __put_user((u32)regs->bx, &sc->ebx); | 368 | err |= __put_user((u32)regs->bx, &sc->bx); |
369 | err |= __put_user((u32)regs->dx, &sc->edx); | 369 | err |= __put_user((u32)regs->dx, &sc->dx); |
370 | err |= __put_user((u32)regs->cx, &sc->ecx); | 370 | err |= __put_user((u32)regs->cx, &sc->cx); |
371 | err |= __put_user((u32)regs->ax, &sc->eax); | 371 | err |= __put_user((u32)regs->ax, &sc->ax); |
372 | err |= __put_user((u32)regs->cs, &sc->cs); | 372 | err |= __put_user((u32)regs->cs, &sc->cs); |
373 | err |= __put_user((u32)regs->ss, &sc->ss); | 373 | err |= __put_user((u32)regs->ss, &sc->ss); |
374 | err |= __put_user(current->thread.trap_no, &sc->trapno); | 374 | err |= __put_user(current->thread.trap_no, &sc->trapno); |
375 | err |= __put_user(current->thread.error_code, &sc->err); | 375 | err |= __put_user(current->thread.error_code, &sc->err); |
376 | err |= __put_user((u32)regs->ip, &sc->eip); | 376 | err |= __put_user((u32)regs->ip, &sc->ip); |
377 | err |= __put_user((u32)regs->flags, &sc->eflags); | 377 | err |= __put_user((u32)regs->flags, &sc->flags); |
378 | err |= __put_user((u32)regs->sp, &sc->esp_at_signal); | 378 | err |= __put_user((u32)regs->sp, &sc->sp_at_signal); |
379 | 379 | ||
380 | tmp = save_i387_ia32(current, fpstate, regs, 0); | 380 | tmp = save_i387_ia32(current, fpstate, regs, 0); |
381 | if (tmp < 0) | 381 | if (tmp < 0) |
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c index a3a8be7618d1..4fc24a61f431 100644 --- a/arch/x86/kernel/asm-offsets_32.c +++ b/arch/x86/kernel/asm-offsets_32.c | |||
@@ -38,15 +38,15 @@ void foo(void); | |||
38 | 38 | ||
39 | void foo(void) | 39 | void foo(void) |
40 | { | 40 | { |
41 | OFFSET(IA32_SIGCONTEXT_eax, sigcontext, eax); | 41 | OFFSET(IA32_SIGCONTEXT_ax, sigcontext, ax); |
42 | OFFSET(IA32_SIGCONTEXT_ebx, sigcontext, ebx); | 42 | OFFSET(IA32_SIGCONTEXT_bx, sigcontext, bx); |
43 | OFFSET(IA32_SIGCONTEXT_ecx, sigcontext, ecx); | 43 | OFFSET(IA32_SIGCONTEXT_cx, sigcontext, cx); |
44 | OFFSET(IA32_SIGCONTEXT_edx, sigcontext, edx); | 44 | OFFSET(IA32_SIGCONTEXT_dx, sigcontext, dx); |
45 | OFFSET(IA32_SIGCONTEXT_esi, sigcontext, esi); | 45 | OFFSET(IA32_SIGCONTEXT_si, sigcontext, si); |
46 | OFFSET(IA32_SIGCONTEXT_edi, sigcontext, edi); | 46 | OFFSET(IA32_SIGCONTEXT_di, sigcontext, di); |
47 | OFFSET(IA32_SIGCONTEXT_ebp, sigcontext, ebp); | 47 | OFFSET(IA32_SIGCONTEXT_bp, sigcontext, bp); |
48 | OFFSET(IA32_SIGCONTEXT_esp, sigcontext, esp); | 48 | OFFSET(IA32_SIGCONTEXT_sp, sigcontext, sp); |
49 | OFFSET(IA32_SIGCONTEXT_eip, sigcontext, eip); | 49 | OFFSET(IA32_SIGCONTEXT_ip, sigcontext, ip); |
50 | BLANK(); | 50 | BLANK(); |
51 | 51 | ||
52 | OFFSET(CPUINFO_x86, cpuinfo_x86, x86); | 52 | OFFSET(CPUINFO_x86, cpuinfo_x86, x86); |
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c index 2e918ebf21d3..a05428764314 100644 --- a/arch/x86/kernel/asm-offsets_64.c +++ b/arch/x86/kernel/asm-offsets_64.c | |||
@@ -63,15 +63,15 @@ int main(void) | |||
63 | #undef ENTRY | 63 | #undef ENTRY |
64 | #ifdef CONFIG_IA32_EMULATION | 64 | #ifdef CONFIG_IA32_EMULATION |
65 | #define ENTRY(entry) DEFINE(IA32_SIGCONTEXT_ ## entry, offsetof(struct sigcontext_ia32, entry)) | 65 | #define ENTRY(entry) DEFINE(IA32_SIGCONTEXT_ ## entry, offsetof(struct sigcontext_ia32, entry)) |
66 | ENTRY(eax); | 66 | ENTRY(ax); |
67 | ENTRY(ebx); | 67 | ENTRY(bx); |
68 | ENTRY(ecx); | 68 | ENTRY(cx); |
69 | ENTRY(edx); | 69 | ENTRY(dx); |
70 | ENTRY(esi); | 70 | ENTRY(si); |
71 | ENTRY(edi); | 71 | ENTRY(di); |
72 | ENTRY(ebp); | 72 | ENTRY(bp); |
73 | ENTRY(esp); | 73 | ENTRY(sp); |
74 | ENTRY(eip); | 74 | ENTRY(ip); |
75 | BLANK(); | 75 | BLANK(); |
76 | #undef ENTRY | 76 | #undef ENTRY |
77 | DEFINE(IA32_RT_SIGFRAME_sigcontext, | 77 | DEFINE(IA32_RT_SIGFRAME_sigcontext, |
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c index 40fd3515ccf1..64cb3c05de69 100644 --- a/arch/x86/kernel/signal_32.c +++ b/arch/x86/kernel/signal_32.c | |||
@@ -105,7 +105,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax | |||
105 | /* Always make any pending restarted system calls return -EINTR */ | 105 | /* Always make any pending restarted system calls return -EINTR */ |
106 | current_thread_info()->restart_block.fn = do_no_restart_syscall; | 106 | current_thread_info()->restart_block.fn = do_no_restart_syscall; |
107 | 107 | ||
108 | #define COPY(x) err |= __get_user(regs->x, &sc->e ## x) | 108 | #define COPY(x) err |= __get_user(regs->x, &sc->x) |
109 | 109 | ||
110 | #define COPY_SEG(seg) \ | 110 | #define COPY_SEG(seg) \ |
111 | { unsigned short tmp; \ | 111 | { unsigned short tmp; \ |
@@ -144,7 +144,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax | |||
144 | 144 | ||
145 | { | 145 | { |
146 | unsigned int tmpflags; | 146 | unsigned int tmpflags; |
147 | err |= __get_user(tmpflags, &sc->eflags); | 147 | err |= __get_user(tmpflags, &sc->flags); |
148 | regs->flags = (regs->flags & ~FIX_EFLAGS) | (tmpflags & FIX_EFLAGS); | 148 | regs->flags = (regs->flags & ~FIX_EFLAGS) | (tmpflags & FIX_EFLAGS); |
149 | regs->orig_ax = -1; /* disable syscall checks */ | 149 | regs->orig_ax = -1; /* disable syscall checks */ |
150 | } | 150 | } |
@@ -165,7 +165,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax | |||
165 | } | 165 | } |
166 | } | 166 | } |
167 | 167 | ||
168 | err |= __get_user(*peax, &sc->eax); | 168 | err |= __get_user(*peax, &sc->ax); |
169 | return err; | 169 | return err; |
170 | 170 | ||
171 | badframe: | 171 | badframe: |
@@ -256,20 +256,20 @@ setup_sigcontext(struct sigcontext __user *sc, struct _fpstate __user *fpstate, | |||
256 | 256 | ||
257 | err |= __put_user(regs->es, (unsigned int __user *)&sc->es); | 257 | err |= __put_user(regs->es, (unsigned int __user *)&sc->es); |
258 | err |= __put_user(regs->ds, (unsigned int __user *)&sc->ds); | 258 | err |= __put_user(regs->ds, (unsigned int __user *)&sc->ds); |
259 | err |= __put_user(regs->di, &sc->edi); | 259 | err |= __put_user(regs->di, &sc->di); |
260 | err |= __put_user(regs->si, &sc->esi); | 260 | err |= __put_user(regs->si, &sc->si); |
261 | err |= __put_user(regs->bp, &sc->ebp); | 261 | err |= __put_user(regs->bp, &sc->bp); |
262 | err |= __put_user(regs->sp, &sc->esp); | 262 | err |= __put_user(regs->sp, &sc->sp); |
263 | err |= __put_user(regs->bx, &sc->ebx); | 263 | err |= __put_user(regs->bx, &sc->bx); |
264 | err |= __put_user(regs->dx, &sc->edx); | 264 | err |= __put_user(regs->dx, &sc->dx); |
265 | err |= __put_user(regs->cx, &sc->ecx); | 265 | err |= __put_user(regs->cx, &sc->cx); |
266 | err |= __put_user(regs->ax, &sc->eax); | 266 | err |= __put_user(regs->ax, &sc->ax); |
267 | err |= __put_user(current->thread.trap_no, &sc->trapno); | 267 | err |= __put_user(current->thread.trap_no, &sc->trapno); |
268 | err |= __put_user(current->thread.error_code, &sc->err); | 268 | err |= __put_user(current->thread.error_code, &sc->err); |
269 | err |= __put_user(regs->ip, &sc->eip); | 269 | err |= __put_user(regs->ip, &sc->ip); |
270 | err |= __put_user(regs->cs, (unsigned int __user *)&sc->cs); | 270 | err |= __put_user(regs->cs, (unsigned int __user *)&sc->cs); |
271 | err |= __put_user(regs->flags, &sc->eflags); | 271 | err |= __put_user(regs->flags, &sc->flags); |
272 | err |= __put_user(regs->sp, &sc->esp_at_signal); | 272 | err |= __put_user(regs->sp, &sc->sp_at_signal); |
273 | err |= __put_user(regs->ss, (unsigned int __user *)&sc->ss); | 273 | err |= __put_user(regs->ss, (unsigned int __user *)&sc->ss); |
274 | 274 | ||
275 | tmp = save_i387(fpstate); | 275 | tmp = save_i387(fpstate); |
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c index 4b228fd83b31..1c9bca56fb55 100644 --- a/arch/x86/kernel/signal_64.c +++ b/arch/x86/kernel/signal_64.c | |||
@@ -62,11 +62,10 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, unsigned | |||
62 | /* Always make any pending restarted system calls return -EINTR */ | 62 | /* Always make any pending restarted system calls return -EINTR */ |
63 | current_thread_info()->restart_block.fn = do_no_restart_syscall; | 63 | current_thread_info()->restart_block.fn = do_no_restart_syscall; |
64 | 64 | ||
65 | #define COPYR(x) err |= __get_user(regs->x, &sc->r ## x) | ||
66 | #define COPY(x) err |= __get_user(regs->x, &sc->x) | 65 | #define COPY(x) err |= __get_user(regs->x, &sc->x) |
67 | 66 | ||
68 | COPYR(di); COPYR(si); COPYR(bp); COPYR(sp); COPYR(bx); | 67 | COPY(di); COPY(si); COPY(bp); COPY(sp); COPY(bx); |
69 | COPYR(dx); COPYR(cx); COPYR(ip); | 68 | COPY(dx); COPY(cx); COPY(ip); |
70 | COPY(r8); | 69 | COPY(r8); |
71 | COPY(r9); | 70 | COPY(r9); |
72 | COPY(r10); | 71 | COPY(r10); |
@@ -87,7 +86,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, unsigned | |||
87 | 86 | ||
88 | { | 87 | { |
89 | unsigned int tmpflags; | 88 | unsigned int tmpflags; |
90 | err |= __get_user(tmpflags, &sc->eflags); | 89 | err |= __get_user(tmpflags, &sc->flags); |
91 | regs->flags = (regs->flags & ~0x40DD5) | (tmpflags & 0x40DD5); | 90 | regs->flags = (regs->flags & ~0x40DD5) | (tmpflags & 0x40DD5); |
92 | regs->orig_ax = -1; /* disable syscall checks */ | 91 | regs->orig_ax = -1; /* disable syscall checks */ |
93 | } | 92 | } |
@@ -109,7 +108,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, unsigned | |||
109 | } | 108 | } |
110 | } | 109 | } |
111 | 110 | ||
112 | err |= __get_user(*prax, &sc->rax); | 111 | err |= __get_user(*prax, &sc->ax); |
113 | return err; | 112 | return err; |
114 | 113 | ||
115 | badframe: | 114 | badframe: |
@@ -166,14 +165,14 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, unsigned lo | |||
166 | err |= __put_user(0, &sc->gs); | 165 | err |= __put_user(0, &sc->gs); |
167 | err |= __put_user(0, &sc->fs); | 166 | err |= __put_user(0, &sc->fs); |
168 | 167 | ||
169 | err |= __put_user(regs->di, &sc->rdi); | 168 | err |= __put_user(regs->di, &sc->di); |
170 | err |= __put_user(regs->si, &sc->rsi); | 169 | err |= __put_user(regs->si, &sc->si); |
171 | err |= __put_user(regs->bp, &sc->rbp); | 170 | err |= __put_user(regs->bp, &sc->bp); |
172 | err |= __put_user(regs->sp, &sc->rsp); | 171 | err |= __put_user(regs->sp, &sc->sp); |
173 | err |= __put_user(regs->bx, &sc->rbx); | 172 | err |= __put_user(regs->bx, &sc->bx); |
174 | err |= __put_user(regs->dx, &sc->rdx); | 173 | err |= __put_user(regs->dx, &sc->dx); |
175 | err |= __put_user(regs->cx, &sc->rcx); | 174 | err |= __put_user(regs->cx, &sc->cx); |
176 | err |= __put_user(regs->ax, &sc->rax); | 175 | err |= __put_user(regs->ax, &sc->ax); |
177 | err |= __put_user(regs->r8, &sc->r8); | 176 | err |= __put_user(regs->r8, &sc->r8); |
178 | err |= __put_user(regs->r9, &sc->r9); | 177 | err |= __put_user(regs->r9, &sc->r9); |
179 | err |= __put_user(regs->r10, &sc->r10); | 178 | err |= __put_user(regs->r10, &sc->r10); |
@@ -184,8 +183,8 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, unsigned lo | |||
184 | err |= __put_user(regs->r15, &sc->r15); | 183 | err |= __put_user(regs->r15, &sc->r15); |
185 | err |= __put_user(me->thread.trap_no, &sc->trapno); | 184 | err |= __put_user(me->thread.trap_no, &sc->trapno); |
186 | err |= __put_user(me->thread.error_code, &sc->err); | 185 | err |= __put_user(me->thread.error_code, &sc->err); |
187 | err |= __put_user(regs->ip, &sc->rip); | 186 | err |= __put_user(regs->ip, &sc->ip); |
188 | err |= __put_user(regs->flags, &sc->eflags); | 187 | err |= __put_user(regs->flags, &sc->flags); |
189 | err |= __put_user(mask, &sc->oldmask); | 188 | err |= __put_user(mask, &sc->oldmask); |
190 | err |= __put_user(me->thread.cr2, &sc->cr2); | 189 | err |= __put_user(me->thread.cr2, &sc->cr2); |
191 | 190 | ||
diff --git a/arch/x86/vdso/vdso32/sigreturn.S b/arch/x86/vdso/vdso32/sigreturn.S index cade2752928b..31776d0efc8c 100644 --- a/arch/x86/vdso/vdso32/sigreturn.S +++ b/arch/x86/vdso/vdso32/sigreturn.S | |||
@@ -92,27 +92,27 @@ __kernel_rt_sigreturn: | |||
92 | .sleb128 offset; /* offset */ \ | 92 | .sleb128 offset; /* offset */ \ |
93 | 1: | 93 | 1: |
94 | 94 | ||
95 | do_cfa_expr(IA32_SIGCONTEXT_esp+4) | 95 | do_cfa_expr(IA32_SIGCONTEXT_sp+4) |
96 | do_expr(0, IA32_SIGCONTEXT_eax+4) | 96 | do_expr(0, IA32_SIGCONTEXT_ax+4) |
97 | do_expr(1, IA32_SIGCONTEXT_ecx+4) | 97 | do_expr(1, IA32_SIGCONTEXT_cx+4) |
98 | do_expr(2, IA32_SIGCONTEXT_edx+4) | 98 | do_expr(2, IA32_SIGCONTEXT_dx+4) |
99 | do_expr(3, IA32_SIGCONTEXT_ebx+4) | 99 | do_expr(3, IA32_SIGCONTEXT_bx+4) |
100 | do_expr(5, IA32_SIGCONTEXT_ebp+4) | 100 | do_expr(5, IA32_SIGCONTEXT_bp+4) |
101 | do_expr(6, IA32_SIGCONTEXT_esi+4) | 101 | do_expr(6, IA32_SIGCONTEXT_si+4) |
102 | do_expr(7, IA32_SIGCONTEXT_edi+4) | 102 | do_expr(7, IA32_SIGCONTEXT_di+4) |
103 | do_expr(8, IA32_SIGCONTEXT_eip+4) | 103 | do_expr(8, IA32_SIGCONTEXT_ip+4) |
104 | 104 | ||
105 | .byte 0x42 /* DW_CFA_advance_loc 2 -- nop; popl eax. */ | 105 | .byte 0x42 /* DW_CFA_advance_loc 2 -- nop; popl eax. */ |
106 | 106 | ||
107 | do_cfa_expr(IA32_SIGCONTEXT_esp) | 107 | do_cfa_expr(IA32_SIGCONTEXT_sp) |
108 | do_expr(0, IA32_SIGCONTEXT_eax) | 108 | do_expr(0, IA32_SIGCONTEXT_ax) |
109 | do_expr(1, IA32_SIGCONTEXT_ecx) | 109 | do_expr(1, IA32_SIGCONTEXT_cx) |
110 | do_expr(2, IA32_SIGCONTEXT_edx) | 110 | do_expr(2, IA32_SIGCONTEXT_dx) |
111 | do_expr(3, IA32_SIGCONTEXT_ebx) | 111 | do_expr(3, IA32_SIGCONTEXT_bx) |
112 | do_expr(5, IA32_SIGCONTEXT_ebp) | 112 | do_expr(5, IA32_SIGCONTEXT_bp) |
113 | do_expr(6, IA32_SIGCONTEXT_esi) | 113 | do_expr(6, IA32_SIGCONTEXT_si) |
114 | do_expr(7, IA32_SIGCONTEXT_edi) | 114 | do_expr(7, IA32_SIGCONTEXT_di) |
115 | do_expr(8, IA32_SIGCONTEXT_eip) | 115 | do_expr(8, IA32_SIGCONTEXT_ip) |
116 | 116 | ||
117 | .align 4 | 117 | .align 4 |
118 | .LENDFDEDLSI1: | 118 | .LENDFDEDLSI1: |
@@ -129,15 +129,15 @@ __kernel_rt_sigreturn: | |||
129 | slightly less complicated than the above, since we don't | 129 | slightly less complicated than the above, since we don't |
130 | modify the stack pointer in the process. */ | 130 | modify the stack pointer in the process. */ |
131 | 131 | ||
132 | do_cfa_expr(IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_esp) | 132 | do_cfa_expr(IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_sp) |
133 | do_expr(0, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_eax) | 133 | do_expr(0, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_ax) |
134 | do_expr(1, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_ecx) | 134 | do_expr(1, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_cx) |
135 | do_expr(2, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_edx) | 135 | do_expr(2, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_dx) |
136 | do_expr(3, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_ebx) | 136 | do_expr(3, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_bx) |
137 | do_expr(5, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_ebp) | 137 | do_expr(5, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_bp) |
138 | do_expr(6, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_esi) | 138 | do_expr(6, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_si) |
139 | do_expr(7, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_edi) | 139 | do_expr(7, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_di) |
140 | do_expr(8, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_eip) | 140 | do_expr(8, IA32_RT_SIGFRAME_sigcontext-4 + IA32_SIGCONTEXT_ip) |
141 | 141 | ||
142 | .align 4 | 142 | .align 4 |
143 | .LENDFDEDLSI2: | 143 | .LENDFDEDLSI2: |
diff --git a/include/asm-x86/sigcontext.h b/include/asm-x86/sigcontext.h index c047f9dc3423..681deade5f00 100644 --- a/include/asm-x86/sigcontext.h +++ b/include/asm-x86/sigcontext.h | |||
@@ -63,20 +63,20 @@ struct sigcontext { | |||
63 | unsigned short fs, __fsh; | 63 | unsigned short fs, __fsh; |
64 | unsigned short es, __esh; | 64 | unsigned short es, __esh; |
65 | unsigned short ds, __dsh; | 65 | unsigned short ds, __dsh; |
66 | unsigned long edi; | 66 | unsigned long di; |
67 | unsigned long esi; | 67 | unsigned long si; |
68 | unsigned long ebp; | 68 | unsigned long bp; |
69 | unsigned long esp; | 69 | unsigned long sp; |
70 | unsigned long ebx; | 70 | unsigned long bx; |
71 | unsigned long edx; | 71 | unsigned long dx; |
72 | unsigned long ecx; | 72 | unsigned long cx; |
73 | unsigned long eax; | 73 | unsigned long ax; |
74 | unsigned long trapno; | 74 | unsigned long trapno; |
75 | unsigned long err; | 75 | unsigned long err; |
76 | unsigned long eip; | 76 | unsigned long ip; |
77 | unsigned short cs, __csh; | 77 | unsigned short cs, __csh; |
78 | unsigned long eflags; | 78 | unsigned long flags; |
79 | unsigned long esp_at_signal; | 79 | unsigned long sp_at_signal; |
80 | unsigned short ss, __ssh; | 80 | unsigned short ss, __ssh; |
81 | struct _fpstate __user * fpstate; | 81 | struct _fpstate __user * fpstate; |
82 | unsigned long oldmask; | 82 | unsigned long oldmask; |
@@ -111,16 +111,16 @@ struct sigcontext { | |||
111 | unsigned long r13; | 111 | unsigned long r13; |
112 | unsigned long r14; | 112 | unsigned long r14; |
113 | unsigned long r15; | 113 | unsigned long r15; |
114 | unsigned long rdi; | 114 | unsigned long di; |
115 | unsigned long rsi; | 115 | unsigned long si; |
116 | unsigned long rbp; | 116 | unsigned long bp; |
117 | unsigned long rbx; | 117 | unsigned long bx; |
118 | unsigned long rdx; | 118 | unsigned long dx; |
119 | unsigned long rax; | 119 | unsigned long ax; |
120 | unsigned long rcx; | 120 | unsigned long cx; |
121 | unsigned long rsp; | 121 | unsigned long sp; |
122 | unsigned long rip; | 122 | unsigned long ip; |
123 | unsigned long eflags; /* RFLAGS */ | 123 | unsigned long flags; |
124 | unsigned short cs; | 124 | unsigned short cs; |
125 | unsigned short gs; | 125 | unsigned short gs; |
126 | unsigned short fs; | 126 | unsigned short fs; |
diff --git a/include/asm-x86/sigcontext32.h b/include/asm-x86/sigcontext32.h index 3d657038ab7c..6ffab4fd593a 100644 --- a/include/asm-x86/sigcontext32.h +++ b/include/asm-x86/sigcontext32.h | |||
@@ -48,20 +48,20 @@ struct sigcontext_ia32 { | |||
48 | unsigned short fs, __fsh; | 48 | unsigned short fs, __fsh; |
49 | unsigned short es, __esh; | 49 | unsigned short es, __esh; |
50 | unsigned short ds, __dsh; | 50 | unsigned short ds, __dsh; |
51 | unsigned int edi; | 51 | unsigned int di; |
52 | unsigned int esi; | 52 | unsigned int si; |
53 | unsigned int ebp; | 53 | unsigned int bp; |
54 | unsigned int esp; | 54 | unsigned int sp; |
55 | unsigned int ebx; | 55 | unsigned int bx; |
56 | unsigned int edx; | 56 | unsigned int dx; |
57 | unsigned int ecx; | 57 | unsigned int cx; |
58 | unsigned int eax; | 58 | unsigned int ax; |
59 | unsigned int trapno; | 59 | unsigned int trapno; |
60 | unsigned int err; | 60 | unsigned int err; |
61 | unsigned int eip; | 61 | unsigned int ip; |
62 | unsigned short cs, __csh; | 62 | unsigned short cs, __csh; |
63 | unsigned int eflags; | 63 | unsigned int flags; |
64 | unsigned int esp_at_signal; | 64 | unsigned int sp_at_signal; |
65 | unsigned short ss, __ssh; | 65 | unsigned short ss, __ssh; |
66 | unsigned int fpstate; /* really (struct _fpstate_ia32 *) */ | 66 | unsigned int fpstate; /* really (struct _fpstate_ia32 *) */ |
67 | unsigned int oldmask; | 67 | unsigned int oldmask; |