aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/ia64/getcontext.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-06 21:58:34 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-06 21:58:34 +0000
commit1a51bde7717d8f0458b682576029576225cf874f (patch)
tree3fd6670fdd151f6b463039b2121caaee06496bf3 /sysdeps/unix/sysv/linux/ia64/getcontext.S
parent99ee59707bafccd24e6dd38190cb3501ffa5c70a (diff)
downloadglibc-1a51bde7717d8f0458b682576029576225cf874f.tar
glibc-1a51bde7717d8f0458b682576029576225cf874f.tar.gz
glibc-1a51bde7717d8f0458b682576029576225cf874f.tar.bz2
glibc-1a51bde7717d8f0458b682576029576225cf874f.zip
Update.
2001-04-06 David Mosberger <davidm@hpl.hp.com> * stdlib/tst-setcontext.c: Move st2[] to global scope. (f2): Verify that stack pointer is inside st2[]. * sysdeps/unix/sysv/linux/ia64/getcontext.S: It helps to save r12. * sysdeps/unix/sysv/linux/ia64/setcontext.S: It helps to restore r12.
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64/getcontext.S')
-rw-r--r--sysdeps/unix/sysv/linux/ia64/getcontext.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/getcontext.S b/sysdeps/unix/sysv/linux/ia64/getcontext.S
index 2669a2b85f..1a0ca915ab 100644
--- a/sysdeps/unix/sysv/linux/ia64/getcontext.S
+++ b/sysdeps/unix/sysv/linux/ia64/getcontext.S
@@ -61,12 +61,11 @@ ENTRY(__getcontext)
mov.i rPFS = ar.pfs
;;
.mem.offset 0,0; st8.spill [r2] = r5, 16
-.mem.offset 8,0; st8.spill [r3] = r6
- add r3 = (SC_FR+3*16-(SC_GR+6*8)), r3
+.mem.offset 8,0; st8.spill [r3] = r6, 48
+ and rTMP = ~0x3, rRSC
;;
st8.spill [r2] = r7, (SC_FR+2*16-(SC_GR+7*8))
- nop 0
- and rTMP = ~0x3, rRSC
+ st8.spill [r3] = sp, (SC_FR+3*16-(SC_GR+12*8))
;;
mov.m ar.rsc = rTMP // put RSE into enforced lazy mode
mov.m rNAT = ar.unat