summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/ia64/sys/brk.S8
-rw-r--r--lib/libc/ia64/sys/pipe.S18
-rw-r--r--lib/libc/ia64/sys/sbrk.S9
3 files changed, 23 insertions, 12 deletions
diff --git a/lib/libc/ia64/sys/brk.S b/lib/libc/ia64/sys/brk.S
index d325886..fee1728 100644
--- a/lib/libc/ia64/sys/brk.S
+++ b/lib/libc/ia64/sys/brk.S
@@ -44,12 +44,14 @@ ENTRY(brk, 1)
add r14=@ltoff(minbrk),gp ;;
ld8 r14=[r14] ;;
ld8 r14=[r14] ;;
- cmp.ltu p6,p0=in0,r14 ;;
-(p6) mov in0=r14
+ cmp.ltu p6,p0=r32,r14 ;;
+(p6) mov r32=r14 ;;
+ st8 [sp]=r32
CALLSYS_ERROR(break)
+ ld8 r15=[sp]
add r14=@ltoff(curbrk),gp ;;
ld8 r14=[r14] ;;
- st8 [r14]=in0
+ st8 [r14]=r15
mov ret0=0
br.ret.sptk.few rp
END(brk)
diff --git a/lib/libc/ia64/sys/pipe.S b/lib/libc/ia64/sys/pipe.S
index 0b2600c..a6413df 100644
--- a/lib/libc/ia64/sys/pipe.S
+++ b/lib/libc/ia64/sys/pipe.S
@@ -32,10 +32,16 @@ __FBSDID("$FreeBSD$");
#include "SYS.h"
-SYSCALL(pipe)
- .regstk 1,0,0,0
- st4 [in0]=ret0,4 ;;
- st4 [in0]=ret1
- mov ret0=0
+ENTRY(__sys_pipe, 1)
+ WEAK_ALIAS(pipe, __sys_pipe)
+ WEAK_ALIAS(_pipe, __sys_pipe)
+ st8 [sp]=r32
+ CALLSYS_ERROR(pipe)
+ ld8 r14=[sp]
+ ;;
+ st4 [r14]=ret0,4
+ ;;
+ st4 [r14]=ret1
+ mov ret0=0
br.ret.sptk.few rp
-END(pipe)
+END(__sys_pipe)
diff --git a/lib/libc/ia64/sys/sbrk.S b/lib/libc/ia64/sys/sbrk.S
index 1dc4cf2..98b5ce9 100644
--- a/lib/libc/ia64/sys/sbrk.S
+++ b/lib/libc/ia64/sys/sbrk.S
@@ -43,18 +43,21 @@ ENTRY(sbrk, 1)
add r14 = @ltoff(curbrk), gp
;;
ld8 r14 = [r14]
- cmp.eq p6, p0 = in0, r0
+ cmp.eq p6, p0 = r32, r0
;;
ld8 ret0 = [r14]
(p6) br.ret.sptk.few rp
;;
- add in0 = ret0, in0
+ add r32 = ret0, r32
+ ;;
+ st8 [sp] = r32
CALLSYS_ERROR(break)
+ ld8 r15 = [sp]
add r14 = @ltoff(curbrk), gp
;;
ld8 r14 = [r14]
;;
ld8 ret0 = [r14]
- st8 [r14] = in0
+ st8 [r14] = r15
br.ret.sptk.few rp
END(sbrk)
OpenPOWER on IntegriCloud