]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gold/testsuite/gnu_property_c.S
Add support for .note.gnu.property sections.
[thirdparty/binutils-gdb.git] / gold / testsuite / gnu_property_c.S
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 */
20 0: .asciz "GNU" /* vendor name */
21 1:
22 .p2align ALIGN
23 2: .long GNU_PROPERTY_STACK_SIZE /* pr_type. */
24 .long 4f - 3f /* pr_datasz. */
25 3:
26 .dc.a 0x111100 /* Stack size. */
27 4:
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
44 5: