Each NT_PRSTATUS corresponds to each CPU, but here CURRENT_CONTEXT()
is wrongly specified, so all the register values for active tasks
except for the task of the current context is wrongly equal to that of
CURRENT_CONTEXT().
Signed-off-by: HATAYAMA Daisuke <d.hatayama(a)jp.fujitsu.com>
---
src/libgcore/gcore_x86.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/libgcore/gcore_x86.c b/src/libgcore/gcore_x86.c
index 1e98b48..781ee38 100644
--- a/src/libgcore/gcore_x86.c
+++ b/src/libgcore/gcore_x86.c
@@ -1369,7 +1369,7 @@ static int genregs_get(struct task_context *target,
if (active && KDUMP_DUMPFILE()) {
struct user_regs_struct *note_regs_p;
- note_regs_p = get_regs_from_elf_notes(CURRENT_CONTEXT());
+ note_regs_p = get_regs_from_elf_notes(target);
memcpy(¬e_regs, note_regs_p, sizeof(struct user_regs_struct));
/*
--
1.7.4