1 //===-- Symbols.h -----------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_Symbols_h_
11 #define liblldb_Symbols_h_
15 #include "lldb/Utility/FileSpec.h"
17 namespace lldb_private {
25 //----------------------------------------------------------------------
26 // Locate the executable file given a module specification.
28 // Locating the file should happen only on the local computer or using the
29 // current computers global settings.
30 //----------------------------------------------------------------------
31 static ModuleSpec LocateExecutableObjectFile(const ModuleSpec &module_spec);
33 //----------------------------------------------------------------------
34 // Locate the symbol file given a module specification.
36 // Locating the file should happen only on the local computer or using the
37 // current computers global settings.
38 //----------------------------------------------------------------------
39 static FileSpec LocateExecutableSymbolFile(const ModuleSpec &module_spec);
41 static FileSpec FindSymbolFileInBundle(const FileSpec &dsym_bundle_fspec,
42 const lldb_private::UUID *uuid,
43 const ArchSpec *arch);
45 //----------------------------------------------------------------------
46 // Locate the object and symbol file given a module specification.
48 // Locating the file can try to download the file from a corporate build
49 // repository, or using any other means necessary to locate both the
50 // unstripped object file and the debug symbols. The force_lookup argument
51 // controls whether the external program is called unconditionally to find
52 // the symbol file, or if the user's settings are checked to see if they've
53 // enabled the external program before calling.
55 //----------------------------------------------------------------------
56 static bool DownloadObjectAndSymbolFile(ModuleSpec &module_spec,
57 bool force_lookup = true);
60 } // namespace lldb_private
62 #endif // liblldb_Symbols_h_