[lldb] Keep the existing behavior for untrusted dSYMs (#190407)
This patch does two thing: - It reverts to the previous behavior of warning for untrusted dSYMs. - It includes whether a dSYM is trusted or untrusted in the warning output. My reasoning is that there's no tooling for automatically signing dSYMs and therefore we shouldn't change the behavior until this is more common. The inclusion of whether the dSYM is signed or not is the first step towards advertising the existence of the feature. This now also means the release note I added in #189444 is correct (again).
This commit is contained in:
parent
beb8b67a6a
commit
52568a54d9
@ -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());
|
||||
|
||||
@ -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; }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user