[Lldb-commits] [PATCH] D88632: A handful of fixes to lldb's "scan the local filesystem for kexts & kernels" feature

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 1 09:21:03 PDT 2020


JDevlieghere added a comment.

I don't know much about this code so I've left some inline nits.



================
Comment at: lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp:505
+  bool is_kernel_filename =
+      file_spec.GetFilename().GetStringRef().startswith("kernel") ||
+      file_spec.GetFilename().GetStringRef().startswith("mach");
----------------
Nit: You could assign the StringRef to a temporary so you don't have to repeat `file_spec.GetFilename().GetStringRef()` thrice. 


================
Comment at: lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp:680
+  std::string possible_path = kernel_dsym.GetPath();
+  if (!kernel_dsym.GetFilename().GetStringRef().endswith(".dSYM"))
+    return false;
----------------
`FileSpec` has a `GetFileNameExtension` but this works too. 


================
Comment at: lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp:684-685
+  FileSpec binary_filespec = kernel_dsym;
+  std::string filename = binary_filespec.GetFilename().GetCString();
+  filename.erase(filename.size() - 5, filename.size()); // chop off '.dSYM'
+  binary_filespec.GetFilename() = ConstString(filename);
----------------
`FileSpec::GetFileNameStrippingExtension` 


================
Comment at: lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp:716
+  // get rid of '.dSYM'
+  filename.erase(filename.size() - 5, filename.size());
+
----------------
`FileSpec::GetFileNameStrippingExtension` 


================
Comment at: lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp:865
+        } else {
+          error = ModuleList::GetSharedModule(kern_spec, module_sp, NULL, NULL,
+                                              NULL);
----------------
Huh, how did we end up with `NULL` again, someone ran a clang tidy check over lldb that replaces it with `nullptr`. Do we only build this on Darwin maybe? If the rest of the file uses `NULL` we can fix that inconsistency in a separate commit. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88632/new/

https://reviews.llvm.org/D88632



More information about the lldb-commits mailing list