[Lldb-commits] [lldb] [lldb/crashlog] Fix module binary resolution (PR #91631)
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Thu May 9 11:03:55 PDT 2024
================
@@ -418,9 +418,22 @@ def locate_module_and_debug_symbols(self):
with print_lock:
print('falling back to binary inside "%s"' % dsym)
self.symfile = dsym
- for filename in os.listdir(dwarf_dir):
- self.path = os.path.join(dwarf_dir, filename)
- if self.find_matching_slice():
+ # Look for the executable next to the dSYM bundle.
+ parent_dir = os.path.dirname(dsym)
+ find_results = (
+ subprocess.check_output(
+ '/usr/bin/find "%s" -type f \( -perm -u=x -o -perm -g=x -o -perm -o=x \)'
+ % parent_dir,
+ shell=True,
+ )
+ .decode("utf-8")
+ .splitlines()
+ )
+ for binary in find_results:
+ abs_path = os.path.abspath(binary)
+ basename = os.path.basename(binary)
+ if os.path.exists(abs_path) and basename == self.identifier:
----------------
bulbazord wrote:
Do we expect `abs_path` to not exist after the call to `find`?
https://github.com/llvm/llvm-project/pull/91631
More information about the lldb-commits
mailing list