[Lldb-commits] [lldb] Fix GetDIE is outside of its CU error from .debug_names (PR #157574)
Greg Clayton via lldb-commits
lldb-commits at lists.llvm.org
Thu Dec 4 11:57:33 PST 2025
================
@@ -0,0 +1,19 @@
+/// Check that LLDB does not emit "GetDIE for DIE {{0x[0-9a-f]+}} is outside of its CU"
+/// error message when user is searching for a matching symbol from .debug_names
+/// and fail to locate the corresponding .dwo file.
+
+/// -gsplit-dwarf is supported only on Linux.
+// REQUIRES: system-linux
+
+// RUN: %clang_host -g -gsplit-dwarf -gpubnames -gdwarf-5 %s -o main
----------------
clayborg wrote:
We need to either create a directory using %t or build the output file as %t. %t is needed as all tests in this directory build into the same directory and %t will be a unique name for this test based off of the filename that contains the test.
Using %t:
```
// RUN: %clang_host -g -gsplit-dwarf -gpubnames -gdwarf-5 %s -o %t
// RUN: rm %t.dwo
// RUN: %lldb --no-lldbinit %t \
// RUN: -o "b main" --batch 2>&1 | FileCheck %s
```
You will need to check the name of the .dwo file to ensure it is actually `%t.dwo`. If this isn't the case, you can create a directory using %t:
```
# RUN: rm -rf %t.compdir
# RUN: mkdir -p %t.compdir
# RUN: pushd %t.compdir
// RUN: %clang_host -g -gsplit-dwarf -gpubnames -gdwarf-5 %s -o main
// RUN: rm *.dwo
// RUN: %lldb --no-lldbinit main \
// RUN: -o "b main" --batch 2>&1 | FileCheck %s
```
https://github.com/llvm/llvm-project/pull/157574
More information about the lldb-commits
mailing list