| # 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: '<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 ] |
| - 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 |