llvm-project/lld/test/mach-o/unwind-info-simple-x86_64.yaml

138 lines
5.6 KiB
YAML

# RUN: lld -flavor darwin -arch x86_64 %s -o %t -e _main %p/Inputs/libSystem.yaml
# RUN: llvm-objdump -unwind-info %t | FileCheck %s
# CHECK: Contents of __unwind_info section:
# CHECK: Version: 0x1
# CHECK: Common encodings array section offset: 0x1c
# CHECK: Number of common encodings in array: 0x0
# CHECK: Personality function array section offset: 0x1c
# CHECK: Number of personality functions in array: 0x1
# CHECK: Index array section offset: 0x20
# CHECK: Number of indices in array: 0x2
# CHECK: Common encodings: (count = 0)
# CHECK: Personality functions: (count = 1)
# CHECK: personality[1]: 0x00001000
# CHECK: Top level indices: (count = 2)
# CHECK: [0]: function offset=0x00000efb, 2nd level page offset=0x00000040, LSDA offset=0x00000038
# CHECK: [1]: function offset=0x00000f00, 2nd level page offset=0x00000000, LSDA offset=0x00000040
# CHECK: LSDA descriptors:
# CHECK: [0]: function offset=0x00000efb, LSDA offset=0x00000f00
# CHECK: Second level indices:
# CHECK: Second level index[0]: offset in section=0x00000040, base function offset=0x00000efb
# CHECK: [0]: function offset=0x00000efb, encoding=0x51000000
# CHECK: [1]: function offset=0x00000efc, encoding=0x01000000
# CHECK: [2]: function offset=0x00000efd, encoding=0x04000018
# CHECK: [3]: function offset=0x00000efe, encoding=0x04000040
# CHECK: [4]: function offset=0x00000eff, encoding=0x00000000
# CHECK-NOT: Contents of __compact_unwind section
--- !native
path: '<linker-internal>'
defined-atoms:
- name: GCC_except_table1
type: unwind-lsda
content: [ FF, 9B, A2, 80, 80, 00, 03, 1A, 08, 00, 00, 00,
05, 00, 00, 00, 1A, 00, 00, 00, 01, 0D, 00, 00,
00, 64, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00,
04, 00, 00, 00 ]
- type: compact-unwind
content: [ 40, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00,
00, 00, 00, 41, 00, 00, 00, 00, 00, 00, 00, 00,
E0, 00, 00, 00, 00, 00, 00, 00 ]
references:
- kind: pointer64Anon
offset: 0
target: __Z3barv
- kind: pointer64
offset: 16
target: ___gxx_personality_v0
- kind: pointer64Anon
offset: 24
target: GCC_except_table1
- type: compact-unwind
content: [ C0, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00,
00, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00,
00, 00, 00, 00, 00, 00, 00, 00 ]
references:
- kind: pointer64Anon
offset: 0
target: _main
- type: compact-unwind
content: [ C1, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 00,
00, 00, 00, 04, 00, 00, 00, 00, 00, 00, 00, 00,
00, 00, 00, 00, 00, 00, 00, 00 ]
references:
- kind: pointer64Anon
offset: 0
target: _needsDwarfButNoCompactUnwind
# Generic x86_64 CIE:
- name: LCIE
type: unwind-cfi
content: [ 14, 00, 00, 00, 00, 00, 00, 00, 01, 7A, 52, 00,
01, 78, 10, 01, 10, 0C, 07, 08, 90, 01, 00, 00 ]
- type: unwind-cfi
content: [ 24, 00, 00, 00, 1C, 00, 00, 00, C8, FE, FF, FF,
FF, FF, FF, FF, 01, 00, 00, 00, 00, 00, 00, 00,
00, 41, 0E, 10, 86, 02, 43, 0D, 06, 00, 00, 00,
00, 00, 00, 00 ]
references:
- kind: unwindFDEToFunction
offset: 8
target: _needsDwarfButNoCompactUnwind
- kind: negDelta32
offset: 4
target: LCIE
- type: unwind-cfi
content: [ 24, 00, 00, 00, 44, 00, 00, 00, C8, FE, FF, FF,
FF, FF, FF, FF, 01, 00, 00, 00, 00, 00, 00, 00,
00, 41, 0E, 10, 86, 02, 43, 0D, 06, 00, 00, 00,
00, 00, 00, 00 ]
references:
- kind: unwindFDEToFunction
offset: 8
target: _needsDwarfSaysCompactUnwind
- kind: negDelta32
offset: 4
target: LCIE
- type: unwind-cfi
content: [ 24, 00, 00, 00, 6C, 00, 00, 00, C8, FE, FF, FF,
FF, FF, FF, FF, 01, 00, 00, 00, 00, 00, 00, 00,
00, 41, 0E, 10, 86, 02, 43, 0D, 06, 00, 00, 00,
00, 00, 00, 00 ]
references:
- kind: unwindFDEToFunction
offset: 8
target: _main
- kind: negDelta32
offset: 4
target: LCIE
- name: __Z3barv
scope: global
content: [ C3 ]
- name: _main
scope: global
content: [ C3 ]
references:
- kind: branch32
offset: 9
target: __Z3barv
- name: _needsDwarfButNoCompactUnwind
scope: global
content: [ C3 ]
- name: _needsDwarfSaysCompactUnwind
scope: global
content: [ C3 ]
- name: _noUnwindData
scope: global
content: [ C3 ]
shared-library-atoms:
- name: ___gxx_personality_v0
load-name: '/usr/lib/libc++abi.dylib'
type: unknown