protected8.s 529 B

12345678910111213141516171819202122232425262728293031
  1. .protected foo
  2. .globl foo
  3. .data
  4. .align 4
  5. .type foo, @object
  6. .size foo, 4
  7. foo:
  8. .long 1
  9. .text
  10. .globl bar
  11. .type bar, @function
  12. bar:
  13. movl foo(%rip), %eax
  14. ret
  15. .size bar, .-bar
  16. .section ".note.gnu.property", "a"
  17. .p2align 3
  18. .long 1f - 0f /* name length. */
  19. .long 3f - 2f /* data length. */
  20. /* NT_GNU_PROPERTY_TYPE_0 */
  21. .long 5 /* note type. */
  22. 0: .asciz "GNU" /* vendor name. */
  23. 1:
  24. .p2align 3
  25. 2:
  26. /* GNU_PROPERTY_NO_COPY_ON_PROTECTED */
  27. .long 2 /* pr_type. */
  28. .long 0 /* pr_datasz. */
  29. .p2align 3
  30. 3: