[Lldb-commits] [lldb] [lldb][Linux] Moving APIs from HostInfoLinux to HostInfoPosix (PR #119694)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Wed Dec 18 01:45:21 PST 2024


================
@@ -139,8 +177,53 @@ FileSpec HostInfoPosix::GetDefaultShell() {
   return FileSpec("/bin/sh");
 }
 
+FileSpec HostInfoPosix::GetProgramFileSpec() {
+  static FileSpec g_program_filespec;
+
+  if (!g_program_filespec) {
+    char exe_path[PATH_MAX];
+    ssize_t len = readlink("/proc/self/exe", exe_path, sizeof(exe_path) - 1);
+    if (len > 0) {
+      exe_path[len] = 0;
+      g_program_filespec.SetFile(exe_path, FileSpec::Style::native);
+    }
+  }
+
+  return g_program_filespec;
+}
----------------
labath wrote:

You should be able to call the function "virtually" as `HostInfo::GetProgramFileSpec()` even though it's implemented only in the derived class. All of the functions in `HostInfoBase` do that, so I don't see why that wouldn't work here.

https://github.com/llvm/llvm-project/pull/119694


More information about the lldb-commits mailing list