diff options
Diffstat (limited to 'mdk-stage1/dietlibc/sparc/fork.S')
-rw-r--r-- | mdk-stage1/dietlibc/sparc/fork.S | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/sparc/fork.S b/mdk-stage1/dietlibc/sparc/fork.S new file mode 100644 index 000000000..150839971 --- /dev/null +++ b/mdk-stage1/dietlibc/sparc/fork.S @@ -0,0 +1,19 @@ +#include "syscalls.h" + +.text +.global fork +fork: + mov 2, %g1 + ta 0x10 + bcc,a 1f + nop + + sethi %hi(errno), %o3 + or %o3, %lo(errno), %o3 + st %i0, [%o3] + + retl + mov -1, %o0 +1: dec %o1 + retl + and %o0, %o1, %o0 |