diff options
-rw-r--r-- | lldb/include/lldb/API/SBAddress.h | 7 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBModule.h | 3 | ||||
-rw-r--r-- | lldb/include/lldb/API/SBSymbol.h | 3 | ||||
-rw-r--r-- | lldb/include/lldb/Core/Module.h | 8 | ||||
-rw-r--r-- | lldb/include/lldb/Core/ModuleList.h | 2 | ||||
-rw-r--r-- | lldb/include/lldb/Core/Section.h | 8 | ||||
-rw-r--r-- | lldb/include/lldb/Symbol/Symbol.h | 12 | ||||
-rw-r--r-- | lldb/include/lldb/Symbol/Symtab.h | 26 | ||||
-rw-r--r-- | lldb/include/lldb/lldb-enumerations.h | 812 | ||||
-rw-r--r-- | lldb/include/lldb/lldb-private-enumerations.h | 67 | ||||
-rw-r--r-- | lldb/include/lldb/lldb-private.h | 2 | ||||
-rw-r--r-- | lldb/source/API/SBAddress.cpp | 29 | ||||
-rw-r--r-- | lldb/source/API/SBSymbol.cpp | 8 | ||||
-rw-r--r-- | lldb/source/Core/Module.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h | 4 |
15 files changed, 521 insertions, 472 deletions
diff --git a/lldb/include/lldb/API/SBAddress.h b/lldb/include/lldb/API/SBAddress.h index 269c3fac438..3b45a154e37 100644 --- a/lldb/include/lldb/API/SBAddress.h +++ b/lldb/include/lldb/API/SBAddress.h @@ -11,6 +11,7 @@ #define LLDB_SBAddress_h_ #include "lldb/API/SBDefines.h" +#include "lldb/API/SBModule.h" namespace lldb { @@ -47,6 +48,12 @@ public: bool GetDescription (lldb::SBStream &description); + SectionType + GetSectionType (); + + lldb::SBModule + GetModule (); + protected: friend class SBFrame; diff --git a/lldb/include/lldb/API/SBModule.h b/lldb/include/lldb/API/SBModule.h index cbc56eb27b1..712ea1b689b 100644 --- a/lldb/include/lldb/API/SBModule.h +++ b/lldb/include/lldb/API/SBModule.h @@ -66,9 +66,10 @@ public: GetSymbolAtIndex (size_t idx); private: + friend class SBAddress; + friend class SBFrame; friend class SBSymbolContext; friend class SBTarget; - friend class SBFrame; explicit SBModule (const lldb::ModuleSP& module_sp); diff --git a/lldb/include/lldb/API/SBSymbol.h b/lldb/include/lldb/API/SBSymbol.h index a56377e14f8..f24ebb5f368 100644 --- a/lldb/include/lldb/API/SBSymbol.h +++ b/lldb/include/lldb/API/SBSymbol.h @@ -54,6 +54,9 @@ public: uint32_t GetPrologueByteSize (); + SymbolType + GetType (); + #ifndef SWIG bool operator == (const lldb::SBSymbol &rhs) const; diff --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h index 9bcfe91d4e7..d4caf735f01 100644 --- a/lldb/include/lldb/Core/Module.h +++ b/lldb/include/lldb/Core/Module.h @@ -90,7 +90,7 @@ public: /// pointer if it has one in the shared module list. //------------------------------------------------------------------ lldb::ModuleSP - GetSP (); + GetSP () const; //------------------------------------------------------------------ /// @copydoc SymbolContextScope::CalculateSymbolContext(SymbolContext*) @@ -144,16 +144,16 @@ public: //------------------------------------------------------------------ const Symbol * FindFirstSymbolWithNameAndType (const ConstString &name, - SymbolType symbol_type = eSymbolTypeAny); + lldb::SymbolType symbol_type = lldb::eSymbolTypeAny); size_t FindSymbolsWithNameAndType (const ConstString &name, - SymbolType symbol_type, + lldb::SymbolType symbol_type, SymbolContextList &sc_list); size_t FindSymbolsMatchingRegExAndType (const RegularExpression ®ex, - SymbolType symbol_type, + lldb::SymbolType symbol_type, SymbolContextList &sc_list); //------------------------------------------------------------------ diff --git a/lldb/include/lldb/Core/ModuleList.h b/lldb/include/lldb/Core/ModuleList.h index 659fe793023..f6fdc697eba 100644 --- a/lldb/include/lldb/Core/ModuleList.h +++ b/lldb/include/lldb/Core/ModuleList.h @@ -288,7 +288,7 @@ public: size_t FindSymbolsWithNameAndType (const ConstString &name, - SymbolType symbol_type, + lldb::SymbolType symbol_type, SymbolContextList &sc_list); //------------------------------------------------------------------ diff --git a/lldb/include/lldb/Core/Section.h b/lldb/include/lldb/Core/Section.h index e2c6ce4cede..e15ef890da8 100644 --- a/lldb/include/lldb/Core/Section.h +++ b/lldb/include/lldb/Core/Section.h @@ -55,7 +55,7 @@ public: FindSectionByID (lldb::user_id_t sect_id) const; lldb::SectionSP - FindSectionByType (SectionType sect_type, bool check_children, uint32_t start_idx = 0) const; + FindSectionByType (lldb::SectionType sect_type, bool check_children, uint32_t start_idx = 0) const; lldb::SectionSP GetSharedPointer (const Section *section, bool check_children) const; @@ -105,7 +105,7 @@ public: Module* module, lldb::user_id_t sect_id, const ConstString &name, - SectionType sect_type, + lldb::SectionType sect_type, lldb::addr_t file_vm_addr, lldb::addr_t vm_size, uint64_t file_offset, @@ -268,7 +268,7 @@ public: lldb::addr_t GetLinkedFileAddress () const; - SectionType + lldb::SectionType GetType () const { return m_type; @@ -278,7 +278,7 @@ protected: Section * m_parent; // Parent section or NULL if no parent. ConstString m_name; // Name of this section - SectionType m_type; // The type of this section + lldb::SectionType m_type; // The type of this section lldb::addr_t m_file_addr; // The absolute file virtual address range of this section if m_parent == NULL, // offset from parent file virtual address if m_parent != NULL lldb::addr_t m_byte_size; // Size in bytes that this section will occupy in memory at runtime diff --git a/lldb/include/lldb/Symbol/Symbol.h b/lldb/include/lldb/Symbol/Symbol.h index 2fb7273a870..d8e187e7847 100644 --- a/lldb/include/lldb/Symbol/Symbol.h +++ b/lldb/include/lldb/Symbol/Symbol.h @@ -31,7 +31,7 @@ public: Symbol (lldb::user_id_t symID, const char *name, bool name_is_mangled, - SymbolType type, + lldb::SymbolType type, bool external, bool is_debug, bool is_trampoline, @@ -44,7 +44,7 @@ public: Symbol (lldb::user_id_t symID, const char *name, bool name_is_mangled, - SymbolType type, + lldb::SymbolType type, bool external, bool is_debug, bool is_trampoline, @@ -58,7 +58,7 @@ public: operator= (const Symbol& rhs); bool - Compare (const ConstString& name, SymbolType type) const; + Compare (const ConstString& name, lldb::SymbolType type) const; void Dump (Stream *s, Target *target, uint32_t index) const; @@ -96,11 +96,11 @@ public: lldb::addr_t GetByteSize () const { return m_addr_range.GetByteSize(); } - SymbolType + lldb::SymbolType GetType () const { return m_type; } void - SetType (SymbolType type) { m_type = type; } + SetType (lldb::SymbolType type) { m_type = type; } const char * GetTypeAsString () const; @@ -186,7 +186,7 @@ public: protected: Mangled m_mangled; // uniqued symbol name/mangled name pair - SymbolType m_type; // symbol type + lldb::SymbolType m_type; // symbol type uint16_t m_type_data; // data specific to m_type uint16_t m_type_data_resolved:1, // True if the data in m_type_data has already been calculated m_is_synthetic:1, // non-zero if this symbol is not actually in the symbol table, but synthesized from other info in the object file. diff --git a/lldb/include/lldb/Symbol/Symtab.h b/lldb/include/lldb/Symbol/Symtab.h index c2a1d743cdd..da929ccdf50 100644 --- a/lldb/include/lldb/Symbol/Symtab.h +++ b/lldb/include/lldb/Symbol/Symtab.h @@ -52,21 +52,21 @@ public: Symbol * FindSymbolByID (lldb::user_id_t uid) const; Symbol * SymbolAtIndex (uint32_t idx); const Symbol * SymbolAtIndex (uint32_t idx) const; - Symbol * FindSymbolWithType (SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, uint32_t &start_idx); -// const Symbol * FindSymbolWithType (SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, uint32_t &start_idx) const; - uint32_t AppendSymbolIndexesWithType (SymbolType symbol_type, std::vector<uint32_t>& indexes, uint32_t start_idx = 0, uint32_t end_index = UINT32_MAX) const; - uint32_t AppendSymbolIndexesWithTypeAndFlagsValue (SymbolType symbol_type, uint32_t flags_value, std::vector<uint32_t>& indexes, uint32_t start_idx = 0, uint32_t end_index = UINT32_MAX) const; - uint32_t AppendSymbolIndexesWithType (SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& matches, uint32_t start_idx = 0, uint32_t end_index = UINT32_MAX) const; + Symbol * FindSymbolWithType (lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, uint32_t &start_idx); +// const Symbol * FindSymbolWithType (lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, uint32_t &start_idx) const; + uint32_t AppendSymbolIndexesWithType (lldb::SymbolType symbol_type, std::vector<uint32_t>& indexes, uint32_t start_idx = 0, uint32_t end_index = UINT32_MAX) const; + uint32_t AppendSymbolIndexesWithTypeAndFlagsValue (lldb::SymbolType symbol_type, uint32_t flags_value, std::vector<uint32_t>& indexes, uint32_t start_idx = 0, uint32_t end_index = UINT32_MAX) const; + uint32_t AppendSymbolIndexesWithType (lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& matches, uint32_t start_idx = 0, uint32_t end_index = UINT32_MAX) const; uint32_t AppendSymbolIndexesWithName (const ConstString& symbol_name, std::vector<uint32_t>& matches); uint32_t AppendSymbolIndexesWithName (const ConstString& symbol_name, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& matches); - uint32_t AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, SymbolType symbol_type, std::vector<uint32_t>& matches); - uint32_t AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& matches); - uint32_t AppendSymbolIndexesMatchingRegExAndType (const RegularExpression ®ex, SymbolType symbol_type, std::vector<uint32_t>& indexes); - uint32_t AppendSymbolIndexesMatchingRegExAndType (const RegularExpression ®ex, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& indexes); - size_t FindAllSymbolsWithNameAndType (const ConstString &name, SymbolType symbol_type, std::vector<uint32_t>& symbol_indexes); - size_t FindAllSymbolsWithNameAndType (const ConstString &name, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& symbol_indexes); - size_t FindAllSymbolsMatchingRexExAndType (const RegularExpression ®ex, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& symbol_indexes); - Symbol * FindFirstSymbolWithNameAndType (const ConstString &name, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility); + uint32_t AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, lldb::SymbolType symbol_type, std::vector<uint32_t>& matches); + uint32_t AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& matches); + uint32_t AppendSymbolIndexesMatchingRegExAndType (const RegularExpression ®ex, lldb::SymbolType symbol_type, std::vector<uint32_t>& indexes); + uint32_t AppendSymbolIndexesMatchingRegExAndType (const RegularExpression ®ex, lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& indexes); + size_t FindAllSymbolsWithNameAndType (const ConstString &name, lldb::SymbolType symbol_type, std::vector<uint32_t>& symbol_indexes); + size_t FindAllSymbolsWithNameAndType (const ConstString &name, lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& symbol_indexes); + size_t FindAllSymbolsMatchingRexExAndType (const RegularExpression ®ex, lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& symbol_indexes); + Symbol * FindFirstSymbolWithNameAndType (const ConstString &name, lldb::SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility); Symbol * FindSymbolWithFileAddress (lldb::addr_t file_addr); // Symbol * FindSymbolContainingAddress (const Address& value, const uint32_t* indexes, uint32_t num_indexes); // Symbol * FindSymbolContainingAddress (const Address& value); diff --git a/lldb/include/lldb/lldb-enumerations.h b/lldb/include/lldb/lldb-enumerations.h index a283ae888d0..454893f1370 100644 --- a/lldb/include/lldb/lldb-enumerations.h +++ b/lldb/include/lldb/lldb-enumerations.h @@ -12,380 +12,446 @@ namespace lldb { -//---------------------------------------------------------------------- -// Process and Thread States -//---------------------------------------------------------------------- -typedef enum StateType -{ - eStateInvalid = 0, - eStateUnloaded, ///< Process is object is valid, but not currently loaded - eStateConnected, ///< Process is connected to remote debug services, but not launched or attached to anything yet - eStateAttaching, ///< Process is currently trying to attach - eStateLaunching, ///< Process is in the process of launching - eStateStopped, ///< Process or thread is stopped and can be examined. - eStateRunning, ///< Process or thread is running and can't be examined. - eStateStepping, ///< Process or thread is in the process of stepping and can not be examined. - eStateCrashed, ///< Process or thread has crashed and can be examined. - eStateDetached, ///< Process has been detached and can't be examined. - eStateExited, ///< Process has exited and can't be examined. - eStateSuspended ///< Process or thread is in a suspended state as far - ///< as the debugger is concerned while other processes - ///< or threads get the chance to run. -} StateType; - -//---------------------------------------------------------------------- -// Launch Flags -//---------------------------------------------------------------------- -typedef enum LaunchFlags -{ - eLaunchFlagNone = 0u, - eLaunchFlagDisableASLR = (1u << 0), ///< Disable Address Space Layout Randomization - eLaunchFlagDisableSTDIO = (1u << 1), ///< Disable stdio for inferior process (e.g. for a GUI app) - eLaunchFlagLaunchInTTY = (1u << 2) ///< Launch the process in a new TTY if supported by the host -} LaunchFlags; + //---------------------------------------------------------------------- + // Process and Thread States + //---------------------------------------------------------------------- + typedef enum StateType + { + eStateInvalid = 0, + eStateUnloaded, ///< Process is object is valid, but not currently loaded + eStateConnected, ///< Process is connected to remote debug services, but not launched or attached to anything yet + eStateAttaching, ///< Process is currently trying to attach + eStateLaunching, ///< Process is in the process of launching + eStateStopped, ///< Process or thread is stopped and can be examined. + eStateRunning, ///< Process or thread is running and can't be examined. + eStateStepping, ///< Process or thread is in the process of stepping and can not be examined. + eStateCrashed, ///< Process or thread has crashed and can be examined. + eStateDetached, ///< Process has been detached and can't be examined. + eStateExited, ///< Process has exited and can't be examined. + eStateSuspended ///< Process or thread is in a suspended state as far + ///< as the debugger is concerned while other processes + ///< or threads get the chance to run. + } StateType; + + //---------------------------------------------------------------------- + // Launch Flags + //---------------------------------------------------------------------- + typedef enum LaunchFlags + { + eLaunchFlagNone = 0u, + eLaunchFlagDisableASLR = (1u << 0), ///< Disable Address Space Layout Randomization + eLaunchFlagDisableSTDIO = (1u << 1), ///< Disable stdio for inferior process (e.g. for a GUI app) + eLaunchFlagLaunchInTTY = (1u << 2) ///< Launch the process in a new TTY if supported by the host + } LaunchFlags; + + //---------------------------------------------------------------------- + // Thread Run Modes + //---------------------------------------------------------------------- + typedef enum RunMode { + eOnlyThisThread, + eAllThreads, + eOnlyDuringStepping + } RunMode; + + //---------------------------------------------------------------------- + // Byte ordering definitions + //---------------------------------------------------------------------- + typedef enum ByteOrder + { + eByteOrderInvalid = 0, + eByteOrderBig = 1, + eByteOrderPDP = 2, + eByteOrderLittle = 4 + } ByteOrder; + + //---------------------------------------------------------------------- + // Register encoding definitions + //---------------------------------------------------------------------- + typedef enum Encoding + { + eEncodingInvalid = 0, + eEncodingUint, // unsigned integer + eEncodingSint, // signed integer + eEncodingIEEE754, // float + eEncodingVector // vector registers + } Encoding; + + //---------------------------------------------------------------------- + // Display format definitions + //---------------------------------------------------------------------- + typedef enum Format + { + eFormatDefault = 0, + eFormatInvalid = 0, + eFormatBoolean, + eFormatBinary, + eFormatBytes, + eFormatBytesWithASCII, + eFormatChar, + eFormatCharPrintable, // Only printable characters, space if not printable + eFormatComplex, // Floating point complex type + eFormatComplexFloat = eFormatComplex, + eFormatCString, // NULL terminated C strings + eFormatDecimal, + eFormatEnum, + eFormatHex, + eFormatFloat, + eFormatOctal, + eFormatOSType, // OS character codes encoded into an integer 'PICT' 'text' etc... + eFormatUnicode16, + eFormatUnicode32, + eFormatUnsigned, + eFormatPointer, + eFormatVectorOfChar, + eFormatVectorOfSInt8, + eFormatVectorOfUInt8, + eFormatVectorOfSInt16, + eFormatVectorOfUInt16, + eFormatVectorOfSInt32, + eFormatVectorOfUInt32, + eFormatVectorOfSInt64, + eFormatVectorOfUInt64, + eFormatVectorOfFloat32, + eFormatVectorOfFloat64, + eFormatVectorOfUInt128, + eFormatComplexInteger // Integer complex type + + } Format; + + //---------------------------------------------------------------------- + // Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls + //---------------------------------------------------------------------- + typedef enum DescriptionLevel + { + eDescriptionLevelBrief = 0, + eDescriptionLevelFull, + eDescriptionLevelVerbose, + kNumDescriptionLevels + } DescriptionLevel; + + //---------------------------------------------------------------------- + // Script interpreter types + //---------------------------------------------------------------------- + typedef enum ScriptLanguage + { + eScriptLanguageNone, + eScriptLanguagePython, + eScriptLanguageDefault = eScriptLanguagePython + } ScriptLanguage; + + //---------------------------------------------------------------------- + // Register numbering types + //---------------------------------------------------------------------- + typedef enum RegisterKind + { + eRegisterKindGCC = 0, // the register numbers seen in eh_frame + eRegisterKindDWARF, // the register numbers seen DWARF + eRegisterKindGeneric, // insn ptr reg, stack ptr reg, etc not specific to any particular target + eRegisterKindGDB, // the register numbers gdb uses (matches stabs numbers?) + eRegisterKindLLDB, // lldb's internal register numbers + kNumRegisterKinds + } RegisterKind; + + //---------------------------------------------------------------------- + // Thread stop reasons + //---------------------------------------------------------------------- + typedef enum StopReason + { + eStopReasonInvalid = 0, + eStopReasonNone, + eStopReasonTrace, + eStopReasonBreakpoint, + eStopReasonWatchpoint, + eStopReasonSignal, + eStopReasonException, + eStopReasonPlanComplete + } StopReason; + + //---------------------------------------------------------------------- + // Command Return Status Types + //---------------------------------------------------------------------- + typedef enum ReturnStatus + { + eReturnStatusInvalid, + eReturnStatusSuccessFinishNoResult, + eReturnStatusSuccessFinishResult, + eReturnStatusSuccessContinuingNoResult, + eReturnStatusSuccessContinuingResult, + eReturnStatusStarted, + eReturnStatusFailed, + eReturnStatusQuit + } ReturnStatus; + + + //---------------------------------------------------------------------- + // Connection Status Types + //---------------------------------------------------------------------- + typedef enum ConnectionStatus + { + eConnectionStatusSuccess, // Success + eConnectionStatusEndOfFile, // End-of-file encountered + eConnectionStatusError, // Check GetError() for details + eConnectionStatusTimedOut, // Request timed out + eConnectionStatusNoConnection, // No connection + eConnectionStatusLostConnection // Lost connection while connected to a valid connection + } ConnectionStatus; + + typedef enum ErrorType + { + eErrorTypeInvalid, + eErrorTypeGeneric, ///< Generic errors that can be any value. + eErrorTypeMachKernel, ///< Mach kernel error codes. + eErrorTypePOSIX ///< POSIX error codes. + } ErrorType; + + + typedef enum ValueType + { + eValueTypeInvalid = 0, + eValueTypeVariableGlobal = 1, // globals variable + eValueTypeVariableStatic = 2, // static variable + eValueTypeVariableArgument = 3, // function argument variables + eValueTypeVariableLocal = 4, // function local variables + eValueTypeRegister = 5, // stack frame register value + eValueTypeRegisterSet = 6, // A collection of stack frame register values + eValueTypeConstResult = 7 // constant result variables + } ValueType; + + //---------------------------------------------------------------------- + // Token size/granularities for Input Readers + //---------------------------------------------------------------------- + + typedef enum InputReaderGranularity + { + eInputReaderGranularityInvalid = 0, + eInputReaderGranularityByte, + eInputReaderGranularityWord, + eInputReaderGranularityLine, + eInputReaderGranularityAll + } InputReaderGranularity; + + //------------------------------------------------------------------ + /// These mask bits allow a common interface for queries that can + /// limit the amount of information that gets parsed to only the + /// information that is requested. These bits also can indicate what + /// actually did get resolved during query function calls. + /// + /// Each definition corresponds to a one of the member variables + /// in this class, and requests that that item be resolved, or + /// indicates that the member did get resolved. + //------------------------------------------------------------------ + typedef enum SymbolContextItem + { + eSymbolContextTarget = (1 << 0), ///< Set when \a target is requested from a query, or was located in query results + eSymbolContextModule = (1 << 1), ///< Set when \a module is requested from a query, or was located in query results + eSymbolContextCompUnit = (1 << 2), ///< Set when \a comp_unit is requested from a query, or was located in query results + eSymbolContextFunction = (1 << 3), ///< Set when \a function is requested from a query, or was located in query results + eSymbolContextBlock = (1 << 4), ///< Set when the deepest \a block is requested from a query, or was located in query results + eSymbolContextLineEntry = (1 << 5), ///< Set when \a line_entry is requested from a query, or was located in query results + eSymbolContextSymbol = (1 << 6), ///< Set when \a symbol is requested from a query, or was located in query results + eSymbolContextEverything = ((eSymbolContextSymbol << 1) - 1) ///< Indicates to try and lookup everything up during a query. + } SymbolContextItem; + + typedef enum Permissions + { + ePermissionsWritable = (1 << 0), + ePermissionsReadable = (1 << 1), + ePermissionsExecutable = (1 << 2) + } Permissions; + + typedef enum InputReaderAction + { + eInputReaderActivate, // reader is newly pushed onto the reader stack + eInputReaderReactivate, // reader is on top of the stack again after another reader was popped off + eInputReaderDeactivate, // another reader was pushed on the stack + eInputReaderGotToken, // reader got one of its tokens (granularity) + eInputReaderInterrupt, // reader received an interrupt signal (probably from a control-c) + eInputReaderEndOfFile, // reader received an EOF char (probably from a control-d) + eInputReaderDone // reader was just popped off the stack and is done + } InputReaderAction; + + typedef enum BreakpointEventType + { + eBreakpointEventTypeInvalidType = (1u << 0), + eBreakpointEventTypeAdded = (1u << 1), + eBreakpointEventTypeRemoved = (1u << 2), + eBreakpointEventTypeLocationsAdded = (1u << 3), + eBreakpointEventTypeLocationsRemoved = (1u << 4), + eBreakpointEventTypeLocationsResolved = (1u << 5) + } BreakpointEventType; + + + //---------------------------------------------------------------------- + /// Programming language type. + /// + /// These enumerations use the same language enumerations as the DWARF + /// specification for ease of use and consistency. + //---------------------------------------------------------------------- + typedef enum LanguageType + { + eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value. + eLanguageTypeC89 = 0x0001, ///< ISO C:1989. + eLanguageTypeC = 0x0002, ///< Non-standardized C, such as K&R. + eLanguageTypeAda83 = 0x0003, ///< ISO Ada:1983. + eLanguageTypeC_plus_plus = 0x0004, ///< ISO C++:1998. + eLanguageTypeCobol74 = 0x0005, ///< ISO Cobol:1974. + eLanguageTypeCobol85 = 0x0006, ///< ISO Cobol:1985. + eLanguageTypeFortran77 = 0x0007, ///< ISO Fortran 77. + eLanguageTypeFortran90 = 0x0008, ///< ISO Fortran 90. + eLanguageTypePascal83 = 0x0009, ///< ISO Pascal:1983. + eLanguageTypeModula2 = 0x000a, ///< ISO Modula-2:1996. + eLanguageTypeJava = 0x000b, ///< Java. + eLanguageTypeC99 = 0x000c, ///< ISO C:1999. + eLanguageTypeAda95 = 0x000d, ///< ISO Ada:1995. + eLanguageTypeFortran95 = 0x000e, ///< ISO Fortran 95. + eLanguageTypePLI = 0x000f, ///< ANSI PL/I:1976. + eLanguageTypeObjC = 0x0010, ///< Objective-C. + eLanguageTypeObjC_plus_plus = 0x0011, ///< Objective-C++. + eLanguageTypeUPC = 0x0012, ///< Unified Parallel C. + eLanguageTypeD = 0x0013, ///< D. + eLanguageTypePython = 0x0014 ///< Python. + } LanguageType; + + + typedef enum AccessType + { + eAccessNone, + eAccessPublic, + eAccessPrivate, + eAccessProtected, + eAccessPackage + } AccessType; + + typedef enum CommandArgumentType + { + eArgTypeAddress = 0, + eArgTypeAliasName, + eArgTypeAliasOptions, + eArgTypeArchitecture, + eArgTypeBoolean, + eArgTypeBreakpointID, + eArgTypeBreakpointIDRange, + eArgTypeByteSize, + eArgTypeClassName, + eArgTypeCommandName, + eArgTypeCount, + eArgTypeEndAddress, + eArgTypeExpression, + eArgTypeExprFormat, + eArgTypeFilename, + eArgTypeFormat, + eArgTypeFrameIndex, + eArgTypeFullName, + eArgTypeFunctionName, + eArgTypeIndex, + eArgTypeLineNum, + eArgTypeLogCategory, + eArgTypeLogChannel, + eArgTypeMethod, + eArgTypeName, + eArgTypeNewPathPrefix, + eArgTypeNumLines, + eArgTypeNumberPerLine, + eArgTypeOffset, + eArgTypeOldPathPrefix, + eArgTypeOneLiner, + eArgTypePath, + eArgTypePid, + eArgTypePlugin, + eArgTypeProcessName, + eArgTypeQueueName, + eArgTypeRegisterName, + eArgTypeRegularExpression, + eArgTypeRunArgs, + eArgTypeRunMode, + eArgTypeScriptLang, + eArgTypeSearchWord, + eArgTypeSelector, + eArgTypeSettingIndex, + eArgTypeSettingKey, + eArgTypeSettingPrefix, + eArgTypeSettingVariableName, + eArgTypeShlibName, + eArgTypeSourceFile, + eArgTypeSortOrder, + eArgTypeStartAddress, + eArgTypeSymbol, + eArgTypeThreadID, + eArgTypeThreadIndex, + eArgTypeThreadName, + eArgTypeUnixSignal, + eArgTypeVarName, + eArgTypeValue, + eArgTypeWidth, + eArgTypeNone, + eArgTypeLastArg // Always keep this entry as the last entry in this enumeration!! + } CommandArgumentType; + + //---------------------------------------------------------------------- + // Symbol types + //---------------------------------------------------------------------- + typedef enum SymbolType + { + eSymbolTypeAny = 0, + eSymbolTypeInvalid = 0, + eSymbolTypeAbsolute, + eSymbolTypeExtern, + eSymbolTypeCode, + eSymbolTypeData, + eSymbolTypeTrampoline, + eSymbolTypeRuntime, + eSymbolTypeException, + eSymbolTypeSourceFile, + eSymbolTypeHeaderFile, + eSymbolTypeObjectFile, + eSymbolTypeCommonBlock, + eSymbolTypeBlock, + eSymbolTypeLocal, + eSymbolTypeParam, + eSymbolTypeVariable, + eSymbolTypeVariableType, + eSymbolTypeLineEntry, + eSymbolTypeLineHeader, + eSymbolTypeScopeBegin, + eSymbolTypeScopeEnd, + eSymbolTypeAdditional, // When symbols take more than one entry, the extra entries get this type + eSymbolTypeCompiler, + eSymbolTypeInstrumentation, + eSymbolTypeUndefined + } SymbolType; -//---------------------------------------------------------------------- -// Thread Run Modes -//---------------------------------------------------------------------- -typedef enum RunMode { - eOnlyThisThread, - eAllThreads, - eOnlyDuringStepping -} RunMode; - -//---------------------------------------------------------------------- -// Byte ordering definitions -//---------------------------------------------------------------------- -typedef enum ByteOrder -{ - eByteOrderInvalid = 0, - eByteOrderBig = 1, - eByteOrderPDP = 2, - eByteOrderLittle = 4 -} ByteOrder; - -//---------------------------------------------------------------------- -// Register encoding definitions -//---------------------------------------------------------------------- -typedef enum Encoding -{ - eEncodingInvalid = 0, - eEncodingUint, // unsigned integer - eEncodingSint, // signed integer - eEncodingIEEE754, // float - eEncodingVector // vector registers -} Encoding; - -//---------------------------------------------------------------------- -// Display format definitions -//---------------------------------------------------------------------- -typedef enum Format -{ - eFormatDefault = 0, - eFormatInvalid = 0, - eFormatBoolean, - eFormatBinary, - eFormatBytes, - eFormatBytesWithASCII, - eFormatChar, - eFormatCharPrintable, // Only printable characters, space if not printable - eFormatComplex, // Floating point complex type - eFormatComplexFloat = eFormatComplex, - eFormatCString, // NULL terminated C strings - eFormatDecimal, - eFormatEnum, - eFormatHex, - eFormatFloat, - eFormatOctal, - eFormatOSType, // OS character codes encoded into an integer 'PICT' 'text' etc... - eFormatUnicode16, - eFormatUnicode32, - eFormatUnsigned, - eFormatPointer, - eFormatVectorOfChar, - eFormatVectorOfSInt8, - eFormatVectorOfUInt8, - eFormatVectorOfSInt16, - eFormatVectorOfUInt16, - eFormatVectorOfSInt32, - eFormatVectorOfUInt32, - eFormatVectorOfSInt64, - eFormatVectorOfUInt64, - eFormatVectorOfFloat32, - eFormatVectorOfFloat64, - eFormatVectorOfUInt128, - eFormatComplexInteger // Integer complex type - -} Format; - -//---------------------------------------------------------------------- -// Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls -//---------------------------------------------------------------------- -typedef enum DescriptionLevel -{ - eDescriptionLevelBrief = 0, - eDescriptionLevelFull, - eDescriptionLevelVerbose, - kNumDescriptionLevels -} DescriptionLevel; - -//---------------------------------------------------------------------- -// Script interpreter types -//---------------------------------------------------------------------- -typedef enum ScriptLanguage -{ - eScriptLanguageNone, - eScriptLanguagePython, - eScriptLanguageDefault = eScriptLanguagePython -} ScriptLanguage; - -//---------------------------------------------------------------------- -// Register numbering types -//---------------------------------------------------------------------- -typedef enum RegisterKind -{ - eRegisterKindGCC = 0, // the register numbers seen in eh_frame - eRegisterKindDWARF, // the register numbers seen DWARF - eRegisterKindGeneric, // insn ptr reg, stack ptr reg, etc not specific to any particular target - eRegisterKindGDB, // the register numbers gdb uses (matches stabs numbers?) - eRegisterKindLLDB, // lldb's internal register numbers - kNumRegisterKinds -} RegisterKind; - -//---------------------------------------------------------------------- -// Thread stop reasons -//---------------------------------------------------------------------- -typedef enum StopReason -{ - eStopReasonInvalid = 0, - eStopReasonNone, - eStopReasonTrace, - eStopReasonBreakpoint, - eStopReasonWatchpoint, - eStopReasonSignal, - eStopReasonException, - eStopReasonPlanComplete -} StopReason; - -//---------------------------------------------------------------------- -// Command Return Status Types -//---------------------------------------------------------------------- -typedef enum ReturnStatus -{ - eReturnStatusInvalid, - eReturnStatusSuccessFinishNoResult, - eReturnStatusSuccessFinishResult, - eReturnStatusSuccessContinuingNoResult, - eReturnStatusSuccessContinuingResult, - eReturnStatusStarted, - eReturnStatusFailed, - eReturnStatusQuit -} ReturnStatus; - - -//---------------------------------------------------------------------- -// Connection Status Types -//---------------------------------------------------------------------- -typedef enum ConnectionStatus -{ - eConnectionStatusSuccess, // Success - eConnectionStatusEndOfFile, // End-of-file encountered - eConnectionStatusError, // Check GetError() for details - eConnectionStatusTimedOut, // Request timed out - eConnectionStatusNoConnection, // No connection - eConnectionStatusLostConnection // Lost connection while connected to a valid connection -} ConnectionStatus; - -typedef enum ErrorType -{ - eErrorTypeInvalid, - eErrorTypeGeneric, ///< Generic errors that can be any value. - eErrorTypeMachKernel, ///< Mach kernel error codes. - eErrorTypePOSIX ///< POSIX error codes. -} ErrorType; - - -typedef enum ValueType -{ - eValueTypeInvalid = 0, - eValueTypeVariableGlobal = 1, // globals variable - eValueTypeVariableStatic = 2, // static variable - eValueTypeVariableArgument = 3, // function argument variables - eValueTypeVariableLocal = 4, // function local variables - eValueTypeRegister = 5, // stack frame register value - eValueTypeRegisterSet = 6, // A collection of stack frame register values - eValueTypeConstResult = 7 // constant result variables -} ValueType; - -//---------------------------------------------------------------------- -// Token size/granularities for Input Readers -//---------------------------------------------------------------------- - -typedef enum InputReaderGranularity -{ - eInputReaderGranularityInvalid = 0, - eInputReaderGranularityByte, - eInputReaderGranularityWord, - eInputReaderGranularityLine, - eInputReaderGranularityAll -} InputReaderGranularity; - -//------------------------------------------------------------------ -/// These mask bits allow a common interface for queries that can -/// limit the amount of information that gets parsed to only the -/// information that is requested. These bits also can indicate what -/// actually did get resolved during query function calls. -/// -/// Each definition corresponds to a one of the member variables -/// in this class, and requests that that item be resolved, or -/// indicates that the member did get resolved. -//------------------------------------------------------------------ -typedef enum SymbolContextItem -{ - eSymbolContextTarget = (1 << 0), ///< Set when \a target is requested from a query, or was located in query results - eSymbolContextModule = (1 << 1), ///< Set when \a module is requested from a query, or was located in query results - eSymbolContextCompUnit = (1 << 2), ///< Set when \a comp_unit is requested from a query, or was located in query results - eSymbolContextFunction = (1 << 3), ///< Set when \a function is requested from a query, or was located in query results - eSymbolContextBlock = (1 << 4), ///< Set when the deepest \a block is requested from a query, or was located in query results - eSymbolContextLineEntry = (1 << 5), ///< Set when \a line_entry is requested from a query, or was located in query results - eSymbolContextSymbol = (1 << 6), ///< Set when \a symbol is requested from a query, or was located in query results - eSymbolContextEverything = ((eSymbolContextSymbol << 1) - 1) ///< Indicates to try and lookup everything up during a query. -} SymbolContextItem; - -typedef enum Permissions -{ - ePermissionsWritable = (1 << 0), - ePermissionsReadable = (1 << 1), - ePermissionsExecutable = (1 << 2) -} Permissions; - -typedef enum InputReaderAction -{ - eInputReaderActivate, // reader is newly pushed onto the reader stack - eInputReaderReactivate, // reader is on top of the stack again after another reader was popped off - eInputReaderDeactivate, // another reader was pushed on the stack - eInputReaderGotToken, // reader got one of its tokens (granularity) - eInputReaderInterrupt, // reader received an interrupt signal (probably from a control-c) - eInputReaderEndOfFile, // reader received an EOF char (probably from a control-d) - eInputReaderDone // reader was just popped off the stack and is done -} InputReaderAction; - -typedef enum BreakpointEventType -{ - eBreakpointEventTypeInvalidType = (1u << 0), - eBreakpointEventTypeAdded = (1u << 1), - eBreakpointEventTypeRemoved = (1u << 2), - eBreakpointEventTypeLocationsAdded = (1u << 3), - eBreakpointEventTypeLocationsRemoved = (1u << 4), - eBreakpointEventTypeLocationsResolved = (1u << 5) -} BreakpointEventType; - - -//---------------------------------------------------------------------- -/// Programming language type. -/// -/// These enumerations use the same language enumerations as the DWARF -/// specification for ease of use and consistency. -//---------------------------------------------------------------------- -typedef enum LanguageType -{ - eLanguageTypeUnknown = 0x0000, ///< Unknown or invalid language value. - eLanguageTypeC89 = 0x0001, ///< ISO C:1989. - eLanguageTypeC = 0x0002, ///< Non-standardized C, such as K&R. - eLanguageTypeAda83 = 0x0003, ///< ISO Ada:1983. - eLanguageTypeC_plus_plus = 0x0004, ///< ISO C++:1998. - eLanguageTypeCobol74 = 0x0005, ///< ISO Cobol:1974. - eLanguageTypeCobol85 = 0x0006, ///< ISO Cobol:1985. - eLanguageTypeFortran77 = 0x0007, ///< ISO Fortran 77. - eLanguageTypeFortran90 = 0x0008, ///< ISO Fortran 90. - eLanguageTypePascal83 = 0x0009, ///< ISO Pascal:1983. - eLanguageTypeModula2 = 0x000a, ///< ISO Modula-2:1996. - eLanguageTypeJava = 0x000b, ///< Java. - eLanguageTypeC99 = 0x000c, ///< ISO C:1999. - eLanguageTypeAda95 = 0x000d, ///< ISO Ada:1995. - eLanguageTypeFortran95 = 0x000e, ///< ISO Fortran 95. - eLanguageTypePLI = 0x000f, ///< ANSI PL/I:1976. - eLanguageTypeObjC = 0x0010, ///< Objective-C. - eLanguageTypeObjC_plus_plus = 0x0011, ///< Objective-C++. - eLanguageTypeUPC = 0x0012, ///< Unified Parallel C. - eLanguageTypeD = 0x0013, ///< D. - eLanguageTypePython = 0x0014 ///< Python. -} LanguageType; - - -typedef enum AccessType -{ - eAccessNone, - eAccessPublic, - eAccessPrivate, - eAccessProtected, - eAccessPackage -} AccessType; - -typedef enum CommandArgumentType -{ - eArgTypeAddress = 0, - eArgTypeAliasName, - eArgTypeAliasOptions, - eArgTypeArchitecture, - eArgTypeBoolean, - eArgTypeBreakpointID, - eArgTypeBreakpointIDRange, - eArgTypeByteSize, - eArgTypeClassName, - eArgTypeCommandName, - eArgTypeCount, - eArgTypeEndAddress, - eArgTypeExpression, - eArgTypeExprFormat, - eArgTypeFilename, - eArgTypeFormat, - eArgTypeFrameIndex, - eArgTypeFullName, - eArgTypeFunctionName, - eArgTypeIndex, - eArgTypeLineNum, - eArgTypeLogCategory, - eArgTypeLogChannel, - eArgTypeMethod, - eArgTypeName, - eArgTypeNewPathPrefix, - eArgTypeNumLines, - eArgTypeNumberPerLine, - eArgTypeOffset, - eArgTypeOldPathPrefix, - eArgTypeOneLiner, - eArgTypePath, - eArgTypePid, - eArgTypePlugin, - eArgTypeProcessName, - eArgTypeQueueName, - eArgTypeRegisterName, - eArgTypeRegularExpression, - eArgTypeRunArgs, - eArgTypeRunMode, - eArgTypeScriptLang, - eArgTypeSearchWord, - eArgTypeSelector, - eArgTypeSettingIndex, - eArgTypeSettingKey, - eArgTypeSettingPrefix, - eArgTypeSettingVariableName, - eArgTypeShlibName, - eArgTypeSourceFile, - eArgTypeSortOrder, - eArgTypeStartAddress, - eArgTypeSymbol, - eArgTypeThreadID, - eArgTypeThreadIndex, - eArgTypeThreadName, - eArgTypeUnixSignal, - eArgTypeVarName, - eArgTypeValue, - eArgTypeWidth, - eArgTypeNone, - eArgTypeLastArg // Always keep this entry as the last entry in this enumeration!! -} CommandArgumentType; + typedef enum SectionType + { + eSectionTypeInvalid, + eSectionTypeCode, + eSectionTypeContainer, // The section contains child sections + eSectionTypeData, + eSectionTypeDataCString, // Inlined C string data + eSectionTypeDataCStringPointers, // Pointers to C string data + eSectionTypeDataSymbolAddress, // Address of a symbol in the symbol table + eSectionTypeData4, + eSectionTypeData8, + eSectionTypeData16, + eSectionTypeDataPointers, + eSectionTypeDebug, + eSectionTypeZeroFill, + eSectionTypeDataObjCMessageRefs, // Pointer to function pointer + selector + eSectionTypeDataObjCCFStrings, // Objective C const CFString/NSString objects + eSectionTypeDWARFDebugAbbrev, + eSectionTypeDWARFDebugAranges, + eSectionTypeDWARFDebugFrame, + eSectionTypeDWARFDebugInfo, + eSectionTypeDWARFDebugLine, + eSectionTypeDWARFDebugLoc, + eSectionTypeDWARFDebugMacInfo, + eSectionTypeDWARFDebugPubNames, + eSectionTypeDWARFDebugPubTypes, + eSectionTypeDWARFDebugRanges, + eSectionTypeDWARFDebugStr, + eSectionTypeEHFrame, + eSectionTypeOther + + } SectionType; } // namespace lldb diff --git a/lldb/include/lldb/lldb-private-enumerations.h b/lldb/include/lldb/lldb-private-enumerations.h index c4b4d15254a..ba22e71ec4e 100644 --- a/lldb/include/lldb/lldb-private-enumerations.h +++ b/lldb/include/lldb/lldb-private-enumerations.h @@ -67,73 +67,6 @@ typedef enum Vote eVoteYes = 1 } Vote; -//---------------------------------------------------------------------- -// Symbol types -//---------------------------------------------------------------------- -typedef enum SymbolType -{ - eSymbolTypeAny = 0, - eSymbolTypeInvalid = 0, - eSymbolTypeAbsolute, - eSymbolTypeExtern, - eSymbolTypeCode, - eSymbolTypeData, - eSymbolTypeTrampoline, - eSymbolTypeRuntime, - eSymbolTypeException, - eSymbolTypeSourceFile, - eSymbolTypeHeaderFile, - eSymbolTypeObjectFile, - eSymbolTypeCommonBlock, - eSymbolTypeBlock, - eSymbolTypeLocal, - eSymbolTypeParam, - eSymbolTypeVariable, - eSymbolTypeVariableType, - eSymbolTypeLineEntry, - eSymbolTypeLineHeader, - eSymbolTypeScopeBegin, - eSymbolTypeScopeEnd, - eSymbolTypeAdditional, // When symbols take more than one entry, the extra entries get this type - eSymbolTypeCompiler, - eSymbolTypeInstrumentation, - eSymbolTypeUndefined -} SymbolType; - -typedef enum SectionType -{ - eSectionTypeInvalid, - eSectionTypeCode, - eSectionTypeContainer, // The section contains child sections - eSectionTypeData, - eSectionTypeDataCString, // Inlined C string data - eSectionTypeDataCStringPointers, // Pointers to C string data - eSectionTypeDataSymbolAddress, // Address of a symbol in the symbol table - eSectionTypeData4, - eSectionTypeData8, - eSectionTypeData16, - eSectionTypeDataPointers, - eSectionTypeDebug, - eSectionTypeZeroFill, - eSectionTypeDataObjCMessageRefs, // Pointer to function pointer + selector - eSectionTypeDataObjCCFStrings, // Objective C const CFString/NSString objects - eSectionTypeDWARFDebugAbbrev, - eSectionTypeDWARFDebugAranges, - eSectionTypeDWARFDebugFrame, - eSectionTypeDWARFDebugInfo, - eSectionTypeDWARFDebugLine, - eSectionTypeDWARFDebugLoc, - eSectionTypeDWARFDebugMacInfo, - eSectionTypeDWARFDebugPubNames, - eSectionTypeDWARFDebugPubTypes, - eSectionTypeDWARFDebugRanges, - eSectionTypeDWARFDebugStr, - eSectionTypeEHFrame, - eSectionTypeOther - -} SectionType; - - typedef enum ArchitectureType { eArchTypeInvalid, diff --git a/lldb/include/lldb/lldb-private.h b/lldb/include/lldb/lldb-private.h index 6a3ec9f838e..90590601d94 100644 --- a/lldb/include/lldb/lldb-private.h +++ b/lldb/include/lldb/lldb-private.h @@ -70,7 +70,7 @@ const char * GetVoteAsCString (Vote vote); const char * -GetSectionTypeAsCString (SectionType sect_type); +GetSectionTypeAsCString (lldb::SectionType sect_type); bool NameMatches (const char *name, NameMatchType match_type, const char *match); diff --git a/lldb/source/API/SBAddress.cpp b/lldb/source/API/SBAddress.cpp index 61ad71b633c..6c357f9ef53 100644 --- a/lldb/source/API/SBAddress.cpp +++ b/lldb/source/API/SBAddress.cpp @@ -12,6 +12,7 @@ #include "lldb/API/SBStream.h" #include "lldb/Core/Address.h" #include "lldb/Core/Log.h" +#include "lldb/Core/Module.h" #include "lldb/Host/Mutex.h" #include "lldb/Target/Target.h" @@ -170,3 +171,31 @@ SBAddress::GetDescription (SBStream &description) return true; } + +SectionType +SBAddress::GetSectionType () +{ + if (m_opaque_ap.get()) + { + const Section *section = m_opaque_ap->GetSection(); + if (section) + return section->GetType(); + } + return eSectionTypeInvalid; +} + + +SBModule +SBAddress::GetModule () +{ + SBModule sb_module; + if (m_opaque_ap.get()) + { + const Module *module = m_opaque_ap->GetModule(); + if (module) + *sb_module = module->GetSP(); + } + return sb_module; +} + + diff --git a/lldb/source/API/SBSymbol.cpp b/lldb/source/API/SBSymbol.cpp index ef8af558c5d..ce232bf3f6a 100644 --- a/lldb/source/API/SBSymbol.cpp +++ b/lldb/source/API/SBSymbol.cpp @@ -198,3 +198,11 @@ SBSymbol::GetPrologueByteSize () return m_opaque_ptr->GetPrologueByteSize(); return 0; } + +SymbolType +SBSymbol::GetType () +{ + if (m_opaque_ptr) + return m_opaque_ptr->GetType(); + return eSymbolTypeInvalid; +} diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index 708ff7172ba..7ceff588d16 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -74,7 +74,7 @@ Module::~Module() ModuleSP -Module::GetSP () +Module::GetSP () const { return ModuleList::GetModuleSP (this); } diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h index 991d92907f4..735fb54f07e 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h @@ -168,7 +168,9 @@ public: const DWARFDebugRanges* DebugRanges() const; const lldb_private::DataExtractor& - GetCachedSectionData (uint32_t got_flag, lldb_private::SectionType sect_type, lldb_private::DataExtractor &data); + GetCachedSectionData (uint32_t got_flag, + lldb::SectionType sect_type, + lldb_private::DataExtractor &data); static bool SupportedVersion(uint16_t version); |