__uClibc_syscall.S 490 B

1234567891011121314151617181920212223242526272829303132
  1. .text
  2. .align 4
  3. .globl __uClibc_syscall
  4. .type __uClibc_syscall,@function
  5. __uClibc_syscall:
  6. pushl %edi
  7. pushl %esi
  8. pushl %ebx
  9. and $0xff,%eax
  10. movl 16(%esp),%ebx
  11. movl 20(%esp),%ecx
  12. movl 24(%esp),%edx
  13. movl 28(%esp),%esi
  14. movl 32(%esp),%edi
  15. #APP
  16. int $0x80
  17. #NO_APP
  18. cmpl $-4095,%eax
  19. /* jae .L5 */
  20. /* cmpl $-126,%eax */
  21. jbe .L5
  22. negl %eax
  23. movl %eax,errno
  24. movl $-1,%eax
  25. .p2align 4,,7
  26. .L5:
  27. popl %ebx
  28. popl %esi
  29. popl %edi
  30. ret
  31. .Lfe1:
  32. .size __uClibc_syscall,.Lfe1-__uClibc_syscall