LLDB  mainline
ObjectFileMachO.h
Go to the documentation of this file.
1 //===-- ObjectFileMachO.h ---------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_PLUGINS_OBJECTFILE_MACH_O_OBJECTFILEMACHO_H
10 #define LLDB_SOURCE_PLUGINS_OBJECTFILE_MACH_O_OBJECTFILEMACHO_H
11 
12 #include "lldb/Core/Address.h"
13 #include "lldb/Core/FileSpecList.h"
14 #include "lldb/Host/SafeMachO.h"
15 #include "lldb/Symbol/ObjectFile.h"
16 #include "lldb/Utility/FileSpec.h"
17 #include "lldb/Utility/RangeMap.h"
18 #include "lldb/Utility/UUID.h"
19 
20 // This class needs to be hidden as eventually belongs in a plugin that
21 // will export the ObjectFile protocol
23 public:
24  ObjectFileMachO(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp,
25  lldb::offset_t data_offset,
26  const lldb_private::FileSpec *file, lldb::offset_t offset,
27  lldb::offset_t length);
28 
29  ObjectFileMachO(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp,
30  const lldb::ProcessSP &process_sp, lldb::addr_t header_addr);
31 
32  ~ObjectFileMachO() override = default;
33 
34  // Static Functions
35  static void Initialize();
36 
37  static void Terminate();
38 
40 
41  static const char *GetPluginDescriptionStatic();
42 
44  CreateInstance(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp,
45  lldb::offset_t data_offset, const lldb_private::FileSpec *file,
46  lldb::offset_t file_offset, lldb::offset_t length);
47 
49  const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp,
50  const lldb::ProcessSP &process_sp, lldb::addr_t header_addr);
51 
52  static size_t GetModuleSpecifications(const lldb_private::FileSpec &file,
53  lldb::DataBufferSP &data_sp,
54  lldb::offset_t data_offset,
55  lldb::offset_t file_offset,
56  lldb::offset_t length,
58 
59  static bool SaveCore(const lldb::ProcessSP &process_sp,
60  const lldb_private::FileSpec &outfile,
62 
63  static bool MagicBytesMatch(lldb::DataBufferSP &data_sp, lldb::addr_t offset,
64  lldb::addr_t length);
65 
66  // LLVM RTTI support
67  static char ID;
68  bool isA(const void *ClassID) const override {
69  return ClassID == &ID || ObjectFile::isA(ClassID);
70  }
71  static bool classof(const ObjectFile *obj) { return obj->isA(&ID); }
72 
73  // Member Functions
74  bool ParseHeader() override;
75 
77  bool value_is_offset) override;
78 
79  lldb::ByteOrder GetByteOrder() const override;
80 
81  bool IsExecutable() const override;
82 
83  bool IsDynamicLoader() const;
84 
85  uint32_t GetAddressByteSize() const override;
86 
88 
89  lldb_private::Symtab *GetSymtab() override;
90 
91  bool IsStripped() override;
92 
93  void CreateSections(lldb_private::SectionList &unified_section_list) override;
94 
95  void Dump(lldb_private::Stream *s) override;
96 
98 
99  lldb_private::UUID GetUUID() override;
100 
101  uint32_t GetDependentModules(lldb_private::FileSpecList &files) override;
102 
103  lldb_private::FileSpecList GetReExportedLibraries() override {
104  return m_reexported_dylibs;
105  }
106 
108 
110 
111  uint32_t GetNumThreadContexts() override;
112 
113  std::string GetIdentifierString() override;
114 
116  lldb_private::UUID &uuid,
117  ObjectFile::BinaryType &type) override;
118 
119  lldb::RegisterContextSP
121 
122  ObjectFile::Type CalculateType() override;
123 
124  ObjectFile::Strata CalculateStrata() override;
125 
126  llvm::VersionTuple GetVersion() override;
127 
128  llvm::VersionTuple GetMinimumOSVersion() override;
129 
130  llvm::VersionTuple GetSDKVersion() override;
131 
132  bool GetIsDynamicLinkEditor() override;
133 
134  static bool ParseHeader(lldb_private::DataExtractor &data,
135  lldb::offset_t *data_offset_ptr,
136  llvm::MachO::mach_header &header);
137 
138  bool AllowAssemblyEmulationUnwindPlans() override;
139 
140  // PluginInterface protocol
142 
143  uint32_t GetPluginVersion() override;
144 
145 protected:
146  static lldb_private::UUID
147  GetUUID(const llvm::MachO::mach_header &header,
148  const lldb_private::DataExtractor &data,
149  lldb::offset_t lc_offset); // Offset to the first load command
150 
152  lldb::ModuleSP module_sp, const llvm::MachO::mach_header &header,
153  const lldb_private::DataExtractor &data, lldb::offset_t lc_offset);
154 
155  /// Enumerate all ArchSpecs supported by this Mach-O file.
156  ///
157  /// On macOS one Mach-O slice can contain multiple load commands:
158  /// One load command for being loaded into a macOS process and one
159  /// load command for being loaded into a macCatalyst process. In
160  /// contrast to ObjectContainerUniversalMachO, this is the same
161  /// binary that can be loaded into different contexts.
162  static void GetAllArchSpecs(const llvm::MachO::mach_header &header,
163  const lldb_private::DataExtractor &data,
164  lldb::offset_t lc_offset,
165  lldb_private::ModuleSpec &base_spec,
166  lldb_private::ModuleSpecList &all_specs);
167 
168  /// Intended for same-host arm device debugging where lldb needs to
169  /// detect libraries in the shared cache and augment the nlist entries
170  /// with an on-disk dyld_shared_cache file. The process will record
171  /// the shared cache UUID so the on-disk cache can be matched or rejected
172  /// correctly.
174  lldb::addr_t &base_addr,
175  lldb_private::UUID &uuid);
176 
177  /// Intended for same-host arm device debugging where lldb will read
178  /// shared cache libraries out of its own memory instead of the remote
179  /// process' memory as an optimization. If lldb's shared cache UUID
180  /// does not match the process' shared cache UUID, this optimization
181  /// should not be used.
182  void GetLLDBSharedCacheUUID(lldb::addr_t &base_addir, lldb_private::UUID &uuid);
183 
185 
187  lldb::addr_t mach_header_load_address,
188  const lldb_private::Section *mach_header_section,
189  const lldb_private::Section *section);
190 
192  GetSharedCacheUUID(lldb_private::FileSpec dyld_shared_cache,
193  const lldb::ByteOrder byte_order,
194  const uint32_t addr_byte_size);
195 
196  size_t ParseSymtab();
197 
200 
201  struct SegmentParsingContext;
202  void ProcessDysymtabCommand(const llvm::MachO::load_command &load_cmd,
203  lldb::offset_t offset);
204  void ProcessSegmentCommand(const llvm::MachO::load_command &load_cmd,
205  lldb::offset_t offset, uint32_t cmd_idx,
206  SegmentParsingContext &context);
207  void SanitizeSegmentCommand(llvm::MachO::segment_command_64 &seg_cmd,
208  uint32_t cmd_idx);
209 
210  bool SectionIsLoadable(const lldb_private::Section *section);
211 
212  llvm::MachO::mach_header m_header;
221 
222  llvm::MachO::dysymtab_command m_dysymtab;
223  std::vector<llvm::MachO::segment_command_64> m_mach_segments;
224  std::vector<llvm::MachO::section_64> m_mach_sections;
225  llvm::Optional<llvm::VersionTuple> m_min_os_version;
226  llvm::Optional<llvm::VersionTuple> m_sdk_versions;
233  lldb_private::FileSpecList m_reexported_dylibs;
235 };
236 
237 #endif // LLDB_SOURCE_PLUGINS_OBJECTFILE_MACH_O_OBJECTFILEMACHO_H
ObjectFileMachO::ParseSymtab
size_t ParseSymtab()
Definition: ObjectFileMachO.cpp:2166
ObjectFileMachO::GetNumThreadContexts
uint32_t GetNumThreadContexts() override
Definition: ObjectFileMachO.cpp:5433
lldb_private::UUID
Definition: UUID.h:23
ObjectFileMachO::GetPluginName
lldb_private::ConstString GetPluginName() override
Definition: ObjectFileMachO.cpp:6054
ObjectFileMachO::GetMinimumOSVersion
llvm::VersionTuple GetMinimumOSVersion() override
Get the minimum OS version this object file can run on.
Definition: ObjectFileMachO.cpp:5910
lldb_private::ArchSpec
Definition: ArchSpec.h:33
ObjectFileMachO::GetSymtab
lldb_private::Symtab * GetSymtab() override
Gets the symbol table for the currently selected architecture (and object for archives).
Definition: ObjectFileMachO.cpp:1254
ObjectFileMachO::CreateInstance
static lldb_private::ObjectFile * CreateInstance(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t file_offset, lldb::offset_t length)
Definition: ObjectFileMachO.cpp:780
lldb_private::AddressClass
AddressClass
Definition: lldb-private-enumerations.h:48
ObjectFileMachO::GetAddressByteSize
uint32_t GetAddressByteSize() const override
Gets the address size in bytes for the current object file.
Definition: ObjectFileMachO.cpp:1084
UUID.h
ObjectFileMachO::GetSegmentNameDATA_CONST
static lldb_private::ConstString GetSegmentNameDATA_CONST()
Definition: ObjectFileMachO.cpp:868
ObjectFileMachO::SetLoadAddress
bool SetLoadAddress(lldb_private::Target &target, lldb::addr_t value, bool value_is_offset) override
Sets the load address for an entire module, assuming a rigid slide of sections, if possible in the im...
Definition: ObjectFileMachO.cpp:6116
ObjectFileMachO::GetDependentModules
uint32_t GetDependentModules(lldb_private::FileSpecList &files) override
Definition: ObjectFileMachO.cpp:5143
ObjectFileMachO::GetSegmentNameDATA_DIRTY
static lldb_private::ConstString GetSegmentNameDATA_DIRTY()
Definition: ObjectFileMachO.cpp:863
lldb_private::ModuleSpecList
Definition: ModuleSpec.h:281
lldb_private::Process
Definition: Process.h:342
ObjectFileMachO::SegmentParsingContext
Definition: ObjectFileMachO.cpp:1542
ObjectFileMachO::classof
static bool classof(const ObjectFile *obj)
Definition: ObjectFileMachO.h:71
lldb_private::ObjectFile::ObjectFile
ObjectFile(const lldb::ModuleSP &module_sp, const FileSpec *file_spec_ptr, lldb::offset_t file_offset, lldb::offset_t length, const lldb::DataBufferSP &data_sp, lldb::offset_t data_offset)
Construct with a parent module, offset, and header data.
Definition: ObjectFile.cpp:237
ObjectFileMachO::m_min_os_version
llvm::Optional< llvm::VersionTuple > m_min_os_version
Definition: ObjectFileMachO.h:225
ObjectFileMachO::m_sdk_versions
llvm::Optional< llvm::VersionTuple > m_sdk_versions
Definition: ObjectFileMachO.h:226
lldb_private::SectionList
Definition: Section.h:34
lldb::offset_t
uint64_t offset_t
Definition: lldb-types.h:87
lldb_private::Stream
Definition: Stream.h:28
lldb::addr_t
uint64_t addr_t
Definition: lldb-types.h:83
RangeMap.h
ObjectFileMachO::ID
static char ID
Definition: ObjectFileMachO.h:67
lldb_private::Target
Definition: Target.h:445
ObjectFileMachO::GetSharedCacheUUID
lldb_private::UUID GetSharedCacheUUID(lldb_private::FileSpec dyld_shared_cache, const lldb::ByteOrder byte_order, const uint32_t addr_byte_size)
Definition: ObjectFileMachO.cpp:2122
ObjectFileMachO::SanitizeSegmentCommand
void SanitizeSegmentCommand(llvm::MachO::segment_command_64 &seg_cmd, uint32_t cmd_idx)
Definition: ObjectFileMachO.cpp:1329
ObjectFileMachO::~ObjectFileMachO
~ObjectFileMachO() override=default
ObjectFileMachO::GetIsDynamicLinkEditor
bool GetIsDynamicLinkEditor() override
Return true if this file is a dynamic link editor (dyld)
Definition: ObjectFileMachO.cpp:6045
ObjectFileMachO::m_allow_assembly_emulation_unwind_plans
bool m_allow_assembly_emulation_unwind_plans
Definition: ObjectFileMachO.h:234
ObjectFileMachO::EncryptedFileRanges
lldb_private::RangeVector< uint32_t, uint32_t, 8 > EncryptedFileRanges
Definition: ObjectFileMachO.h:198
SafeMachO.h
ObjectFileMachO::m_reexported_dylibs
lldb_private::FileSpecList m_reexported_dylibs
Definition: ObjectFileMachO.h:233
ObjectFileMachO::MagicBytesMatch
static bool MagicBytesMatch(lldb::DataBufferSP &data_sp, lldb::addr_t offset, lldb::addr_t length)
Definition: ObjectFileMachO.cpp:893
ObjectFileMachO::GetPluginVersion
uint32_t GetPluginVersion() override
Definition: ObjectFileMachO.cpp:6058
lldb_private::FileSpec
Definition: FileSpec.h:56
error
static llvm::raw_ostream & error(Stream &strm)
Definition: CommandReturnObject.cpp:17
ObjectFileMachO::GetIdentifierString
std::string GetIdentifierString() override
Some object files may have an identifier string embedded in them, e.g.
Definition: ObjectFileMachO.cpp:5459
ObjectFileMachO::GetCorefileMainBinaryInfo
bool GetCorefileMainBinaryInfo(lldb::addr_t &address, lldb_private::UUID &uuid, ObjectFile::BinaryType &type) override
Definition: ObjectFileMachO.cpp:5529
ObjectFileMachO::SectionIsLoadable
bool SectionIsLoadable(const lldb_private::Section *section)
Definition: ObjectFileMachO.cpp:6080
ObjectFileMachO::Initialize
static void Initialize()
Definition: ObjectFileMachO.cpp:761
ObjectFileMachO::GetUUID
lldb_private::UUID GetUUID() override
Gets the UUID for this object file.
Definition: ObjectFileMachO.cpp:5133
lldb_private::DataExtractor
Definition: DataExtractor.h:48
ObjectFileMachO::GetBaseAddress
lldb_private::Address GetBaseAddress() override
Returns base address of this object file.
Definition: ObjectFileMachO.cpp:5419
ObjectFileMachO::GetLLDBSharedCacheUUID
void GetLLDBSharedCacheUUID(lldb::addr_t &base_addir, lldb_private::UUID &uuid)
Intended for same-host arm device debugging where lldb will read shared cache libraries out of its ow...
Definition: ObjectFileMachO.cpp:5828
lldb_private::Thread
Definition: Thread.h:62
ObjectFileMachO::GetEntryPointAddress
lldb_private::Address GetEntryPointAddress() override
Returns the address of the Entry Point in this object file - if the object file doesn't have an entry...
Definition: ObjectFileMachO.cpp:5247
ObjectFileMachO::CreateSections
void CreateSections(lldb_private::SectionList &unified_section_list) override
Definition: ObjectFileMachO.cpp:1839
ObjectFileMachO::GetSegmentNameDWARF
static lldb_private::ConstString GetSegmentNameDWARF()
Definition: ObjectFileMachO.cpp:883
FileSpecList.h
lldb_private::ConstString
Definition: ConstString.h:40
ObjectFileMachO::m_mach_sections
std::vector< llvm::MachO::section_64 > m_mach_sections
Definition: ObjectFileMachO.h:224
ObjectFileMachO::ProcessSegmentCommand
void ProcessSegmentCommand(const llvm::MachO::load_command &load_cmd, lldb::offset_t offset, uint32_t cmd_idx, SegmentParsingContext &context)
Definition: ObjectFileMachO.cpp:1554
ObjectFileMachO::CreateMemoryInstance
static lldb_private::ObjectFile * CreateMemoryInstance(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, const lldb::ProcessSP &process_sp, lldb::addr_t header_addr)
Definition: ObjectFileMachO.cpp:811
ObjectFileMachO::m_mach_segments
std::vector< llvm::MachO::segment_command_64 > m_mach_segments
Definition: ObjectFileMachO.h:223
ObjectFileMachO::GetProcessSharedCacheUUID
void GetProcessSharedCacheUUID(lldb_private::Process *, lldb::addr_t &base_addr, lldb_private::UUID &uuid)
Intended for same-host arm device debugging where lldb needs to detect libraries in the shared cache ...
Definition: ObjectFileMachO.cpp:5794
ObjectFileMachO::GetEncryptedFileRanges
EncryptedFileRanges GetEncryptedFileRanges()
Definition: ObjectFileMachO.cpp:1300
ObjectFileMachO::GetAllArchSpecs
static void GetAllArchSpecs(const llvm::MachO::mach_header &header, const lldb_private::DataExtractor &data, lldb::offset_t lc_offset, lldb_private::ModuleSpec &base_spec, lldb_private::ModuleSpecList &all_specs)
Enumerate all ArchSpecs supported by this Mach-O file.
Definition: ObjectFileMachO.cpp:4961
string
string(SUBSTRING ${p} 10 -1 pStripped) if($
Definition: Plugins/CMakeLists.txt:38
ObjectFileMachO::m_thread_context_offsets_valid
bool m_thread_context_offsets_valid
Definition: ObjectFileMachO.h:232
ObjectFileMachO::GetSegmentNameTEXT
static lldb_private::ConstString GetSegmentNameTEXT()
Definition: ObjectFileMachO.cpp:853
ObjectFileMachO::GetVersion
llvm::VersionTuple GetVersion() override
Get the object file version numbers.
Definition: ObjectFileMachO.cpp:5745
ObjectFileMachO::m_text_address
lldb::addr_t m_text_address
Definition: ObjectFileMachO.h:231
lldb_private::RangeVector
Definition: RangeMap.h:125
Address.h
ObjectFileMachO::isA
bool isA(const void *ClassID) const override
Definition: ObjectFileMachO.h:68
ObjectFileMachO::GetPluginDescriptionStatic
static const char * GetPluginDescriptionStatic()
Definition: ObjectFileMachO.cpp:776
ObjectFile.h
lldb_private::Section
Definition: Section.h:96
ObjectFileMachO::GetSegmentNameLINKEDIT
static lldb_private::ConstString GetSegmentNameLINKEDIT()
Definition: ObjectFileMachO.cpp:878
lldb_private::ModuleSpec
Definition: ModuleSpec.h:26
ObjectFileMachO::GetPluginNameStatic
static lldb_private::ConstString GetPluginNameStatic()
Definition: ObjectFileMachO.cpp:771
ObjectFileMachO::GetByteOrder
lldb::ByteOrder GetByteOrder() const override
Gets whether endian swapping should occur when extracting data from this object file.
Definition: ObjectFileMachO.cpp:1072
ObjectFileMachO::IsExecutable
bool IsExecutable() const override
Tells whether this object file is capable of being the main executable for a process.
Definition: ObjectFileMachO.cpp:1076
ObjectFileMachO::GetAddressClass
lldb_private::AddressClass GetAddressClass(lldb::addr_t file_addr) override
Get the address type given a file address in an object file.
Definition: ObjectFileMachO.cpp:1088
lldb_private::Status
Definition: Status.h:44
ObjectFileMachO::GetSegmentNameDATA
static lldb_private::ConstString GetSegmentNameDATA()
Definition: ObjectFileMachO.cpp:858
ObjectFileMachO::GetModuleSpecifications
static size_t GetModuleSpecifications(const lldb_private::FileSpec &file, lldb::DataBufferSP &data_sp, lldb::offset_t data_offset, lldb::offset_t file_offset, lldb::offset_t length, lldb_private::ModuleSpecList &specs)
Definition: ObjectFileMachO.cpp:823
lldb_private::Symtab
Definition: Symtab.h:21
uint32_t
ObjectFileMachO::FileRangeArray
lldb_private::RangeVector< uint32_t, uint32_t > FileRangeArray
Definition: ObjectFileMachO.h:227
lldb_private::Address
Definition: Address.h:59
ObjectFileMachO::GetArchitecture
lldb_private::ArchSpec GetArchitecture() override
Get the ArchSpec for this object file.
Definition: ObjectFileMachO.cpp:5782
ObjectFileMachO::ProcessDysymtabCommand
void ProcessDysymtabCommand(const llvm::MachO::load_command &load_cmd, lldb::offset_t offset)
Definition: ObjectFileMachO.cpp:1831
ObjectFileMachO::m_header
llvm::MachO::mach_header m_header
Definition: ObjectFileMachO.h:212
ObjectFileMachO::m_linkedit_original_offset
lldb::offset_t m_linkedit_original_offset
Definition: ObjectFileMachO.h:230
ObjectFileMachO::CalculateSectionLoadAddressForMemoryImage
lldb::addr_t CalculateSectionLoadAddressForMemoryImage(lldb::addr_t mach_header_load_address, const lldb_private::Section *mach_header_section, const lldb_private::Section *section)
Definition: ObjectFileMachO.cpp:6103
ObjectFileMachO::SaveCore
static bool SaveCore(const lldb::ProcessSP &process_sp, const lldb_private::FileSpec &outfile, lldb_private::Status &error)
Definition: ObjectFileMachO.cpp:6163
ObjectFileMachO::IsStripped
bool IsStripped() override
Detect if this object file has been stripped of local symbols.
Definition: ObjectFileMachO.cpp:1269
ObjectFileMachO::GetSDKVersion
llvm::VersionTuple GetSDKVersion() override
Get the SDK OS version this object file was built with.
Definition: ObjectFileMachO.cpp:5971
ObjectFileMachO::Dump
void Dump(lldb_private::Stream *s) override
Dump a description of this object to a Stream.
Definition: ObjectFileMachO.cpp:4816
ObjectFileMachO::GetSectionNameEHFrame
static lldb_private::ConstString GetSectionNameEHFrame()
Definition: ObjectFileMachO.cpp:888
ObjectFileMachO::ParseHeader
bool ParseHeader() override
Attempts to parse the object header.
Definition: ObjectFileMachO.cpp:983
ObjectFileMachO
Definition: ObjectFileMachO.h:22
ObjectFileMachO::GetThreadContextAtIndex
lldb::RegisterContextSP GetThreadContextAtIndex(uint32_t idx, lldb_private::Thread &thread) override
Definition: ObjectFileMachO.cpp:5602
ObjectFileMachO::CalculateStrata
ObjectFile::Strata CalculateStrata() override
The object file should be able to calculate the strata of the object file.
Definition: ObjectFileMachO.cpp:5689
ObjectFileMachO::IsDynamicLoader
bool IsDynamicLoader() const
Definition: ObjectFileMachO.cpp:1080
FileSpec.h
ObjectFileMachO::GetMachHeaderSection
lldb_private::Section * GetMachHeaderSection()
Definition: ObjectFileMachO.cpp:6060
ObjectFileMachO::Terminate
static void Terminate()
Definition: ObjectFileMachO.cpp:767
ObjectFileMachO::GetReExportedLibraries
lldb_private::FileSpecList GetReExportedLibraries() override
Gets the file spec list of libraries re-exported by this object file.
Definition: ObjectFileMachO.h:103
ObjectFileMachO::CalculateType
ObjectFile::Type CalculateType() override
The object file should be able to calculate its type by looking at its file header and possibly the s...
Definition: ObjectFileMachO.cpp:5646
ObjectFileMachO::GetSegmentNameOBJC
static lldb_private::ConstString GetSegmentNameOBJC()
Definition: ObjectFileMachO.cpp:873
lldb_private::ObjectFile
Definition: ObjectFile.h:58
ObjectFileMachO::ObjectFileMachO
ObjectFileMachO(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t offset, lldb::offset_t length)
ObjectFileMachO::m_thread_context_offsets
FileRangeArray m_thread_context_offsets
Definition: ObjectFileMachO.h:229
ObjectFileMachO::m_entry_point_address
lldb_private::Address m_entry_point_address
Definition: ObjectFileMachO.h:228
lldb::ByteOrder
ByteOrder
Byte ordering definitions.
Definition: lldb-enumerations.h:138
ObjectFileMachO::AllowAssemblyEmulationUnwindPlans
bool AllowAssemblyEmulationUnwindPlans() override
Returns if the function bounds for symbols in this symbol file are likely accurate.
Definition: ObjectFileMachO.cpp:6049
ObjectFileMachO::m_dysymtab
llvm::MachO::dysymtab_command m_dysymtab
Definition: ObjectFileMachO.h:222