diff options
Diffstat (limited to 'test/mach-o/parse-function.yaml')
-rw-r--r-- | test/mach-o/parse-function.yaml | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/test/mach-o/parse-function.yaml b/test/mach-o/parse-function.yaml new file mode 100644 index 0000000000000..1bc9878c70872 --- /dev/null +++ b/test/mach-o/parse-function.yaml @@ -0,0 +1,100 @@ +# RUN: lld -flavor darwin -arch x86_64 -r %s -o %t +# RUN: lld -flavor darwin -arch x86_64 -r %t -print_atoms -o %t2 | FileCheck %s +# +# Test parsing of mach-o functions. +# + +--- !mach-o +arch: x86_64 +file-type: MH_OBJECT +flags: [ MH_SUBSECTIONS_VIA_SYMBOLS ] +has-UUID: false +OS: unknown +sections: + - segment: __TEXT + section: __text + type: S_REGULAR + attributes: [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ] + alignment: 4 + address: 0x0000000000000000 + content: [ 0xCC, 0xC3, 0x90, 0xC3, 0x90, 0x90, 0xC3, 0x90, + 0x90, 0x90, 0xC3, 0x90, 0x90, 0x90, 0x90, 0xC3, + 0xCC, 0x31, 0xC0, 0xC3 ] +local-symbols: + - name: _myStatic + type: N_SECT + sect: 1 + value: 0x000000000000000B +global-symbols: + - name: _myGlobal + type: N_SECT + scope: [ N_EXT ] + sect: 1 + value: 0x0000000000000001 + - name: _myGlobalWeak + type: N_SECT + scope: [ N_EXT ] + sect: 1 + desc: [ N_WEAK_DEF ] + value: 0x0000000000000002 + - name: _myHidden + type: N_SECT + scope: [ N_EXT, N_PEXT ] + sect: 1 + value: 0x0000000000000004 + - name: _myHiddenWeak + type: N_SECT + scope: [ N_EXT, N_PEXT ] + sect: 1 + desc: [ N_WEAK_DEF ] + value: 0x0000000000000007 + - name: _myStripNot + type: N_SECT + scope: [ N_EXT ] + sect: 1 + desc: [ N_NO_DEAD_STRIP ] + value: 0x0000000000000010 + - name: _myResolver + type: N_SECT + scope: [ N_EXT ] + sect: 1 + desc: [ N_SYMBOL_RESOLVER ] + value: 0x0000000000000011 +... + +# CHECK-NOT: name: +# CHECK: content: [ CC ] + +# CHECK: name: _myGlobal +# CHECK: scope: global +# CHECK: content: [ C3 ] + +# CHECK: name: _myGlobalWeak +# CHECK: scope: global +# CHECK: content: [ 90, C3 ] +# CHECK: merge: as-weak + +# CHECK: name: _myHidden +# CHECK: scope: hidden +# CHECK: content: [ 90, 90, C3 ] + +# CHECK: name: _myHiddenWeak +# CHECK: scope: hidden +# CHECK: content: [ 90, 90, 90, C3 ] +# CHECK: merge: as-weak + +# CHECK: name: _myStatic +# CHECK-NOT: scope: global +# CHECK-NOT: scope: hidden +# CHECK: content: [ 90, 90, 90, 90, C3 ] + +# CHECK: name: _myStripNot +# CHECK: scope: global +# CHECK: content: [ CC ] +# CHECK: dead-strip: never + +# CHECK: name: _myResolver +# CHECK: scope: global +# CHECK: type: resolver +# CHECK: content: [ 31, C0, C3 ] + |