vsyscall-int80.S 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Code for the vsyscall page. This version uses the old int $0x80 method.
  3. *
  4. * NOTE:
  5. * 1) __kernel_vsyscall _must_ be first in this page.
  6. * 2) there are alignment constraints on this stub, see vsyscall-sigreturn.S
  7. * for details.
  8. */
  9. .text
  10. .globl __kernel_vsyscall
  11. .type __kernel_vsyscall,@function
  12. __kernel_vsyscall:
  13. .LSTART_vsyscall:
  14. int $0x80
  15. ret
  16. .LEND_vsyscall:
  17. .size __kernel_vsyscall,.-.LSTART_vsyscall
  18. .previous
  19. .section .eh_frame,"a",@progbits
  20. .LSTARTFRAMEDLSI:
  21. .long .LENDCIEDLSI-.LSTARTCIEDLSI
  22. .LSTARTCIEDLSI:
  23. .long 0 /* CIE ID */
  24. .byte 1 /* Version number */
  25. .string "zR" /* NUL-terminated augmentation string */
  26. .uleb128 1 /* Code alignment factor */
  27. .sleb128 -4 /* Data alignment factor */
  28. .byte 8 /* Return address register column */
  29. .uleb128 1 /* Augmentation value length */
  30. .byte 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */
  31. .byte 0x0c /* DW_CFA_def_cfa */
  32. .uleb128 4
  33. .uleb128 4
  34. .byte 0x88 /* DW_CFA_offset, column 0x8 */
  35. .uleb128 1
  36. .align 4
  37. .LENDCIEDLSI:
  38. .long .LENDFDEDLSI-.LSTARTFDEDLSI /* Length FDE */
  39. .LSTARTFDEDLSI:
  40. .long .LSTARTFDEDLSI-.LSTARTFRAMEDLSI /* CIE pointer */
  41. .long .LSTART_vsyscall-. /* PC-relative start address */
  42. .long .LEND_vsyscall-.LSTART_vsyscall
  43. .uleb128 0
  44. .align 4
  45. .LENDFDEDLSI:
  46. .previous
  47. /*
  48. * Get the common code for the sigreturn entry points.
  49. */
  50. #include "vsyscall-sigreturn.S"