xref: /aosp_15_r20/external/llvm/test/tools/dsymutil/X86/frame-1.test (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# REQUIRES: object-emission
2*9880d681SAndroid Build Coastguard Worker# RUN: rm -rf %t
3*9880d681SAndroid Build Coastguard Worker# RUN: mkdir -p %t
4*9880d681SAndroid Build Coastguard Worker# RUN: llc -filetype=obj %p/../Inputs/frame-dw2.ll -o %t/frame-dw2.o
5*9880d681SAndroid Build Coastguard Worker# RUN: llvm-dsymutil -f -oso-prepend-path=%t -y %s -o - | llvm-dwarfdump -debug-dump=frames - | FileCheck %s
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker# This test is meant to verify that identical CIEs will get reused
8*9880d681SAndroid Build Coastguard Worker# in the same file but also inbetween files. For this to happen, we
9*9880d681SAndroid Build Coastguard Worker# link twice the same file using this made-up debug map:
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker---
12*9880d681SAndroid Build Coastguard Workertriple:          'i386-apple-darwin'
13*9880d681SAndroid Build Coastguard Workerobjects:
14*9880d681SAndroid Build Coastguard Worker  - filename: frame-dw2.o
15*9880d681SAndroid Build Coastguard Worker    symbols:
16*9880d681SAndroid Build Coastguard Worker      - { sym: _bar, objAddr: 0x0, binAddr: 0x1000, size: 0x12 }
17*9880d681SAndroid Build Coastguard Worker      - { sym: _baz, objAddr: 0x0, binAddr: 0x2000, size: 0x12 }
18*9880d681SAndroid Build Coastguard Worker  - filename: frame-dw2.o
19*9880d681SAndroid Build Coastguard Worker    symbols:
20*9880d681SAndroid Build Coastguard Worker      - { sym: _baz, objAddr: 0x0, binAddr: 0x3000, size: 0x12 }
21*9880d681SAndroid Build Coastguard Worker...
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker# CHECK: .debug_frame contents:
24*9880d681SAndroid Build Coastguard Worker# CHECK: 00000000 {{[0-9a-f]*}} ffffffff CIE
25*9880d681SAndroid Build Coastguard Worker# CHECK-NOT: FDE
26*9880d681SAndroid Build Coastguard Worker# CHECK:  FDE cie=00000000 pc=00001000...00001
27*9880d681SAndroid Build Coastguard Worker# CHECK-NOT: FDE
28*9880d681SAndroid Build Coastguard Worker# CHECK:  FDE cie=00000000 pc=00002000...00002
29*9880d681SAndroid Build Coastguard Worker# CHECK-NOT: FDE
30*9880d681SAndroid Build Coastguard Worker# CHECK:  FDE cie=00000000 pc=00003000...00003
31*9880d681SAndroid Build Coastguard Worker# CHECK-NOT: FDE
32*9880d681SAndroid Build Coastguard Worker
33