forked from OSchip/llvm-project
119 lines
4.9 KiB
YAML
119 lines
4.9 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:
|
|
- 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
|
|
|
|
- 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
|
|
|
|
|
|
- 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
|