Newer kernels don't like register-frames
authordrepper <drepper>
Tue, 22 Mar 2005 09:06:17 +0000 (09:06 +0000)
committerdrepper <drepper>
Tue, 22 Mar 2005 09:06:17 +0000 (09:06 +0000)
with more than 8 output registers.  Fix this by passing original
ar.pfs to _mcount_ret_helper via r3.

sysdeps/ia64/_mcount.S

index aa91cb5..8720a9c 100644 (file)
@@ -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)