aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Target/Target.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Target/Target.h')
-rw-r--r--include/lldb/Target/Target.h41
1 files changed, 32 insertions, 9 deletions
diff --git a/include/lldb/Target/Target.h b/include/lldb/Target/Target.h
index 64f3edf0fc4f..a33734fd5b63 100644
--- a/include/lldb/Target/Target.h
+++ b/include/lldb/Target/Target.h
@@ -26,6 +26,7 @@
#include "lldb/Core/Event.h"
#include "lldb/Core/ModuleList.h"
#include "lldb/Core/UserSettingsController.h"
+#include "lldb/Expression/ClangModulesDeclVendor.h"
#include "lldb/Expression/ClangPersistentVariables.h"
#include "lldb/Interpreter/Args.h"
#include "lldb/Interpreter/OptionValueBoolean.h"
@@ -554,12 +555,20 @@ private:
//------------------------------------------------------------------
Target (Debugger &debugger,
const ArchSpec &target_arch,
- const lldb::PlatformSP &platform_sp);
+ const lldb::PlatformSP &platform_sp,
+ bool is_dummy_target);
// Helper function.
bool
ProcessIsValid ();
+ // Copy breakpoints, stop hooks and so forth from the dummy target:
+ void
+ PrimeFromDummyTarget(Target *dummy_target);
+
+ void
+ AddBreakpoint(lldb::BreakpointSP breakpoint_sp, bool internal);
+
public:
~Target();
@@ -607,8 +616,8 @@ public:
Destroy();
Error
- Launch (Listener &listener,
- ProcessLaunchInfo &launch_info);
+ Launch (ProcessLaunchInfo &launch_info,
+ Stream *stream); // Optional stream to receive first stop info
//------------------------------------------------------------------
// This part handles the breakpoints.
@@ -954,9 +963,9 @@ public:
//------------------------------------------------------------------
/// Return whether this FileSpec corresponds to a module that should be considered for general searches.
///
- /// This API will be consulted by the SearchFilterForNonModuleSpecificSearches
+ /// This API will be consulted by the SearchFilterForUnconstrainedSearches
/// and any module that returns \b true will not be searched. Note the
- /// SearchFilterForNonModuleSpecificSearches is the search filter that
+ /// SearchFilterForUnconstrainedSearches is the search filter that
/// gets used in the CreateBreakpoint calls when no modules is provided.
///
/// The target call at present just consults the Platform's call of the
@@ -968,14 +977,14 @@ public:
/// @return \b true if the module should be excluded, \b false otherwise.
//------------------------------------------------------------------
bool
- ModuleIsExcludedForNonModuleSpecificSearches (const FileSpec &module_spec);
+ ModuleIsExcludedForUnconstrainedSearches (const FileSpec &module_spec);
//------------------------------------------------------------------
/// Return whether this module should be considered for general searches.
///
- /// This API will be consulted by the SearchFilterForNonModuleSpecificSearches
+ /// This API will be consulted by the SearchFilterForUnconstrainedSearches
/// and any module that returns \b true will not be searched. Note the
- /// SearchFilterForNonModuleSpecificSearches is the search filter that
+ /// SearchFilterForUnconstrainedSearches is the search filter that
/// gets used in the CreateBreakpoint calls when no modules is provided.
///
/// The target call at present just consults the Platform's call of the
@@ -990,7 +999,7 @@ public:
/// @return \b true if the module should be excluded, \b false otherwise.
//------------------------------------------------------------------
bool
- ModuleIsExcludedForNonModuleSpecificSearches (const lldb::ModuleSP &module_sp);
+ ModuleIsExcludedForUnconstrainedSearches (const lldb::ModuleSP &module_sp);
ArchSpec &
GetArchitecture ()
@@ -1132,6 +1141,9 @@ public:
Error
Install(ProcessLaunchInfo *launch_info);
+ bool
+ ResolveFileAddress (lldb::addr_t load_addr,
+ Address &so_addr);
bool
ResolveLoadAddress (lldb::addr_t load_addr,
@@ -1143,6 +1155,12 @@ public:
lldb::addr_t load_addr,
bool warn_multiple = false);
+ size_t
+ UnloadModuleSections (const lldb::ModuleSP &module_sp);
+
+ size_t
+ UnloadModuleSections (const ModuleList &module_list);
+
bool
SetSectionUnloaded (const lldb::SectionSP &section_sp);
@@ -1332,6 +1350,9 @@ public:
SourceManager &
GetSourceManager ();
+
+ ClangModulesDeclVendor *
+ GetClangModulesDeclVendor ();
//------------------------------------------------------------------
// Methods.
@@ -1369,6 +1390,7 @@ protected:
std::unique_ptr<ClangASTContext> m_scratch_ast_context_ap;
std::unique_ptr<ClangASTSource> m_scratch_ast_source_ap;
std::unique_ptr<ClangASTImporter> m_ast_importer_ap;
+ std::unique_ptr<ClangModulesDeclVendor> m_clang_modules_decl_vendor_ap;
ClangPersistentVariables m_persistent_variables; ///< These are the persistent variables associated with this process for the expression parser.
std::unique_ptr<SourceManager> m_source_manager_ap;
@@ -1378,6 +1400,7 @@ protected:
lldb::user_id_t m_stop_hook_next_id;
bool m_valid;
bool m_suppress_stop_hooks;
+ bool m_is_dummy_target;
static void
ImageSearchPathsChanged (const PathMappingList &path_list,