Commit df2e71fb9115a8d4f721fb1464db09adc8332bc5
Committed by
Linus Torvalds
1 parent
be4f1bb262
Exists in
master
and in
4 other branches
[PATCH] dump_thread() cleanup
) From: Adrian Bunk <bunk@stusta.de> - create one common dump_thread() prototype in kernel.h - dump_thread() is only used in fs/binfmt_aout.c and can therefore be removed on all architectures where CONFIG_BINFMT_AOUT is not available Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 28 changed files with 5 additions and 250 deletions Side-by-side Diff
- arch/alpha/kernel/alpha_ksyms.c
- arch/alpha/mm/init.c
- arch/arm26/kernel/armksyms.c
- arch/cris/kernel/crisksyms.c
- arch/cris/kernel/process.c
- arch/frv/kernel/frv_ksyms.c
- arch/frv/kernel/process.c
- arch/h8300/kernel/h8300_ksyms.c
- arch/h8300/kernel/process.c
- arch/m32r/kernel/m32r_ksyms.c
- arch/m32r/kernel/process.c
- arch/m68k/kernel/m68k_ksyms.c
- arch/m68knommu/kernel/m68k_ksyms.c
- arch/m68knommu/kernel/process.c
- arch/s390/kernel/process.c
- arch/sh/kernel/process.c
- arch/sh/kernel/sh_ksyms.c
- arch/sh64/kernel/process.c
- arch/sh64/kernel/sh_ksyms.c
- arch/sparc/kernel/sparc_ksyms.c
- arch/sparc64/kernel/binfmt_aout32.c
- arch/sparc64/kernel/sparc64_ksyms.c
- arch/v850/kernel/process.c
- arch/v850/kernel/v850_ksyms.c
- fs/binfmt_aout.c
- fs/binfmt_flat.c
- include/asm-um/processor-generic.h
- include/linux/kernel.h
arch/alpha/kernel/alpha_ksyms.c
arch/alpha/mm/init.c
arch/arm26/kernel/armksyms.c
... | ... | @@ -35,7 +35,6 @@ |
35 | 35 | #include <asm/checksum.h> |
36 | 36 | #include <asm/mach-types.h> |
37 | 37 | |
38 | -extern void dump_thread(struct pt_regs *, struct user *); | |
39 | 38 | extern int dump_fpu(struct pt_regs *, struct user_fp_struct *); |
40 | 39 | extern void inswb(unsigned int port, void *to, int len); |
41 | 40 | extern void outswb(unsigned int port, const void *to, int len); |
arch/cris/kernel/crisksyms.c
... | ... | @@ -21,7 +21,6 @@ |
21 | 21 | #include <asm/pgtable.h> |
22 | 22 | #include <asm/fasttimer.h> |
23 | 23 | |
24 | -extern void dump_thread(struct pt_regs *, struct user *); | |
25 | 24 | extern unsigned long get_cmos_time(void); |
26 | 25 | extern void __Udiv(void); |
27 | 26 | extern void __Umod(void); |
... | ... | @@ -33,7 +32,6 @@ |
33 | 32 | extern void iounmap(volatile void * __iomem); |
34 | 33 | |
35 | 34 | /* Platform dependent support */ |
36 | -EXPORT_SYMBOL(dump_thread); | |
37 | 35 | EXPORT_SYMBOL(kernel_thread); |
38 | 36 | EXPORT_SYMBOL(get_cmos_time); |
39 | 37 | EXPORT_SYMBOL(loops_per_usec); |
arch/cris/kernel/process.c
... | ... | @@ -257,34 +257,6 @@ |
257 | 257 | { |
258 | 258 | } |
259 | 259 | |
260 | -/* | |
261 | - * fill in the user structure for a core dump.. | |
262 | - */ | |
263 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
264 | -{ | |
265 | -#if 0 | |
266 | - int i; | |
267 | - | |
268 | - /* changed the size calculations - should hopefully work better. lbt */ | |
269 | - dump->magic = CMAGIC; | |
270 | - dump->start_code = 0; | |
271 | - dump->start_stack = regs->esp & ~(PAGE_SIZE - 1); | |
272 | - dump->u_tsize = ((unsigned long) current->mm->end_code) >> PAGE_SHIFT; | |
273 | - dump->u_dsize = ((unsigned long) (current->mm->brk + (PAGE_SIZE-1))) >> PAGE_SHIFT; | |
274 | - dump->u_dsize -= dump->u_tsize; | |
275 | - dump->u_ssize = 0; | |
276 | - for (i = 0; i < 8; i++) | |
277 | - dump->u_debugreg[i] = current->debugreg[i]; | |
278 | - | |
279 | - if (dump->start_stack < TASK_SIZE) | |
280 | - dump->u_ssize = ((unsigned long) (TASK_SIZE - dump->start_stack)) >> PAGE_SHIFT; | |
281 | - | |
282 | - dump->regs = *regs; | |
283 | - | |
284 | - dump->u_fpvalid = dump_fpu (regs, &dump->i387); | |
285 | -#endif | |
286 | -} | |
287 | - | |
288 | 260 | /* Fill in the fpu structure for a core dump. */ |
289 | 261 | int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu) |
290 | 262 | { |
arch/frv/kernel/frv_ksyms.c
... | ... | @@ -18,7 +18,6 @@ |
18 | 18 | #include <asm/hardirq.h> |
19 | 19 | #include <asm/cacheflush.h> |
20 | 20 | |
21 | -extern void dump_thread(struct pt_regs *, struct user *); | |
22 | 21 | extern long __memcpy_user(void *dst, const void *src, size_t count); |
23 | 22 | extern long __memset_user(void *dst, const void *src, size_t count); |
24 | 23 | |
... | ... | @@ -27,7 +26,6 @@ |
27 | 26 | EXPORT_SYMBOL(__ioremap); |
28 | 27 | EXPORT_SYMBOL(iounmap); |
29 | 28 | |
30 | -EXPORT_SYMBOL(dump_thread); | |
31 | 29 | EXPORT_SYMBOL(strnlen); |
32 | 30 | EXPORT_SYMBOL(strrchr); |
33 | 31 | EXPORT_SYMBOL(strstr); |
arch/frv/kernel/process.c
... | ... | @@ -244,28 +244,6 @@ |
244 | 244 | } /* end copy_thread() */ |
245 | 245 | |
246 | 246 | /* |
247 | - * fill in the user structure for a core dump.. | |
248 | - */ | |
249 | -void dump_thread(struct pt_regs *regs, struct user *dump) | |
250 | -{ | |
251 | -#if 0 | |
252 | - /* changed the size calculations - should hopefully work better. lbt */ | |
253 | - dump->magic = CMAGIC; | |
254 | - dump->start_code = 0; | |
255 | - dump->start_stack = user_stack(regs) & ~(PAGE_SIZE - 1); | |
256 | - dump->u_tsize = ((unsigned long) current->mm->end_code) >> PAGE_SHIFT; | |
257 | - dump->u_dsize = ((unsigned long) (current->mm->brk + (PAGE_SIZE-1))) >> PAGE_SHIFT; | |
258 | - dump->u_dsize -= dump->u_tsize; | |
259 | - dump->u_ssize = 0; | |
260 | - | |
261 | - if (dump->start_stack < TASK_SIZE) | |
262 | - dump->u_ssize = ((unsigned long) (TASK_SIZE - dump->start_stack)) >> PAGE_SHIFT; | |
263 | - | |
264 | - dump->regs = *(struct user_context *) regs; | |
265 | -#endif | |
266 | -} | |
267 | - | |
268 | -/* | |
269 | 247 | * sys_execve() executes a new program. |
270 | 248 | */ |
271 | 249 | asmlinkage int sys_execve(char *name, char **argv, char **envp) |
arch/h8300/kernel/h8300_ksyms.c
... | ... | @@ -22,11 +22,8 @@ |
22 | 22 | //asmlinkage long long __lshrdi3 (long long, int); |
23 | 23 | extern char h8300_debug_device[]; |
24 | 24 | |
25 | -extern void dump_thread(struct pt_regs *, struct user *); | |
26 | - | |
27 | 25 | /* platform dependent support */ |
28 | 26 | |
29 | -EXPORT_SYMBOL(dump_thread); | |
30 | 27 | EXPORT_SYMBOL(strnlen); |
31 | 28 | EXPORT_SYMBOL(strrchr); |
32 | 29 | EXPORT_SYMBOL(strstr); |
arch/h8300/kernel/process.c
... | ... | @@ -208,34 +208,6 @@ |
208 | 208 | } |
209 | 209 | |
210 | 210 | /* |
211 | - * fill in the user structure for a core dump.. | |
212 | - */ | |
213 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
214 | -{ | |
215 | -/* changed the size calculations - should hopefully work better. lbt */ | |
216 | - dump->magic = CMAGIC; | |
217 | - dump->start_code = 0; | |
218 | - dump->start_stack = rdusp() & ~(PAGE_SIZE - 1); | |
219 | - dump->u_tsize = ((unsigned long) current->mm->end_code) >> PAGE_SHIFT; | |
220 | - dump->u_dsize = ((unsigned long) (current->mm->brk + | |
221 | - (PAGE_SIZE-1))) >> PAGE_SHIFT; | |
222 | - dump->u_dsize -= dump->u_tsize; | |
223 | - dump->u_ssize = 0; | |
224 | - | |
225 | - dump->u_ar0 = (struct user_regs_struct *)(((int)(&dump->regs)) -((int)(dump))); | |
226 | - dump->regs.er0 = regs->er0; | |
227 | - dump->regs.er1 = regs->er1; | |
228 | - dump->regs.er2 = regs->er2; | |
229 | - dump->regs.er3 = regs->er3; | |
230 | - dump->regs.er4 = regs->er4; | |
231 | - dump->regs.er5 = regs->er5; | |
232 | - dump->regs.er6 = regs->er6; | |
233 | - dump->regs.orig_er0 = regs->orig_er0; | |
234 | - dump->regs.ccr = regs->ccr; | |
235 | - dump->regs.pc = regs->pc; | |
236 | -} | |
237 | - | |
238 | -/* | |
239 | 211 | * sys_execve() executes a new program. |
240 | 212 | */ |
241 | 213 | asmlinkage int sys_execve(char *name, char **argv, char **envp,int dummy,...) |
arch/m32r/kernel/m32r_ksyms.c
... | ... | @@ -18,8 +18,6 @@ |
18 | 18 | #include <asm/irq.h> |
19 | 19 | #include <asm/tlbflush.h> |
20 | 20 | |
21 | -extern void dump_thread(struct pt_regs *, struct user *); | |
22 | - | |
23 | 21 | #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_HD) || defined(CONFIG_BLK_DEV_IDE_MODULE) || defined(CONFIG_BLK_DEV_HD_MODULE) |
24 | 22 | extern struct drive_info_struct drive_info; |
25 | 23 | EXPORT_SYMBOL(drive_info); |
... | ... | @@ -27,7 +25,6 @@ |
27 | 25 | |
28 | 26 | /* platform dependent support */ |
29 | 27 | EXPORT_SYMBOL(boot_cpu_data); |
30 | -EXPORT_SYMBOL(dump_thread); | |
31 | 28 | EXPORT_SYMBOL(dump_fpu); |
32 | 29 | EXPORT_SYMBOL(__ioremap); |
33 | 30 | EXPORT_SYMBOL(iounmap); |
arch/m32r/kernel/process.c
... | ... | @@ -261,14 +261,6 @@ |
261 | 261 | } |
262 | 262 | |
263 | 263 | /* |
264 | - * fill in the user structure for a core dump.. | |
265 | - */ | |
266 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
267 | -{ | |
268 | - /* M32R_FIXME */ | |
269 | -} | |
270 | - | |
271 | -/* | |
272 | 264 | * Capture the user space registers if the task is not running (in user space) |
273 | 265 | */ |
274 | 266 | int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs) |
arch/m68k/kernel/m68k_ksyms.c
arch/m68knommu/kernel/m68k_ksyms.c
... | ... | @@ -18,7 +18,6 @@ |
18 | 18 | #include <asm/checksum.h> |
19 | 19 | #include <asm/current.h> |
20 | 20 | |
21 | -extern void dump_thread(struct pt_regs *, struct user *); | |
22 | 21 | extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); |
23 | 22 | |
24 | 23 | /* platform dependent support */ |
... | ... | @@ -26,7 +25,6 @@ |
26 | 25 | EXPORT_SYMBOL(__ioremap); |
27 | 26 | EXPORT_SYMBOL(iounmap); |
28 | 27 | EXPORT_SYMBOL(dump_fpu); |
29 | -EXPORT_SYMBOL(dump_thread); | |
30 | 28 | EXPORT_SYMBOL(strnlen); |
31 | 29 | EXPORT_SYMBOL(strrchr); |
32 | 30 | EXPORT_SYMBOL(strstr); |
arch/m68knommu/kernel/process.c
... | ... | @@ -276,52 +276,6 @@ |
276 | 276 | } |
277 | 277 | |
278 | 278 | /* |
279 | - * fill in the user structure for a core dump.. | |
280 | - */ | |
281 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
282 | -{ | |
283 | - struct switch_stack *sw; | |
284 | - | |
285 | - /* changed the size calculations - should hopefully work better. lbt */ | |
286 | - dump->magic = CMAGIC; | |
287 | - dump->start_code = 0; | |
288 | - dump->start_stack = rdusp() & ~(PAGE_SIZE - 1); | |
289 | - dump->u_tsize = ((unsigned long) current->mm->end_code) >> PAGE_SHIFT; | |
290 | - dump->u_dsize = ((unsigned long) (current->mm->brk + | |
291 | - (PAGE_SIZE-1))) >> PAGE_SHIFT; | |
292 | - dump->u_dsize -= dump->u_tsize; | |
293 | - dump->u_ssize = 0; | |
294 | - | |
295 | - if (dump->start_stack < TASK_SIZE) | |
296 | - dump->u_ssize = ((unsigned long) (TASK_SIZE - dump->start_stack)) >> PAGE_SHIFT; | |
297 | - | |
298 | - dump->u_ar0 = (struct user_regs_struct *)((int)&dump->regs - (int)dump); | |
299 | - sw = ((struct switch_stack *)regs) - 1; | |
300 | - dump->regs.d1 = regs->d1; | |
301 | - dump->regs.d2 = regs->d2; | |
302 | - dump->regs.d3 = regs->d3; | |
303 | - dump->regs.d4 = regs->d4; | |
304 | - dump->regs.d5 = regs->d5; | |
305 | - dump->regs.d6 = sw->d6; | |
306 | - dump->regs.d7 = sw->d7; | |
307 | - dump->regs.a0 = regs->a0; | |
308 | - dump->regs.a1 = regs->a1; | |
309 | - dump->regs.a2 = regs->a2; | |
310 | - dump->regs.a3 = sw->a3; | |
311 | - dump->regs.a4 = sw->a4; | |
312 | - dump->regs.a5 = sw->a5; | |
313 | - dump->regs.a6 = sw->a6; | |
314 | - dump->regs.d0 = regs->d0; | |
315 | - dump->regs.orig_d0 = regs->orig_d0; | |
316 | - dump->regs.stkadj = regs->stkadj; | |
317 | - dump->regs.sr = regs->sr; | |
318 | - dump->regs.pc = regs->pc; | |
319 | - dump->regs.fmtvec = (regs->format << 12) | regs->vector; | |
320 | - /* dump floating point stuff */ | |
321 | - dump->u_fpvalid = dump_fpu (regs, &dump->m68kfp); | |
322 | -} | |
323 | - | |
324 | -/* | |
325 | 279 | * Generic dumping code. Used for panic and debug. |
326 | 280 | */ |
327 | 281 | void dump(struct pt_regs *fp) |
arch/s390/kernel/process.c
... | ... | @@ -352,27 +352,6 @@ |
352 | 352 | return 1; |
353 | 353 | } |
354 | 354 | |
355 | -/* | |
356 | - * fill in the user structure for a core dump.. | |
357 | - */ | |
358 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
359 | -{ | |
360 | - | |
361 | -/* changed the size calculations - should hopefully work better. lbt */ | |
362 | - dump->magic = CMAGIC; | |
363 | - dump->start_code = 0; | |
364 | - dump->start_stack = regs->gprs[15] & ~(PAGE_SIZE - 1); | |
365 | - dump->u_tsize = current->mm->end_code >> PAGE_SHIFT; | |
366 | - dump->u_dsize = (current->mm->brk + PAGE_SIZE - 1) >> PAGE_SHIFT; | |
367 | - dump->u_dsize -= dump->u_tsize; | |
368 | - dump->u_ssize = 0; | |
369 | - if (dump->start_stack < TASK_SIZE) | |
370 | - dump->u_ssize = (TASK_SIZE - dump->start_stack) >> PAGE_SHIFT; | |
371 | - memcpy(&dump->regs, regs, sizeof(s390_regs)); | |
372 | - dump_fpu (regs, &dump->regs.fp_regs); | |
373 | - dump->regs.per_info = current->thread.per_info; | |
374 | -} | |
375 | - | |
376 | 355 | unsigned long get_wchan(struct task_struct *p) |
377 | 356 | { |
378 | 357 | struct stack_frame *sf, *low, *high; |
arch/sh/kernel/process.c
... | ... | @@ -305,26 +305,6 @@ |
305 | 305 | return 0; |
306 | 306 | } |
307 | 307 | |
308 | -/* | |
309 | - * fill in the user structure for a core dump.. | |
310 | - */ | |
311 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
312 | -{ | |
313 | - dump->magic = CMAGIC; | |
314 | - dump->start_code = current->mm->start_code; | |
315 | - dump->start_data = current->mm->start_data; | |
316 | - dump->start_stack = regs->regs[15] & ~(PAGE_SIZE - 1); | |
317 | - dump->u_tsize = (current->mm->end_code - dump->start_code) >> PAGE_SHIFT; | |
318 | - dump->u_dsize = (current->mm->brk + (PAGE_SIZE-1) - dump->start_data) >> PAGE_SHIFT; | |
319 | - dump->u_ssize = (current->mm->start_stack - dump->start_stack + | |
320 | - PAGE_SIZE - 1) >> PAGE_SHIFT; | |
321 | - /* Debug registers will come here. */ | |
322 | - | |
323 | - dump->regs = *regs; | |
324 | - | |
325 | - dump->u_fpvalid = dump_fpu(regs, &dump->fpu); | |
326 | -} | |
327 | - | |
328 | 308 | /* Tracing by user break controller. */ |
329 | 309 | static void |
330 | 310 | ubc_set_tracing(int asid, unsigned long pc) |
arch/sh/kernel/sh_ksyms.c
... | ... | @@ -21,14 +21,12 @@ |
21 | 21 | #include <asm/cacheflush.h> |
22 | 22 | #include <asm/checksum.h> |
23 | 23 | |
24 | -extern void dump_thread(struct pt_regs *, struct user *); | |
25 | 24 | extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); |
26 | 25 | extern struct hw_interrupt_type no_irq_type; |
27 | 26 | |
28 | 27 | EXPORT_SYMBOL(sh_mv); |
29 | 28 | |
30 | 29 | /* platform dependent support */ |
31 | -EXPORT_SYMBOL(dump_thread); | |
32 | 30 | EXPORT_SYMBOL(dump_fpu); |
33 | 31 | EXPORT_SYMBOL(iounmap); |
34 | 32 | EXPORT_SYMBOL(enable_irq); |
arch/sh64/kernel/process.c
... | ... | @@ -775,26 +775,6 @@ |
775 | 775 | return 0; |
776 | 776 | } |
777 | 777 | |
778 | -/* | |
779 | - * fill in the user structure for a core dump.. | |
780 | - */ | |
781 | -void dump_thread(struct pt_regs * regs, struct user * dump) | |
782 | -{ | |
783 | - dump->magic = CMAGIC; | |
784 | - dump->start_code = current->mm->start_code; | |
785 | - dump->start_data = current->mm->start_data; | |
786 | - dump->start_stack = regs->regs[15] & ~(PAGE_SIZE - 1); | |
787 | - dump->u_tsize = (current->mm->end_code - dump->start_code) >> PAGE_SHIFT; | |
788 | - dump->u_dsize = (current->mm->brk + (PAGE_SIZE-1) - dump->start_data) >> PAGE_SHIFT; | |
789 | - dump->u_ssize = (current->mm->start_stack - dump->start_stack + | |
790 | - PAGE_SIZE - 1) >> PAGE_SHIFT; | |
791 | - /* Debug registers will come here. */ | |
792 | - | |
793 | - dump->regs = *regs; | |
794 | - | |
795 | - dump->u_fpvalid = dump_fpu(regs, &dump->fpu); | |
796 | -} | |
797 | - | |
798 | 778 | asmlinkage int sys_fork(unsigned long r2, unsigned long r3, |
799 | 779 | unsigned long r4, unsigned long r5, |
800 | 780 | unsigned long r6, unsigned long r7, |
arch/sh64/kernel/sh_ksyms.c
... | ... | @@ -29,7 +29,6 @@ |
29 | 29 | #include <asm/delay.h> |
30 | 30 | #include <asm/irq.h> |
31 | 31 | |
32 | -extern void dump_thread(struct pt_regs *, struct user *); | |
33 | 32 | extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); |
34 | 33 | |
35 | 34 | #if 0 |
... | ... | @@ -41,7 +40,6 @@ |
41 | 40 | #endif |
42 | 41 | |
43 | 42 | /* platform dependent support */ |
44 | -EXPORT_SYMBOL(dump_thread); | |
45 | 43 | EXPORT_SYMBOL(dump_fpu); |
46 | 44 | EXPORT_SYMBOL(iounmap); |
47 | 45 | EXPORT_SYMBOL(enable_irq); |
arch/sparc/kernel/sparc_ksyms.c
... | ... | @@ -82,8 +82,6 @@ |
82 | 82 | extern int __muldi3(int, int); |
83 | 83 | extern int __divdi3(int, int); |
84 | 84 | |
85 | -extern void dump_thread(struct pt_regs *, struct user *); | |
86 | - | |
87 | 85 | /* Private functions with odd calling conventions. */ |
88 | 86 | extern void ___atomic24_add(void); |
89 | 87 | extern void ___atomic24_sub(void); |
arch/sparc64/kernel/binfmt_aout32.c
... | ... | @@ -36,8 +36,6 @@ |
36 | 36 | static int load_aout32_library(struct file*); |
37 | 37 | static int aout32_core_dump(long signr, struct pt_regs * regs, struct file *file); |
38 | 38 | |
39 | -extern void dump_thread(struct pt_regs *, struct user *); | |
40 | - | |
41 | 39 | static struct linux_binfmt aout32_format = { |
42 | 40 | NULL, THIS_MODULE, load_aout32_binary, load_aout32_library, aout32_core_dump, |
43 | 41 | PAGE_SIZE |
arch/sparc64/kernel/sparc64_ksyms.c
... | ... | @@ -94,7 +94,6 @@ |
94 | 94 | |
95 | 95 | extern int __ashrdi3(int, int); |
96 | 96 | |
97 | -extern void dump_thread(struct pt_regs *, struct user *); | |
98 | 97 | extern int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs); |
99 | 98 | |
100 | 99 | extern unsigned long phys_base; |
... | ... | @@ -241,7 +240,6 @@ |
241 | 240 | EXPORT_SYMBOL(_sigpause_common); |
242 | 241 | EXPORT_SYMBOL(verify_compat_iovec); |
243 | 242 | |
244 | -EXPORT_SYMBOL(dump_thread); | |
245 | 243 | EXPORT_SYMBOL(dump_fpu); |
246 | 244 | EXPORT_SYMBOL(pte_alloc_one_kernel); |
247 | 245 | #ifndef CONFIG_SMP |
arch/v850/kernel/process.c
... | ... | @@ -164,30 +164,6 @@ |
164 | 164 | } |
165 | 165 | |
166 | 166 | /* |
167 | - * fill in the user structure for a core dump.. | |
168 | - */ | |
169 | -void dump_thread (struct pt_regs *regs, struct user *dump) | |
170 | -{ | |
171 | -#if 0 /* Later. XXX */ | |
172 | - dump->magic = CMAGIC; | |
173 | - dump->start_code = 0; | |
174 | - dump->start_stack = regs->gpr[GPR_SP]; | |
175 | - dump->u_tsize = ((unsigned long) current->mm->end_code) >> PAGE_SHIFT; | |
176 | - dump->u_dsize = ((unsigned long) (current->mm->brk + | |
177 | - (PAGE_SIZE-1))) >> PAGE_SHIFT; | |
178 | - dump->u_dsize -= dump->u_tsize; | |
179 | - dump->u_ssize = 0; | |
180 | - | |
181 | - if (dump->start_stack < TASK_SIZE) | |
182 | - dump->u_ssize = ((unsigned long) (TASK_SIZE - dump->start_stack)) >> PAGE_SHIFT; | |
183 | - | |
184 | - dump->u_ar0 = (struct user_regs_struct *)((int)&dump->regs - (int)dump); | |
185 | - dump->regs = *regs; | |
186 | - dump->u_fpvalid = 0; | |
187 | -#endif | |
188 | -} | |
189 | - | |
190 | -/* | |
191 | 167 | * sys_execve() executes a new program. |
192 | 168 | */ |
193 | 169 | int sys_execve (char *name, char **argv, char **envp, struct pt_regs *regs) |
arch/v850/kernel/v850_ksyms.c
... | ... | @@ -21,8 +21,6 @@ |
21 | 21 | EXPORT_SYMBOL (trap_table); |
22 | 22 | |
23 | 23 | /* platform dependent support */ |
24 | -extern void dump_thread (struct pt_regs *, struct user *); | |
25 | -EXPORT_SYMBOL (dump_thread); | |
26 | 24 | EXPORT_SYMBOL (kernel_thread); |
27 | 25 | EXPORT_SYMBOL (enable_irq); |
28 | 26 | EXPORT_SYMBOL (disable_irq); |
fs/binfmt_aout.c
... | ... | @@ -33,8 +33,6 @@ |
33 | 33 | static int load_aout_library(struct file*); |
34 | 34 | static int aout_core_dump(long signr, struct pt_regs * regs, struct file *file); |
35 | 35 | |
36 | -extern void dump_thread(struct pt_regs *, struct user *); | |
37 | - | |
38 | 36 | static struct linux_binfmt aout_format = { |
39 | 37 | .module = THIS_MODULE, |
40 | 38 | .load_binary = load_aout_binary, |
fs/binfmt_flat.c
... | ... | @@ -77,8 +77,6 @@ |
77 | 77 | static int load_flat_binary(struct linux_binprm *, struct pt_regs * regs); |
78 | 78 | static int flat_core_dump(long signr, struct pt_regs * regs, struct file *file); |
79 | 79 | |
80 | -extern void dump_thread(struct pt_regs *, struct user *); | |
81 | - | |
82 | 80 | static struct linux_binfmt flat_format = { |
83 | 81 | .module = THIS_MODULE, |
84 | 82 | .load_binary = load_flat_binary, |
include/asm-um/processor-generic.h
... | ... | @@ -89,7 +89,6 @@ |
89 | 89 | |
90 | 90 | extern void release_thread(struct task_struct *); |
91 | 91 | extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); |
92 | -extern void dump_thread(struct pt_regs *regs, struct user *u); | |
93 | 92 | |
94 | 93 | static inline void prepare_to_copy(struct task_struct *tsk) |
95 | 94 | { |
include/linux/kernel.h
... | ... | @@ -47,6 +47,8 @@ |
47 | 47 | #define default_console_loglevel (console_printk[3]) |
48 | 48 | |
49 | 49 | struct completion; |
50 | +struct pt_regs; | |
51 | +struct user; | |
50 | 52 | |
51 | 53 | /** |
52 | 54 | * might_sleep - annotation for functions that can sleep |
... | ... | @@ -122,6 +124,8 @@ |
122 | 124 | extern int __kernel_text_address(unsigned long addr); |
123 | 125 | extern int kernel_text_address(unsigned long addr); |
124 | 126 | extern int session_of_pgrp(int pgrp); |
127 | + | |
128 | +extern void dump_thread(struct pt_regs *regs, struct user *dump); | |
125 | 129 | |
126 | 130 | #ifdef CONFIG_PRINTK |
127 | 131 | asmlinkage int vprintk(const char *fmt, va_list args) |