mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-04-01 12:43:47 +00:00
[lldb] Warn when we fail to find dwo/dwp files
This ensures that the user is aware that many commands will not work correctly. We print the warning only once (per module) to avoid spamming the user with potentially thousands of error messages. Differential Revision: https://reviews.llvm.org/D120892
This commit is contained in:
parent
2c7afadb47
commit
8f6ee17f22
@ -1746,8 +1746,14 @@ SymbolFileDWARF::GetDwoSymbolFileForCompileUnit(
|
||||
dwo_file.AppendPathComponent(dwo_name);
|
||||
}
|
||||
|
||||
if (!FileSystem::Instance().Exists(dwo_file))
|
||||
if (!FileSystem::Instance().Exists(dwo_file)) {
|
||||
if (m_dwo_warning_issued.test_and_set(std::memory_order_relaxed) == false) {
|
||||
GetObjectFile()->GetModule()->ReportWarning(
|
||||
"unable to locate separate debug file (dwo, dwp). Debugging will be "
|
||||
"degraded.");
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const lldb::offset_t file_offset = 0;
|
||||
DataBufferSP dwo_file_data_sp;
|
||||
|
@ -560,6 +560,7 @@ protected:
|
||||
/// address in the module.
|
||||
lldb::addr_t m_first_code_address = LLDB_INVALID_ADDRESS;
|
||||
lldb_private::StatsDuration m_parse_time;
|
||||
std::atomic_flag m_dwo_warning_issued = ATOMIC_FLAG_INIT;
|
||||
};
|
||||
|
||||
#endif // LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_SYMBOLFILEDWARF_H
|
||||
|
@ -0,0 +1,7 @@
|
||||
// RUN: %clang --target=x86_64-pc-linux -g -gsplit-dwarf -c %s -o %t.o
|
||||
// RUN: rm %t.dwo
|
||||
// RUN: %lldb %t.o -o "br set -n main" -o exit 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: warning: {{.*}} unable to locate separate debug file (dwo, dwp). Debugging will be degraded.
|
||||
|
||||
int main() { return 47; }
|
Loading…
x
Reference in New Issue
Block a user