diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2013-01-23 10:00:24 +0100 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2013-01-23 10:00:24 +0100 |
commit | bc101e2652728d8a6e8ece7c637e095618546a95 (patch) | |
tree | fe880519c048fa4bb35ba78fb74e27d902ba3980 /sysdeps/s390/s390-64/__longjmp.c | |
parent | 5655a0b58e1ba27b05c94c684c74b7078cb814d5 (diff) | |
download | glibc-bc101e2652728d8a6e8ece7c637e095618546a95.tar.gz glibc-bc101e2652728d8a6e8ece7c637e095618546a95.tar.xz glibc-bc101e2652728d8a6e8ece7c637e095618546a95.zip |
S/390: Fix setjmp/longjmp FPR save/restore
Diffstat (limited to 'sysdeps/s390/s390-64/__longjmp.c')
-rw-r--r-- | sysdeps/s390/s390-64/__longjmp.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sysdeps/s390/s390-64/__longjmp.c b/sysdeps/s390/s390-64/__longjmp.c index 510b1c2da9..2682406fde 100644 --- a/sysdeps/s390/s390-64/__longjmp.c +++ b/sysdeps/s390/s390-64/__longjmp.c @@ -42,10 +42,14 @@ __longjmp (__jmp_buf env, int val) register void *r1 __asm ("%r1") = (void *) env; #endif /* Restore registers and jump back. */ - asm volatile ("ld %%f7,104(%1)\n\t" - "ld %%f5,96(%1)\n\t" - "ld %%f3,88(%1)\n\t" - "ld %%f1,80(%1)\n\t" + asm volatile ("ld %%f8,80(%1)\n\t" + "ld %%f9,88(%1)\n\t" + "ld %%f10,96(%1)\n\t" + "ld %%f11,104(%1)\n\t" + "ld %%f12,112(%1)\n\t" + "ld %%f13,120(%1)\n\t" + "ld %%f14,128(%1)\n\t" + "ld %%f15,136(%1)\n\t" #ifdef PTR_DEMANGLE "lmg %%r6,%%r13,0(%1)\n\t" "lmg %%r4,%%r5,64(%1)\n\t" |