mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
update from 961105, second try
This commit is contained in:
@@ -38,6 +38,10 @@ __curbrk: .skip 8
|
||||
.text
|
||||
LEAF(__brk, 0)
|
||||
ldgp gp, 0(t12)
|
||||
#ifdef PROF
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
#endif
|
||||
.prologue 1
|
||||
|
||||
ldiq v0, __NR_brk
|
||||
|
||||
@@ -32,6 +32,10 @@ ENTRY(__clone)
|
||||
/* Save rest of argument registers for varargs-type work. */
|
||||
stq a4,0(sp)
|
||||
stq a5,8(sp)
|
||||
#ifdef PROF
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
#endif
|
||||
.prologue 1
|
||||
|
||||
/* Sanity check arguments. */
|
||||
|
||||
@@ -22,9 +22,17 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
.text
|
||||
|
||||
LEAF(__ieee_get_fp_control, 8)
|
||||
lda sp, -8(sp)
|
||||
LEAF(__ieee_get_fp_control, 16)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(pv)
|
||||
lda sp, -16(sp)
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.prologue 1
|
||||
#else
|
||||
lda sp, -16(sp)
|
||||
.prologue 0
|
||||
#endif
|
||||
|
||||
mov sp, a1
|
||||
ldi a0, GSI_IEEE_FP_CONTROL
|
||||
@@ -33,12 +41,14 @@ LEAF(__ieee_get_fp_control, 8)
|
||||
bne a3, error
|
||||
|
||||
ldq v0, 0(sp)
|
||||
lda sp, 8(sp)
|
||||
lda sp, 16(sp)
|
||||
ret
|
||||
|
||||
error: lda sp, 8(sp)
|
||||
error: lda sp, 16(sp)
|
||||
#ifndef PROF
|
||||
br gp, 1f
|
||||
1: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
|
||||
END(__ieee_get_fp_control)
|
||||
|
||||
@@ -20,9 +20,17 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
#define SSI_IEEE_FP_CONTROL 14
|
||||
|
||||
LEAF(__ieee_set_fp_control, 8)
|
||||
lda sp, -8(sp)
|
||||
LEAF(__ieee_set_fp_control, 16)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(sp)
|
||||
lda sp, -16(sp)
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.prologue 1
|
||||
#else
|
||||
lda sp, -16(sp)
|
||||
.prologue 0
|
||||
#endif
|
||||
|
||||
stq a0, 0(sp)
|
||||
mov sp, a1
|
||||
@@ -30,13 +38,16 @@ LEAF(__ieee_set_fp_control, 8)
|
||||
ldi v0, __NR_osf_setsysinfo
|
||||
call_pal PAL_callsys
|
||||
|
||||
lda sp, 8(sp)
|
||||
lda sp, 16(sp)
|
||||
|
||||
bne a3, error
|
||||
ret
|
||||
|
||||
error: br gp, 1f
|
||||
error:
|
||||
#ifndef PROF
|
||||
br gp, 1f
|
||||
1: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
|
||||
END(__ieee_set_fp_control)
|
||||
|
||||
@@ -24,7 +24,14 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
.text
|
||||
ENTRY(llseek)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(pv)
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.prologue 1
|
||||
#else
|
||||
.prologue 0
|
||||
#endif
|
||||
|
||||
sll a1, 32, a1 /* build a 64 bit ofs out of 32 bit operands */
|
||||
zap a2, 0xf0, a2
|
||||
@@ -40,8 +47,11 @@ ENTRY(llseek)
|
||||
stq v0, 0(t0)
|
||||
ret
|
||||
|
||||
error: br gp, 1f
|
||||
error:
|
||||
#ifndef PROF
|
||||
br gp, 1f
|
||||
1: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
|
||||
END(llseek)
|
||||
|
||||
@@ -24,7 +24,14 @@ Cambridge, MA 02139, USA. */
|
||||
.text
|
||||
|
||||
LEAF(sigsuspend, 0)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(pv)
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.prologue 1
|
||||
#else
|
||||
.prologue 0
|
||||
#endif
|
||||
|
||||
ldq a0, 0(a0)
|
||||
ldi v0, __NR_sigsuspend
|
||||
@@ -32,8 +39,11 @@ LEAF(sigsuspend, 0)
|
||||
bne a3, error
|
||||
ret
|
||||
|
||||
error: br gp, 1f
|
||||
error:
|
||||
#ifndef PROF
|
||||
br gp, 1f
|
||||
1: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
|
||||
END(sigsuspend)
|
||||
|
||||
@@ -42,6 +42,15 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
|
||||
LEAF(__syscall, 0)
|
||||
#ifdef PROF
|
||||
ldgp gp, 0(pv)
|
||||
lda AT, _mcount
|
||||
jsr AT, (AT), _mcount
|
||||
.prologue 1
|
||||
#else
|
||||
.prologue 0
|
||||
#endif
|
||||
|
||||
mov a0, v0 /* Syscall number -> v0 */
|
||||
mov a1, a0 /* arg1-arg5 -> a0-a4 */
|
||||
mov a2, a1
|
||||
@@ -53,8 +62,11 @@ LEAF(__syscall, 0)
|
||||
bne a3, error
|
||||
ret
|
||||
|
||||
error: br gp, 2f
|
||||
error:
|
||||
#ifndef PROF
|
||||
br gp, 2f
|
||||
2: ldgp gp, 0(gp)
|
||||
#endif
|
||||
jmp zero, __syscall_error
|
||||
|
||||
weak_alias(__syscall, syscall)
|
||||
|
||||
Reference in New Issue
Block a user