blob: b90277f056e5793039c6e5a3a27630c6eaa3363f [file] [log] [blame]
Nick Kledzik9ede7022014-05-29 20:44:211# RUN: lld -flavor darwin -arch x86_64 -r -print_atoms %s -o %t | FileCheck %s
2#
3# Test parsing of CFString constants.
4#
5
6--- !mach-o
7arch: x86_64
8file-type: MH_OBJECT
9flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ]
10has-UUID: false
11OS: unknown
12sections:
13 - segment: __TEXT
14 section: __cstring
15 type: S_CSTRING_LITERALS
16 attributes: [ ]
17 address: 0x0000000000000000
18 content: [ 0x68, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x74, 0x68,
19 0x65, 0x72, 0x65, 0x00 ]
20 - segment: __DATA
21 section: __cfstring
22 type: S_REGULAR
23 attributes: [ ]
24 alignment: 4
25 address: 0x0000000000000010
26 content: [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27 0xC8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
29 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31 0xC8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
34 relocations:
35 - offset: 0x00000030
36 type: X86_64_RELOC_UNSIGNED
37 length: 3
38 pc-rel: false
39 extern: true
40 symbol: 1
41 - offset: 0x00000020
42 type: X86_64_RELOC_UNSIGNED
43 length: 3
44 pc-rel: false
45 extern: true
46 symbol: 2
47 - offset: 0x00000010
48 type: X86_64_RELOC_UNSIGNED
49 length: 3
50 pc-rel: false
51 extern: true
52 symbol: 0
53 - offset: 0x00000000
54 type: X86_64_RELOC_UNSIGNED
55 length: 3
56 pc-rel: false
57 extern: true
58 symbol: 2
59local-symbols:
60 - name: Lstr1
61 type: N_SECT
62 sect: 1
63 value: 0x0000000000000000
64 - name: Lstr2
65 type: N_SECT
66 sect: 1
67 value: 0x0000000000000006
68undefined-symbols:
69 - name: ___CFConstantStringClassReference
70 type: N_UNDF
71 scope: [ N_EXT ]
72 value: 0x0000000000000000
73...
74
Rui Ueyama035025c2015-04-27 17:18:0475# CHECK:defined-atoms:
Nick Kledzik3f690762014-06-27 18:25:0176# CHECK: - ref-name: L000
77# CHECK: scope: hidden
Nick Kledzik9ede7022014-05-29 20:44:2178# CHECK: type: c-string
79# CHECK: content: [ 68, 65, 6C, 6C, 6F, 00 ]
80# CHECK: merge: by-content
Nick Kledzik3f690762014-06-27 18:25:0181# CHECK: - ref-name: L001
82# CHECK: scope: hidden
Nick Kledzik9ede7022014-05-29 20:44:2183# CHECK: type: c-string
84# CHECK: content: [ 74, 68, 65, 72, 65, 00 ]
85# CHECK: merge: by-content
86# CHECK: - scope: hidden
87# CHECK: type: cfstring
88# CHECK: merge: by-content
Rui Ueyama035025c2015-04-27 17:18:0489# CHECK: references:
Nick Kledzik3f690762014-06-27 18:25:0190# CHECK: - kind: pointer64
91# CHECK: offset: 0
92# CHECK: target: ___CFConstantStringClassReference
93# CHECK: - kind: pointer64
94# CHECK: offset: 16
95# CHECK: target: L000
Nick Kledzik9ede7022014-05-29 20:44:2196# CHECK: - scope: hidden
97# CHECK: type: cfstring
98# CHECK: merge: by-content
Rui Ueyama035025c2015-04-27 17:18:0499# CHECK: references:
Nick Kledzik3f690762014-06-27 18:25:01100# CHECK: - kind: pointer64
101# CHECK: offset: 0
102# CHECK: target: ___CFConstantStringClassReference
103# CHECK: - kind: pointer64
104# CHECK: offset: 16
105# CHECK: target: L001
Rui Ueyama035025c2015-04-27 17:18:04106# CHECK:undefined-atoms:
Nick Kledzik9ede7022014-05-29 20:44:21107# CHECK: - name: ___CFConstantStringClassReference
Nick Kledzik3f690762014-06-27 18:25:01108