aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormostang.com!davidm <mostang.com!davidm>2003-01-21 17:41:20 +0000
committermostang.com!davidm <mostang.com!davidm>2003-01-21 17:41:20 +0000
commit7c6f9ccd2c8afbd5523cf0076afb664d8c696bfe (patch)
tree94bafaf0a019dd9c6139ce3c869b273206885a29 /src
parent5a55c1d8a8b4374c487fbfa0d8045b139cd243ec (diff)
downloadlibunwind-7c6f9ccd2c8afbd5523cf0076afb664d8c696bfe.tar.gz
(run_script): Use ia64_get_stacked() to access stacked register & don't forget to
rotate stacked registers. (Logical change 1.40)
Diffstat (limited to 'src')
-rw-r--r--src/ia64/Gscript-ia64.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ia64/Gscript-ia64.c b/src/ia64/Gscript-ia64.c
index f1d80277..37bcea18 100644
--- a/src/ia64/Gscript-ia64.c
+++ b/src/ia64/Gscript-ia64.c
@@ -1,5 +1,5 @@
/* libunwind - a platform-independent unwind library
- Copyright (C) 2001-2002 Hewlett-Packard Co
+ Copyright (C) 2001-2003 Hewlett-Packard Co
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
This file is part of libunwind.
@@ -442,7 +442,10 @@ run_script (struct ia64_script *script, struct cursor *c)
break;
case IA64_INSN_MOVE_STACKED:
- s[dst] = ia64_rse_skip_regs (c->bsp, val);
+ val = rotate_gr (c, val);
+ ret = ia64_get_stacked (c, val, &s[dst], NULL);
+ if (ret < 0)
+ return ret;
break;
case IA64_INSN_SETNAT_MEMSTK: