================
@@ -87,8 +105,15 @@ SymbolVendorELF::CreateInstance(const lldb::ModuleSP
&module_sp,
FileSpecList search_paths = Target::GetDefaultDebugFileSearchPaths();
FileSpec dsym_fspec =
PluginManager::LocateExecutableSymbolFile(module_spec, search_paths);
- if (!dsym_fspec)
- return nullptr;
+ if (!dsym_fspec || IsDwpSymbolFile(module_sp, dsym_fspec)) {
+ // If we have a stripped binary or if we got a DWP file, we should prefer
+ // symbols in the executable acquired through a plugin.
+ ModuleSpec unstripped_spec =
+ PluginManager::LocateExecutableObjectFile(module_spec);
+ if (!unstripped_spec)
+ return nullptr;
+ dsym_fspec = unstripped_spec.GetFileSpec();
+ }
----------------
DavidSpickett wrote:
We try to allocate memory to JIT the expression and calling `mmap` fails with a
signal. In https://github.com/llvm/llvm-project/issues/68987 this was because
we had lost the section info that told us whether to call it as Thumb or Arm,
if we get that wrong it causes a SIGILL, so it could be the same thing again.
I will look into it more next week and assuming I find a fix, reland the
changes for you.
https://github.com/llvm/llvm-project/pull/90622
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits