1 # RUN: ld64.lld -arch x86_64 -r -print_atoms %s -o %t | FileCheck %s
3 # Test parsing of CFString constants.
9 flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ]
15 type: S_CSTRING_LITERALS
17 address: 0x0000000000000000
18 content: [ 0x68, 0x65, 0x6C, 0x6C, 0x6F, 0x00, 0x74, 0x68,
19 0x65, 0x72, 0x65, 0x00 ]
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 ]
36 type: X86_64_RELOC_UNSIGNED
42 type: X86_64_RELOC_UNSIGNED
48 type: X86_64_RELOC_UNSIGNED
54 type: X86_64_RELOC_UNSIGNED
63 value: 0x0000000000000000
67 value: 0x0000000000000006
69 - name: ___CFConstantStringClassReference
72 value: 0x0000000000000000
75 # CHECK:defined-atoms:
76 # CHECK: - ref-name: L000
77 # CHECK: scope: hidden
78 # CHECK: type: c-string
79 # CHECK: content: [ 68, 65, 6C, 6C, 6F, 00 ]
80 # CHECK: merge: by-content
81 # CHECK: - ref-name: L001
82 # CHECK: scope: hidden
83 # 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
90 # CHECK: - kind: pointer64
92 # CHECK: target: ___CFConstantStringClassReference
93 # CHECK: - kind: pointer64
96 # CHECK: - scope: hidden
97 # CHECK: type: cfstring
98 # CHECK: merge: by-content
100 # CHECK: - kind: pointer64
102 # CHECK: target: ___CFConstantStringClassReference
103 # CHECK: - kind: pointer64
105 # CHECK: target: L001
106 # CHECK:undefined-atoms:
107 # CHECK: - name: ___CFConstantStringClassReference