bti-plt-1.s 755 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. .text
  2. .globl _start
  3. .type _start,@function
  4. _start:
  5. bl foo
  6. bl bar
  7. .ifndef __guard_property_bti__
  8. .section ".note.gnu.property", "a"
  9. .p2align 3
  10. .long 1f - 0f /* name length */
  11. .long 5f - 2f /* data length */
  12. .long 5 /* note type */
  13. 0: .asciz "GNU" /* vendor name */
  14. 1:
  15. .p2align 3
  16. 2: .long 0xc0000000 /* pr_type. */
  17. .long 4f - 3f /* pr_datasz. */
  18. 3:
  19. .long 0x1 /* BTI. */
  20. 4:
  21. .p2align 3
  22. 5:
  23. .endif
  24. .ifdef __property_pac__
  25. .section ".note.gnu.property", "a"
  26. .p2align 3
  27. .long 1f - 0f /* name length */
  28. .long 5f - 2f /* data length */
  29. .long 5 /* note type */
  30. 0: .asciz "GNU" /* vendor name */
  31. 1:
  32. .p2align 3
  33. 2: .long 0xc0000000 /* pr_type. */
  34. .long 4f - 3f /* pr_datasz. */
  35. 3:
  36. .long 0x2 /* PAC. */
  37. 4:
  38. .p2align 3
  39. 5:
  40. .endif