From 0a6ce26c387055e5d6803cab130195190103f6ce Mon Sep 17 00:00:00 2001 From: Chaoren Lin Date: Sat, 21 Mar 2015 03:59:29 +0000 Subject: [PATCH] Fix ComputeSupportExeDirectory for Linux (merge with Android). 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 | 1 - lldb/include/lldb/Host/linux/HostInfoLinux.h | 2 +- lldb/source/Host/android/HostInfoAndroid.cpp | 7 ------- lldb/source/Host/linux/HostInfoLinux.cpp | 6 ++---- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/lldb/include/lldb/Host/android/HostInfoAndroid.h b/lldb/include/lldb/Host/android/HostInfoAndroid.h index ed9d3ee..4132116 100644 --- a/lldb/include/lldb/Host/android/HostInfoAndroid.h +++ b/lldb/include/lldb/Host/android/HostInfoAndroid.h @@ -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 diff --git a/lldb/include/lldb/Host/linux/HostInfoLinux.h b/lldb/include/lldb/Host/linux/HostInfoLinux.h index 4596b33..e4b2207 100644 --- a/lldb/include/lldb/Host/linux/HostInfoLinux.h +++ b/lldb/include/lldb/Host/linux/HostInfoLinux.h @@ -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); diff --git a/lldb/source/Host/android/HostInfoAndroid.cpp b/lldb/source/Host/android/HostInfoAndroid.cpp index b819f92..f44b6c6 100644 --- a/lldb/source/Host/android/HostInfoAndroid.cpp +++ b/lldb/source/Host/android/HostInfoAndroid.cpp @@ -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() { diff --git a/lldb/source/Host/linux/HostInfoLinux.cpp b/lldb/source/Host/linux/HostInfoLinux.cpp index 3c192dc..d5f88fe 100644 --- a/lldb/source/Host/linux/HostInfoLinux.cpp +++ b/lldb/source/Host/linux/HostInfoLinux.cpp @@ -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(file_spec.GetDirectory()); } bool -- 2.7.4