# RUN: ld64.lld -arch x86_64 %s -o %t -e _main %p/Inputs/x86_64/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: '' 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 ] - 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