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

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

getxattr:

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

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

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

__NR_getxattr_end:
    rts
    nop

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