]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/mach-o/parse-literals.yaml
Vendor import of lld trunk r338150:
[FreeBSD/FreeBSD.git] / test / mach-o / parse-literals.yaml
1 # RUN: ld64.lld -arch x86_64 -r -print_atoms %s -o %t  | FileCheck %s
2 #
3 # Test parsing of literal sections.
4 #
5
6 --- !mach-o
7 arch:            x86_64
8 file-type:       MH_OBJECT
9 flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
10 has-UUID:        false
11 OS:              unknown
12 sections:
13   - segment:         __TEXT
14     section:         __cstring
15     type:            S_CSTRING_LITERALS
16     attributes:      [  ]
17     alignment:       1
18     address:         0x0000000000000100
19     content:         [ 0x68, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x74, 0x68,
20                        0x65, 0x72, 0x65, 0x00, 0x77, 0x6F, 0x72, 0x6C,
21                        0x00 ]
22   - segment:         __TEXT
23     section:         __literal4
24     type:            S_4BYTE_LITERALS
25     attributes:      [  ]
26     alignment:       1
27     address:         0x0000000000000114
28     content:         [ 0x01, 0x02, 0x03, 0x04, 0x11, 0x12, 0x13, 0x14,
29                        0x28, 0x29, 0x2A, 0x2B ]
30   - segment:         __TEXT
31     section:         __literal8
32     type:            S_8BYTE_LITERALS
33     attributes:      [  ]
34     alignment:       1
35     address:         0x0000000000000120
36     content:         [ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
37                        0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F ]
38   - segment:         __TEXT
39     section:         __literal16
40     type:            S_16BYTE_LITERALS
41     attributes:      [  ]
42     alignment:       1
43     address:         0x0000000000000130
44     content:         [ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
45                        0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00 ]
46   - segment:         __TEXT
47     section:         __ustring
48     type:            S_REGULAR
49     attributes:      [  ]
50     alignment:       1
51     address:         0x0000000000000100
52     content:         [ 0x68, 0x00, 0x65, 0x00, 0x6C, 0x00, 0x6C, 0x00,
53                        0x6F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x68, 0x00,
54                        0x65, 0x00, 0x72, 0x00, 0x00, 0x00 ]
55 ...
56
57
58 # CHECK:defined-atoms:
59 # CHECK:  - scope:           hidden
60 # CHECK:    type:            c-string
61 # CHECK:    content:         [ 68, 65, 6C, 6C, 6F, 00 ]
62 # CHECK:  - scope:           hidden
63 # CHECK:    type:            c-string
64 # CHECK:    content:         [ 74, 68, 65, 72, 65, 00 ]
65 # CHECK:  - scope:           hidden
66 # CHECK:    type:            c-string
67 # CHECK:    content:         [ 77, 6F, 72, 6C, 00 ]
68 # CHECK:  - scope:           hidden
69 # CHECK:    type:            utf16-string
70 # CHECK:    content:         [ 68, 00, 65, 00, 6C, 00, 6C, 00, 6F, 00, 00, 00 ]
71 # CHECK:  - scope:           hidden
72 # CHECK:    type:            utf16-string
73 # CHECK:    content:         [ 74, 00, 68, 00, 65, 00, 72, 00, 00, 00 ]
74 # CHECK:  - scope:           hidden
75 # CHECK:    type:            const-4-byte
76 # CHECK:    content:         [ 01, 02, 03, 04 ]
77 # CHECK:  - scope:           hidden
78 # CHECK:    type:            const-4-byte
79 # CHECK:    content:         [ 11, 12, 13, 14 ]
80 # CHECK:  - scope:           hidden
81 # CHECK:    type:            const-4-byte
82 # CHECK:    content:         [ 28, 29, 2A, 2B ]
83 # CHECK:  - scope:           hidden
84 # CHECK:    type:            const-8-byte
85 # CHECK:    content:         [ 01, 02, 03, 04, 05, 06, 07, 08 ]
86 # CHECK:  - scope:           hidden
87 # CHECK:    type:            const-8-byte
88 # CHECK:    content:         [ 28, 29, 2A, 2B, 2C, 2D, 2E, 2F ]
89 # CHECK:  - scope:           hidden
90 # CHECK:    type:            const-16-byte
91 # CHECK:    content:         [ 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C,
92 # CHECK:                       0D, 0E, 0F, 00 ]
93