Fix ComputeSupportExeDirectory for Linux (merge with Android).
authorChaoren Lin <chaorenl@google.com>
Sat, 21 Mar 2015 03:59:29 +0000 (03:59 +0000)
committerChaoren Lin <chaorenl@google.com>
Sat, 21 Mar 2015 03:59:29 +0000 (03:59 +0000)
Summary:
ComputeSupportExeDirectory relied on ComputeSharedLibraryDirectory which was
not always reliable. Using procfs seems to be the best way to deal with it on
Linux (since it's already done on Android, might as well merge it).

Reviewers: ovyalov

Reviewed By: ovyalov

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8511

llvm-svn: 232883

lldb/include/lldb/Host/android/HostInfoAndroid.h
lldb/include/lldb/Host/linux/HostInfoLinux.h
lldb/source/Host/android/HostInfoAndroid.cpp
lldb/source/Host/linux/HostInfoLinux.cpp

index ed9d3ee..4132116 100644 (file)
@@ -25,7 +25,6 @@ class HostInfoAndroid : public HostInfoLinux
 
   protected:
     static void ComputeHostArchitectureSupport(ArchSpec &arch_32, ArchSpec &arch_64);
-    static bool ComputeSupportExeDirectory(FileSpec &file_spec);
 };
 
 } // end of namespace lldb_private
index 4596b33..e4b2207 100644 (file)
@@ -40,7 +40,7 @@ class HostInfoLinux : public HostInfoPosix
     static FileSpec GetProgramFileSpec();
 
   protected:
-    static bool ComputeSharedLibraryDirectory(FileSpec &file_spec);
+    static bool ComputeSupportExeDirectory(FileSpec &file_spec);
     static bool ComputeSystemPluginsDirectory(FileSpec &file_spec);
     static bool ComputeUserPluginsDirectory(FileSpec &file_spec);
     static void ComputeHostArchitectureSupport(ArchSpec &arch_32, ArchSpec &arch_64);
index b819f92..f44b6c6 100644 (file)
@@ -30,13 +30,6 @@ HostInfoAndroid::ComputeHostArchitectureSupport(ArchSpec &arch_32, ArchSpec &arc
     }
 }
 
-bool
-HostInfoAndroid::ComputeSupportExeDirectory(FileSpec &file_spec)
-{
-    file_spec.GetDirectory() = HostInfoLinux::GetProgramFileSpec().GetDirectory();
-    return (bool)file_spec.GetDirectory();
-}
-
 FileSpec
 HostInfoAndroid::GetDefaultShell()
 {
index 3c192dc..d5f88fe 100644 (file)
@@ -222,12 +222,10 @@ HostInfoLinux::GetProgramFileSpec()
 }
 
 bool
-HostInfoLinux::ComputeSharedLibraryDirectory(FileSpec &file_spec)
+HostInfoLinux::ComputeSupportExeDirectory(FileSpec &file_spec)
 {
-    if (HostInfoPosix::ComputeSharedLibraryDirectory(file_spec))
-        return true;
     file_spec.GetDirectory() = GetProgramFileSpec().GetDirectory();
-    return (bool)file_spec.GetDirectory();
+    return static_cast<bool>(file_spec.GetDirectory());
 }
 
 bool