| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | #include <features.h>#define ALIGN   2/* Note: .abicalls goes at top of routine, and only one of them. */#if defined(USER_ABICALLS)#define ABISETUP                                \        .set    noreorder;                      \        .cpload t9;                             \        .set    reorder;        .abicalls#else#define ABISETUP#endif#ifndef __UCLIBC_USE_UNIFIED_SYSCALL__#define SYSCALL__(name)                         \        .text;                                  \        .align  ALIGN;                          \        .globl  name;                           \        .ent    name, 0;                        \  name: ;                                       \        ABISETUP                                \        li      v0, __NR_##name ;               \        syscall;                                \        la      t3, errno;                      \        beqz    a3, 1f;                         \        negu    a1, v0;                         \        sw      a1, 0(t3);                      \        li      v0, -1;                         \  1: ;                                          \        j ra;                                   \        .end    name;                           \        .size   name,.-name;#else   /* Unified syscall */#define SYSCALL__(name)                         \        .text;                                  \/*      .align  ALIGN;*/                        \        .globl  name;                           \        .ent    name, 0;                        \  name: ;                                       \        ABISETUP                                \        .set    push;                           \        .set    noreorder;                      \        j       __uClibc_syscall;               \        addiu   v0, zero, __NR_##name ;         \        .set    pop;                            \        .end    name;                           \        .size   name,.-name;#endif  /* __UCLIBC_USE_UNIFIED_SYSCALL__ */#undef ALIGN#define __ASSEMBLY__#include <asm/asm.h>#include <asm/unistd.h>#include <asm/mipsregs.h>#include <asm/regdef.h>/* #include <asm/stackframe.h> */#undef ALIGN#define ALIGN   2#define _SYSCALL0(type,name)    SYSCALL__(name)_SYSCALL0(pid_t, fork);
 |