diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-01-04 20:04:45 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-01-04 20:04:45 +0000 |
commit | 02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch) | |
tree | f4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/alpha/clone.S | |
parent | 9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff) | |
download | drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2 drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip |
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/clone.S')
-rw-r--r-- | mdk-stage1/dietlibc/alpha/clone.S | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/alpha/clone.S b/mdk-stage1/dietlibc/alpha/clone.S new file mode 100644 index 000000000..f01620595 --- /dev/null +++ b/mdk-stage1/dietlibc/alpha/clone.S @@ -0,0 +1,42 @@ +#include "syscalls.h" +#include <asm/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_pipe($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 + |