/* autogenerated by gensyscalls.py */
#include <sys/linux-syscalls.h>

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

lsetxattr:

    /* get ready for additonal arg */
    mov.l   @r15, r0

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

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

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

__NR_lsetxattr_end:
    rts
    nop

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