diff options
Diffstat (limited to 'sysdeps/ia64')
-rw-r--r-- | sysdeps/ia64/_mcount.S | 7 | ||||
-rw-r--r-- | sysdeps/ia64/elf/initfini.c | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/sysdeps/ia64/_mcount.S b/sysdeps/ia64/_mcount.S index aa91cb5d42..8720a9c104 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) diff --git a/sysdeps/ia64/elf/initfini.c b/sysdeps/ia64/elf/initfini.c index 59674fe6f2..3aa44de8f1 100644 --- a/sysdeps/ia64/elf/initfini.c +++ b/sysdeps/ia64/elf/initfini.c @@ -116,13 +116,14 @@ __asm__ (".section .init\n" "/*@_init_PROLOG_ENDS*/\n" "\n" "/*@_init_EPILOG_BEGINS*/\n" +" .section .init\n" " .proc _init#\n" +"_init:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" " .save rp, r33\n" " .body\n" -" .section .init\n" " .regstk 0,2,0,0\n" " mov r12 = r32\n" " mov ar.pfs = r34\n" @@ -155,6 +156,7 @@ __asm__ (".section .init\n" "/*@_fini_EPILOG_BEGINS*/\n" " .section .fini\n" " .proc _fini#\n" +"_fini:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" |