diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp index fae42cb90a7f..d3c52cfe7d8f 100644 --- a/lldb/source/Core/ModuleList.cpp +++ b/lldb/source/Core/ModuleList.cpp @@ -1373,26 +1373,31 @@ bool ModuleList::LoadScriptingResourceInTargetForModule(Module &module, if (!feedback_stream.Empty()) debugger.ReportWarning(feedback_stream.GetString().str(), debugger.GetID()); + const bool trusted = platform_sp->IsSymbolFileTrusted(module); + for (const auto &[scripting_fspec, load_style] : file_specs) { + if (load_style == eLoadScriptFromSymFileFalse) + continue; + if (!FileSystem::Instance().Exists(scripting_fspec)) continue; switch (load_style) { case eLoadScriptFromSymFileFalse: - continue; + llvm_unreachable("case already handled"); case eLoadScriptFromSymFileTrue: break; case eLoadScriptFromSymFileTrusted: - if (!platform_sp->IsSymbolFileTrusted(module)) - continue; - break; + if (trusted) + break; + LLVM_FALLTHROUGH; case eLoadScriptFromSymFileWarn: debugger.ReportWarning( llvm::formatv( // clang-format off -R"('{0}' contains a debug script. To run this script in this debug session: +R"('{0}' contains {1} debug script. To run this script in this debug session: - command script import "{1}" + command script import "{2}" To run all discovered debug scripts in this session: @@ -1400,10 +1405,11 @@ To run all discovered debug scripts in this session: )", // clang-format on module.GetFileSpec().GetFileNameStrippingExtension(), + trusted ? "a trusted" : "an untrusted", scripting_fspec.GetPath()), debugger.GetID()); - return false; + continue; } LLDB_LOG(log, "Auto-loading {0}", scripting_fspec.GetPath()); diff --git a/lldb/test/Shell/Platform/AutoLoad/Darwin/dsym-python-script-name-warnings.test b/lldb/test/Shell/Platform/AutoLoad/Darwin/dsym-python-script-name-warnings.test index 9c84045d7593..07fa3c0d6e67 100644 --- a/lldb/test/Shell/Platform/AutoLoad/Darwin/dsym-python-script-name-warnings.test +++ b/lldb/test/Shell/Platform/AutoLoad/Darwin/dsym-python-script-name-warnings.test @@ -33,7 +33,7 @@ ## Also confirm that the warning message about auto-loading scripts is printed afterwards. -# CHECK-REMOVE: warning: 'Test-Module2' contains a debug script. To run this script in this +# CHECK-REMOVE: warning: 'Test-Module2' contains an untrusted debug script. To run this script in this #--- main.c int main() { return 0; }