diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-03-22 09:06:17 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-03-22 09:06:17 +0000 |
commit | fafee7a02c794d8452582cde56c733a320b952ea (patch) | |
tree | 01ee87c23255dd521a27c5318b04b35839c8a237 /sysdeps/ia64 | |
parent | a4c54197c2a1c465e1db26f53865794ef8fc89f7 (diff) | |
download | glibc-fafee7a02c794d8452582cde56c733a320b952ea.zip glibc-fafee7a02c794d8452582cde56c733a320b952ea.tar.gz glibc-fafee7a02c794d8452582cde56c733a320b952ea.tar.bz2 |
Newer kernels don't like register-frames with more than 8 output registers. Fix this by passing original ar.pfs to _mcount_ret_helper via r3.
Diffstat (limited to 'sysdeps/ia64')
-rw-r--r-- | sysdeps/ia64/_mcount.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/ia64/_mcount.S b/sysdeps/ia64/_mcount.S index aa91cb5..8720a9c 100644 --- a/sysdeps/ia64/_mcount.S +++ b/sysdeps/ia64/_mcount.S @@ -72,6 +72,7 @@ LEAF(_mcount) mov b7 = loc0 mov rp = in2 ;; + mov r3 = in0 mov r8 = loc2 mov r15 = loc3 mov b6 = r2 @@ -81,10 +82,10 @@ END(_mcount) LOCAL_LEAF(_mcount_ret_helper) .prologue .altrp b7 - .save ar.pfs, r40 + .save ar.pfs, r3 .body - alloc r2 = ar.pfs, 0, 0, 9, 0 - mov ar.pfs = r40 + alloc r2 = ar.pfs, 0, 0, 8, 0 + mov ar.pfs = r3 br b7 END(_mcount_ret_helper) |