summaryrefslogtreecommitdiffstats
path: root/libc/arch-sh/syscalls/__socketcall.S
blob: 864e9aa011a6f7086b7d09475be7bebf2ce50ba9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* autogenerated by gensyscalls.py */
#include <sys/linux-syscalls.h>

    .text
    .type __socketcall, @function
    .globl __socketcall
    .align 4

__socketcall:

    /* invoke trap */
    mov.l   0f, r3  /* trap num */
    trapa   #(2 + 0x10)

    /* check return value */
    cmp/pz  r0
    bt      __NR___socketcall_end

    /* keep error number */
    sts.l   pr, @-r15
    mov.l   1f, r1
    jsr     @r1
    mov     r0, r4
    lds.l   @r15+, pr

__NR___socketcall_end:
    rts
    nop

    .align  2
0:  .long   __NR___socketcall
1:  .long   __set_syscall_errno