diff options
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/ia64/sys/brk.S | 6 | ||||
-rw-r--r-- | lib/libc/ia64/sys/ptrace.S | 3 | ||||
-rw-r--r-- | lib/libc/ia64/sys/sbrk.S | 3 | ||||
-rw-r--r-- | lib/libc/ia64/sys/setlogin.S | 3 |
4 files changed, 10 insertions, 5 deletions
diff --git a/lib/libc/ia64/sys/brk.S b/lib/libc/ia64/sys/brk.S index 01638d5..a8d910c 100644 --- a/lib/libc/ia64/sys/brk.S +++ b/lib/libc/ia64/sys/brk.S @@ -39,12 +39,14 @@ EXPORT(minbrk) .text ENTRY(brk, 1) - add r14=@gprel(minbrk),gp ;; + add r14=@ltoff(minbrk),gp ;; + ld8 r14=[r14] ;; ld8 r14=[r14] ;; cmp.ltu p6,p0=in0,r14 ;; (p6) mov in0=r14 CALLSYS_ERROR(break) - add r14=@gprel(curbrk),gp ;; + add r14=@ltoff(curbrk),gp ;; + ld8 r14=[r14] ;; st8 [r14]=in0 mov ret0=0 br.ret.sptk.few rp diff --git a/lib/libc/ia64/sys/ptrace.S b/lib/libc/ia64/sys/ptrace.S index 9c11fcb..913a22d 100644 --- a/lib/libc/ia64/sys/ptrace.S +++ b/lib/libc/ia64/sys/ptrace.S @@ -31,7 +31,8 @@ #include "SYS.h" ENTRY(ptrace, 4) - add r14=@gprel(errno),gp ;; + add r14=@ltoff(errno),gp ;; + ld8 r14=[r14] ;; st4 [r14]=r0 CALLSYS_ERROR(ptrace) br.ret.sptk.few rp diff --git a/lib/libc/ia64/sys/sbrk.S b/lib/libc/ia64/sys/sbrk.S index 147e7c7..03e0766 100644 --- a/lib/libc/ia64/sys/sbrk.S +++ b/lib/libc/ia64/sys/sbrk.S @@ -40,7 +40,8 @@ EXPORT(curbrk) ENTRY(sbrk, 1) alloc r14=ar.pfs,1,2,0,0 - add loc0=@gprel(curbrk),gp ;; + add loc0=@ltoff(curbrk),gp ;; + ld8 loc0=[loc0] ;; ld8 loc1=[loc0] cmp.eq p6,p0=in0,r0 (p6) br.dpnt.few 1f diff --git a/lib/libc/ia64/sys/setlogin.S b/lib/libc/ia64/sys/setlogin.S index d46645d..2f80ddf 100644 --- a/lib/libc/ia64/sys/setlogin.S +++ b/lib/libc/ia64/sys/setlogin.S @@ -33,7 +33,8 @@ IMPORT(_logname_valid, 4) /* in getlogin() */ SYSCALL(setlogin) - add r14=@gprel(_logname_valid),gp ;; + add r14=@ltoff(_logname_valid),gp ;; + ld8 r14=[r14] ;; st4 [r14]=r0 /* clear it */ br.ret.sptk.few rp END(setlogin) |