1#define NT_GNU_PROPERTY_TYPE_0 5
2
3#define GNU_PROPERTY_STACK_SIZE 1
4#define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2
5#define GNU_PROPERTY_X86_ISA_1_USED 0xc0000000
6#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0000001
7#define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
8
9#if __SIZEOF_PTRDIFF_T__  == 8
10# define ALIGN 3
11#elif __SIZEOF_PTRDIFF_T__  == 4
12# define ALIGN 2
13#endif
14
15        .section ".note.gnu.property", "a"
16        .p2align ALIGN
17        .long 1f - 0f           /* name length */
18        .long 5f - 2f           /* data length */
19        .long NT_GNU_PROPERTY_TYPE_0    /* note type */
200:      .asciz "GNU"            /* vendor name */
211:
22        .p2align ALIGN
232:      .long GNU_PROPERTY_STACK_SIZE   /* pr_type.  */
24        .long 4f - 3f   /* pr_datasz.  */
253:
26        .dc.a 0x111100  /* Stack size.  */
274:
28        .p2align ALIGN
29        .long GNU_PROPERTY_NO_COPY_ON_PROTECTED /* pr_type.  */
30        .long 0 /* pr_datasz.  */
31        .p2align ALIGN
32	.long GNU_PROPERTY_X86_ISA_1_USED
33	.long 4
34	.byte 0x11,0x10,0x00,0x00
35        .p2align ALIGN
36	.long GNU_PROPERTY_X86_ISA_1_NEEDED
37	.long 4
38	.byte 0x11,0x10,0x00,0x00
39        .p2align ALIGN
40	.long GNU_PROPERTY_X86_FEATURE_1_AND
41	.long 4
42	.byte 0x01,0x00,0x00,0x00
43        .p2align ALIGN
445:
45