xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/dwo-missing-error.test (revision 74ca07295f3224a77ea5202858b3f4195b23fbcf)
1# Check that LLDB prints an error message containing the DWO_AT_comp_dir and
2# DW_AT_dwo_name when it can't find a DWO and the DW_AT_comp_dir and
3# DW_AT_dwo_name are relative.
4
5# -gsplit-dwarf is supported only on Linux.
6# REQUIRES: system-linux
7
8# Test the error message with a relative DW_AT_comp_dir and DW_AT_dwo_name.
9# Creating and compiling to %t.compdir makes it easy to remove the dwo files.
10# DW_AT_comp_dir should be "./a/b/", and DW_AT_dwo_name should be
11# "a.out-dwo-missing-error.dwo".
12# since %T is deprecated.
13# RUN: rm -rf %t.compdir/
14# RUN: mkdir -p %t.compdir/a/b/
15# RUN: cd %t.compdir/a/b/
16# RUN: %clang_host %S/Inputs/dwo-missing-error.c -glldb -gdwarf-5 \
17# RUN:     -gsplit-dwarf -fdebug-prefix-map=%t.compdir=. -o a.out
18# RUN: rm *.dwo
19# RUN: %lldb a.out -s %s -o exit 2>&1 | FileCheck %s
20# RUN: cd -
21
22# Test the error message with an absolute DW_AT_comp_dir and DW_AT_dwo_name.
23# RUN: rm -rf %t.compdir/
24# RUN: mkdir -p %t.compdir/a/b/
25# RUN: %clang_host %S/Inputs/dwo-missing-error.c -glldb -gdwarf-5 \
26# RUN:     -gsplit-dwarf -o %t.compdir/a/b/a.out
27# RUN: rm %t.compdir/a/b/*.dwo
28# RUN: %lldb %t.compdir/a/b/a.out -s %s -o exit 2>&1 | FileCheck %s
29
30b main
31run
32
33fr v
34# CHECK: error: unable to locate .dwo debug file "{{.*}}a/b/a.out-dwo-missing-error.dwo" for skeleton DIE {{.*}}
35