1#define NT_GNU_PROPERTY_TYPE_0 5 2 3#define GNU_PROPERTY_STACK_SIZE 1 4#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000 5#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0000001 6#define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002 7 8#if __SIZEOF_PTRDIFF_T__ == 8 9# define ALIGN 3 10#elif __SIZEOF_PTRDIFF_T__ == 4 11# define ALIGN 2 12#endif 13 14 .text 15 .globl _start 16_start: 17 ret 18 19 .section ".note.gnu.property", "a" 20 .p2align ALIGN 21 22 .long 1f - 0f /* name length */ 23 .long 5f - 2f /* data length */ 24 .long NT_GNU_PROPERTY_TYPE_0 /* note type */ 250: .asciz "GNU" /* vendor name */ 261: 27 .p2align ALIGN 282: .long GNU_PROPERTY_STACK_SIZE /* pr_type. */ 29 .long 4f - 3f /* pr_datasz. */ 303: 31 .dc.a 0x800 /* Stack size. */ 324: 33 .p2align ALIGN 34 .long GNU_PROPERTY_X86_ISA_1_USED 35 .long 4 36 .byte 0x01,0x10,0x00,0x00 37 .p2align ALIGN 38 .long GNU_PROPERTY_X86_ISA_1_NEEDED 39 .long 4 40 .byte 0x01,0x10,0x00,0x00 41 .p2align ALIGN 42 .long GNU_PROPERTY_X86_FEATURE_1_AND 43 .long 4 44 .byte 0x01,0x00,0x00,0x00 45 .p2align ALIGN 465: 47