xref: /llvm-project/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/frame-2.test (revision f1fdfe6888f93b9f6dfb4689e1f3206de584ff5b)
15f2a7fa6SAlexey Lapshin# RUN: rm -rf %t
25f2a7fa6SAlexey Lapshin# RUN: mkdir -p %t
35f2a7fa6SAlexey Lapshin# RUN: llc -filetype=obj %p/../../Inputs/frame-dw2.ll -o %t/frame-dw2.o
45f2a7fa6SAlexey Lapshin# RUN: llc -filetype=obj %p/../../Inputs/frame-dw4.ll -o %t/frame-dw4.o
5*f1fdfe68SAlexey Lapshin# RUN: dsymutil --linker parallel -f -oso-prepend-path=%t -y %s -o - | \
65f2a7fa6SAlexey Lapshin# RUN:   llvm-dwarfdump -debug-frame - | FileCheck %s
75f2a7fa6SAlexey Lapshin
85f2a7fa6SAlexey Lapshin# Check the handling of multiple different CIEs. To have CIEs that
95f2a7fa6SAlexey Lapshin# appear to be different, use a dwarf2 version of the file along with
105f2a7fa6SAlexey Lapshin# a dwarf 4 version. The CIE header version (and layout) will be different.
115f2a7fa6SAlexey Lapshin---
125f2a7fa6SAlexey Lapshintriple:          'i386-apple-darwin'
135f2a7fa6SAlexey Lapshinobjects:
145f2a7fa6SAlexey Lapshin  - filename: frame-dw2.o
155f2a7fa6SAlexey Lapshin    symbols:
165f2a7fa6SAlexey Lapshin      - { sym: _bar, objAddr: 0x0, binAddr: 0x1000, size: 0x12 }
175f2a7fa6SAlexey Lapshin      - { sym: _baz, objAddr: 0x0, binAddr: 0x2000, size: 0x12 }
185f2a7fa6SAlexey Lapshin  - filename: frame-dw4.o
195f2a7fa6SAlexey Lapshin    symbols:
205f2a7fa6SAlexey Lapshin      - { sym: _baz, objAddr: 0x0, binAddr: 0x3000, size: 0x12 }
215f2a7fa6SAlexey Lapshin  - filename: frame-dw2.o
225f2a7fa6SAlexey Lapshin    symbols:
235f2a7fa6SAlexey Lapshin      - { sym: _bar, objAddr: 0x0, binAddr: 0x4000, size: 0x12 }
245f2a7fa6SAlexey Lapshin...
255f2a7fa6SAlexey Lapshin
265f2a7fa6SAlexey Lapshin# CHECK: .debug_frame contents:
275f2a7fa6SAlexey Lapshin# CHECK: 00000000 {{[0-9a-f]*}} ffffffff CIE
285f2a7fa6SAlexey Lapshin# CHECK-NEXT: Format: DWARF32
295f2a7fa6SAlexey Lapshin# CHECK-NEXT: Version:{{.*}}1
305f2a7fa6SAlexey Lapshin# CHECK-NOT: FDE
315f2a7fa6SAlexey Lapshin# CHECK:  FDE cie=00000000 pc=00001000...00001
325f2a7fa6SAlexey Lapshin# CHECK-NOT: FDE
335f2a7fa6SAlexey Lapshin# CHECK:  FDE cie=00000000 pc=00002000...00002
345f2a7fa6SAlexey Lapshin# CHECK-NOT: FDE
355f2a7fa6SAlexey Lapshin# CHECK: [[CIEDW4:[0-9a-f]*]] 00000010 ffffffff CIE
365f2a7fa6SAlexey Lapshin# CHECK-NEXT: Format: DWARF32
375f2a7fa6SAlexey Lapshin# CHECK-NEXT: Version:{{.*}}4
385f2a7fa6SAlexey Lapshin# CHECK-NOT: FDE
395f2a7fa6SAlexey Lapshin# CHECK:  FDE cie=[[CIEDW4]] pc=00003000...00003
405f2a7fa6SAlexey Lapshin# CHECK: [[CIEDW1_2:[0-9a-f]*]] 00000010 ffffffff CIE
415f2a7fa6SAlexey Lapshin# CHECK-NEXT: Format: DWARF32
425f2a7fa6SAlexey Lapshin# CHECK-NEXT: Version:{{.*}}1
435f2a7fa6SAlexey Lapshin# CHECK-NOT: FDE
445f2a7fa6SAlexey Lapshin# CHECK:  FDE cie=[[CIEDW1_2]] pc=00004000...00004
455f2a7fa6SAlexey Lapshin# CHECK-NOT: FDE
465f2a7fa6SAlexey Lapshin# CHECK: .eh_frame contents:
47