gnu_property_b.S 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #define NT_GNU_PROPERTY_TYPE_0 5
  2. #define GNU_PROPERTY_STACK_SIZE 1
  3. #define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2
  4. #define GNU_PROPERTY_X86_ISA_1_USED 0xc0010002
  5. #define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0008002
  6. #define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
  7. #if __SIZEOF_PTRDIFF_T__ == 8
  8. # define ALIGN 3
  9. #elif __SIZEOF_PTRDIFF_T__ == 4
  10. # define ALIGN 2
  11. #endif
  12. .section ".note.gnu.property", "a"
  13. .p2align ALIGN
  14. .long 1f - 0f /* name length */
  15. .long 3f - 2f /* data length */
  16. .long NT_GNU_PROPERTY_TYPE_0 /* note type */
  17. 0: .asciz "GNU" /* vendor name */
  18. 1:
  19. .p2align ALIGN
  20. 2: .long GNU_PROPERTY_NO_COPY_ON_PROTECTED /* pr_type. */
  21. .long 0 /* pr_datasz. */
  22. .p2align ALIGN
  23. .long GNU_PROPERTY_X86_ISA_1_USED
  24. .long 4
  25. .byte 0x01,0x11,0x00,0x00
  26. .p2align ALIGN
  27. .long GNU_PROPERTY_X86_ISA_1_NEEDED
  28. .long 4
  29. .byte 0x01,0x11,0x00,0x00
  30. .p2align ALIGN
  31. .long GNU_PROPERTY_X86_FEATURE_1_AND
  32. .long 4
  33. .byte 0x03,0x00,0x00,0x00
  34. .p2align ALIGN
  35. 3: