File:
[DVB] /
dietlibc /
alpha /
clone.S
Revision
1.2:
download - view:
text,
annotated -
select for diffs
Sat Jun 16 20:51:43 2001 UTC (22 years, 11 months ago) by
fefe
Branches:
MAIN
CVS tags:
finnland_test_200301,
branch_rc14_fieldtest_finnland,
branch_rc13_fieldtest_finnland,
branch_rc12_fieldtest_finnland,
branch_rc10_fieldtest_finnland,
RELEASE_finnland_200301_1,
RC12_FIELDTEST_FINNLAND,
RC10_FIELDTEST_FINNLAND,
HEAD
#define alloca to __builtin_alloca with gcc.
#include "syscalls.h"
#include <errno.h>
.text
.align 2
.weak clone
clone:
.global __clone
.type __clone,@function
__clone:
ldiq $0, EINVAL
beq $16, .Lerror
beq $17, .Lerror
subq $17, 16, $17
stq $16, 0($17)
stq $19, 8($17)
mov $18, $16
lda $0, __NR_clone($31)
callsys
bne $19, .Lerror
beq $0, .Lstart_thread
ret $31, ($26), 0x01
.Lerror:
jmp error_unified_syscall
.Lstart_thread:
clr $fp
ldq $27, 0($sp)
ldq $16, 8($sp)
jsr $26, ($27), 0x04
ldgp $gp, 0($26)
mov $0, $16
jsr $26, exit
LinuxTV legacy CVS <linuxtv.org/cvs>