aboutsummaryrefslogtreecommitdiff
path: root/arch/parisc/kernel/stacktrace.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-08-22 14:06:37 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2018-08-22 14:06:37 -0700
commit45b74a65b9934d5e1520d97aa4e09cf2b8c69ac0 (patch)
tree7c451271a6c274da9b7f37fcb2592d4cfc972644 /arch/parisc/kernel/stacktrace.c
parent433bcf67370bc170a345634aa1be4ee8ac905de9 (diff)
parentdbf2a4b1ffab2867505be3b24221d5efa2200c91 (diff)
downloadlinux-45b74a65b9934d5e1520d97aa4e09cf2b8c69ac0.tar.gz
linux-45b74a65b9934d5e1520d97aa4e09cf2b8c69ac0.tar.bz2
linux-45b74a65b9934d5e1520d97aa4e09cf2b8c69ac0.zip
Merge branch 'parisc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull more parisc updates from Helge Deller: - fix boot failure of 64-bit kernel. It got broken by the unwind optimization commit in merge window. - fix 64-bit userspace support (static 64-bit applications only, e.g. we don't yet have 64-bit userspace support in glibc). - consolidate unwind initialization code. - add machine model description to stack trace. * 'parisc-4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Add hardware description to stack traces parisc: Fix boot failure of 64-bit kernel parisc: Consolidate unwind initialization calls parisc: Update comments in syscall.S regarding wide userland parisc: Fix ptraced 64-bit applications to call 64-bit syscalls parisc: Restore possibility to execute 64-bit applications
Diffstat (limited to 'arch/parisc/kernel/stacktrace.c')
-rw-r--r--arch/parisc/kernel/stacktrace.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/arch/parisc/kernel/stacktrace.c b/arch/parisc/kernel/stacktrace.c
index 2fe914c5f533..ec5835e83a7a 100644
--- a/arch/parisc/kernel/stacktrace.c
+++ b/arch/parisc/kernel/stacktrace.c
@@ -16,20 +16,7 @@ static void dump_trace(struct task_struct *task, struct stack_trace *trace)
{
struct unwind_frame_info info;
- /* initialize unwind info */
- if (task == current) {
- unsigned long sp;
- struct pt_regs r;
-HERE:
- asm volatile ("copy %%r30, %0" : "=r"(sp));
- memset(&r, 0, sizeof(struct pt_regs));
- r.iaoq[0] = (unsigned long)&&HERE;
- r.gr[2] = (unsigned long)__builtin_return_address(0);
- r.gr[30] = sp;
- unwind_frame_init(&info, task, &r);
- } else {
- unwind_frame_init_from_blocked_task(&info, task);
- }
+ unwind_frame_init_task(&info, task, NULL);
/* unwind stack and save entries in stack_trace struct */
trace->nr_entries = 0;