xref: /llvm-project/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/frame-2.test (revision f1fdfe6888f93b9f6dfb4689e1f3206de584ff5b)
1# RUN: rm -rf %t
2# RUN: mkdir -p %t
3# RUN: llc -filetype=obj %p/../../Inputs/frame-dw2.ll -o %t/frame-dw2.o
4# RUN: llc -filetype=obj %p/../../Inputs/frame-dw4.ll -o %t/frame-dw4.o
5# RUN: dsymutil --linker parallel -f -oso-prepend-path=%t -y %s -o - | \
6# RUN:   llvm-dwarfdump -debug-frame - | FileCheck %s
7
8# Check the handling of multiple different CIEs. To have CIEs that
9# appear to be different, use a dwarf2 version of the file along with
10# a dwarf 4 version. The CIE header version (and layout) will be different.
11---
12triple:          'i386-apple-darwin'
13objects:
14  - filename: frame-dw2.o
15    symbols:
16      - { sym: _bar, objAddr: 0x0, binAddr: 0x1000, size: 0x12 }
17      - { sym: _baz, objAddr: 0x0, binAddr: 0x2000, size: 0x12 }
18  - filename: frame-dw4.o
19    symbols:
20      - { sym: _baz, objAddr: 0x0, binAddr: 0x3000, size: 0x12 }
21  - filename: frame-dw2.o
22    symbols:
23      - { sym: _bar, objAddr: 0x0, binAddr: 0x4000, size: 0x12 }
24...
25
26# CHECK: .debug_frame contents:
27# CHECK: 00000000 {{[0-9a-f]*}} ffffffff CIE
28# CHECK-NEXT: Format: DWARF32
29# CHECK-NEXT: Version:{{.*}}1
30# CHECK-NOT: FDE
31# CHECK:  FDE cie=00000000 pc=00001000...00001
32# CHECK-NOT: FDE
33# CHECK:  FDE cie=00000000 pc=00002000...00002
34# CHECK-NOT: FDE
35# CHECK: [[CIEDW4:[0-9a-f]*]] 00000010 ffffffff CIE
36# CHECK-NEXT: Format: DWARF32
37# CHECK-NEXT: Version:{{.*}}4
38# CHECK-NOT: FDE
39# CHECK:  FDE cie=[[CIEDW4]] pc=00003000...00003
40# CHECK: [[CIEDW1_2:[0-9a-f]*]] 00000010 ffffffff CIE
41# CHECK-NEXT: Format: DWARF32
42# CHECK-NEXT: Version:{{.*}}1
43# CHECK-NOT: FDE
44# CHECK:  FDE cie=[[CIEDW1_2]] pc=00004000...00004
45# CHECK-NOT: FDE
46# CHECK: .eh_frame contents:
47