diff options
Diffstat (limited to 'include/lldb/Core/Module.h')
-rw-r--r-- | include/lldb/Core/Module.h | 87 |
1 files changed, 79 insertions, 8 deletions
diff --git a/include/lldb/Core/Module.h b/include/lldb/Core/Module.h index 90d75b623732..ca47a38a2ef5 100644 --- a/include/lldb/Core/Module.h +++ b/include/lldb/Core/Module.h @@ -10,29 +10,86 @@ #ifndef liblldb_Module_h_ #define liblldb_Module_h_ -#include "lldb/Symbol/SymbolContextScope.h" - -// Project includes +#include "lldb/Core/Address.h" // for Address #include "lldb/Core/ArchSpec.h" -#include "lldb/Core/UUID.h" -#include "lldb/Host/FileSpec.h" +#include "lldb/Core/ModuleSpec.h" // for ModuleSpec +#include "lldb/Symbol/SymbolContextScope.h" #include "lldb/Symbol/TypeSystem.h" #include "lldb/Target/PathMappingList.h" +#include "lldb/Utility/ConstString.h" // for ConstString +#include "lldb/Utility/Error.h" // for Error +#include "lldb/Utility/FileSpec.h" +#include "lldb/Utility/UUID.h" +#include "lldb/lldb-defines.h" // for DISALLOW_COPY_AND_ASSIGN +#include "lldb/lldb-enumerations.h" // for LanguageType, SymbolType #include "lldb/lldb-forward.h" +#include "lldb/lldb-types.h" // for addr_t, offset_t -// Other libraries and framework includes #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/Chrono.h" -// C Includes -// C++ Includes #include <atomic> +#include <memory> // for enable_shared_from_this #include <mutex> +#include <stddef.h> // for size_t +#include <stdint.h> // for uint32_t, uint64_t #include <string> #include <vector> namespace lldb_private { +class CompilerDeclContext; +} +namespace lldb_private { +class Function; +} +namespace lldb_private { +class Log; +} +namespace lldb_private { +class ObjectFile; +} +namespace lldb_private { +class RegularExpression; +} +namespace lldb_private { +class SectionList; +} +namespace lldb_private { +class Stream; +} +namespace lldb_private { +class Symbol; +} +namespace lldb_private { +class SymbolContext; +} +namespace lldb_private { +class SymbolContextList; +} +namespace lldb_private { +class SymbolFile; +} +namespace lldb_private { +class SymbolVendor; +} +namespace lldb_private { +class Symtab; +} +namespace lldb_private { +class Target; +} +namespace lldb_private { +class TypeList; +} +namespace lldb_private { +class TypeMap; +} +namespace lldb_private { +class VariableList; +} + +namespace lldb_private { //---------------------------------------------------------------------- /// @class Module Module.h "lldb/Core/Module.h" @@ -962,6 +1019,20 @@ public: bool RemapSourceFile(llvm::StringRef path, std::string &new_path) const; bool RemapSourceFile(const char *, std::string &) const = delete; + //------------------------------------------------------------------ + /// Loads this module to memory. + /// + /// Loads the bits needed to create an executable image to the memory. + /// It is useful with bare-metal targets where target does not have the + /// ability to start a process itself. + /// + /// @param[in] target + /// Target where to load the module. + /// + /// @return + //------------------------------------------------------------------ + Error LoadInMemory(Target &target, bool set_pc); + //---------------------------------------------------------------------- /// @class LookupInfo Module.h "lldb/Core/Module.h" /// @brief A class that encapsulates name lookup information. |