summaryrefslogtreecommitdiffstats
path: root/lldb/include
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2018-08-02 16:46:15 +0000
committerGreg Clayton <gclayton@apple.com>2018-08-02 16:46:15 +0000
commit2d953f22a00b298eaa3a79edaba5c4eff1571a24 (patch)
treef80d641eb2ecf2791289d2251e7bd4d0aa5e0bc2 /lldb/include
parent92b16738a1ce78de768d900f9e17c06ed92ed272 (diff)
downloadbcm5719-llvm-2d953f22a00b298eaa3a79edaba5c4eff1571a24.tar.gz
bcm5719-llvm-2d953f22a00b298eaa3a79edaba5c4eff1571a24.zip
Add support for ARM and ARM64 breakpad generated minidump files
In this patch I add support for ARM and ARM64 break pad files. There are two flavors of ARM: Apple where FP is R7, and non Apple where FP is R11. Added minimal tests that load up ARM64 and the two flavors or ARM core files with a single thread and known register values in each register. Each register is checked for the exact value. Differential Revision: https://reviews.llvm.org/D49750 llvm-svn: 338734
Diffstat (limited to 'lldb/include')
-rw-r--r--lldb/include/lldb/Target/Target.h30
1 files changed, 16 insertions, 14 deletions
diff --git a/lldb/include/lldb/Target/Target.h b/lldb/include/lldb/Target/Target.h
index 75af8e80d2e..a4a00eb2d37 100644
--- a/lldb/include/lldb/Target/Target.h
+++ b/lldb/include/lldb/Target/Target.h
@@ -913,28 +913,30 @@ public:
/// Set the architecture for this target.
///
/// If the current target has no Images read in, then this just sets the
- /// architecture, which will
- /// be used to select the architecture of the ExecutableModule when that is
- /// set.
- /// If the current target has an ExecutableModule, then calling
- /// SetArchitecture with a different
+ /// architecture, which will be used to select the architecture of the
+ /// ExecutableModule when that is set. If the current target has an
+ /// ExecutableModule, then calling SetArchitecture with a different
/// architecture from the currently selected one will reset the
- /// ExecutableModule to that slice
- /// of the file backing the ExecutableModule. If the file backing the
- /// ExecutableModule does not
- /// contain a fork of this architecture, then this code will return false, and
- /// the architecture
- /// won't be changed.
- /// If the input arch_spec is the same as the already set architecture, this
- /// is a no-op.
+ /// ExecutableModule to that slice of the file backing the ExecutableModule.
+ /// If the file backing the ExecutableModule does not contain a fork of this
+ /// architecture, then this code will return false, and the architecture
+ /// won't be changed. If the input arch_spec is the same as the already set
+ /// architecture, this is a no-op.
///
/// @param[in] arch_spec
/// The new architecture.
///
+ /// @param[in] set_platform
+ /// If \b true, then the platform will be adjusted if the currently
+ /// selected platform is not compatible with the archicture being set.
+ /// If \b false, then just the architecture will be set even if the
+ /// currently selected platform isn't compatible (in case it might be
+ /// manually set following this function call).
+ ///
/// @return
/// \b true if the architecture was successfully set, \bfalse otherwise.
//------------------------------------------------------------------
- bool SetArchitecture(const ArchSpec &arch_spec);
+ bool SetArchitecture(const ArchSpec &arch_spec, bool set_platform = false);
bool MergeArchitecture(const ArchSpec &arch_spec);
OpenPOWER on IntegriCloud