/* Generated by gensyscalls.py. Do not edit. */

#include <asm/unistd.h>
#include <machine/asm.h>
#include <machine/regdef.h>
    .text
    .globl lgetxattr
    .align 4
    .ent lgetxattr

lgetxattr:
    .set push
    .set noreorder
    li v0, __NR_lgetxattr
    syscall
    bnez a3, 1f
    move a0, v0
    j ra
    nop
1:
    move t0, ra
    bal     2f
    nop
2:
    .cpsetup ra, t1, 2b
    LA t9,__set_errno
    .cpreturn
    j t9
    move ra, t0
    .set pop
    .end lgetxattr
