mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
GP-2830 Parsing pspec symbols
This commit is contained in:
parent
3cf13c2533
commit
8f2450e625
13 changed files with 274 additions and 82 deletions
|
@ -61,6 +61,7 @@ public:
|
|||
|
||||
class Architecture;
|
||||
|
||||
extern AttributeId ATTRIB_ADDRESS; ///< Marshaling attribute "address"
|
||||
extern AttributeId ATTRIB_ADJUSTVMA; ///< Marshaling attribute "adjustvma"
|
||||
extern AttributeId ATTRIB_ENABLE; ///< Marshaling attribute "enable"
|
||||
extern AttributeId ATTRIB_GROUP; ///< Marshaling attribute "group"
|
||||
|
@ -273,13 +274,48 @@ protected:
|
|||
/// \return the PcodeInjectLibrary object
|
||||
virtual PcodeInjectLibrary *buildPcodeInjectLibrary(void)=0;
|
||||
|
||||
virtual void buildTypegrp(DocumentStorage &store); ///< Build the data-type factory/container
|
||||
virtual void buildCommentDB(DocumentStorage &store); ///< Build the comment database
|
||||
virtual void buildStringManager(DocumentStorage &store); ///< Build the string manager
|
||||
virtual void buildConstantPool(DocumentStorage &store); ///< Build the constant pool
|
||||
/// \brief Build the data-type factory/container
|
||||
///
|
||||
/// Build the TypeFactory object specific to \b this Architecture and
|
||||
/// prepopulate it with the \e core types. Core types may be pulled
|
||||
/// from the configuration information, or default core types are used.
|
||||
/// \param store contains possible configuration information
|
||||
virtual void buildTypegrp(DocumentStorage &store)=0;
|
||||
|
||||
/// \brief Build the comment database
|
||||
///
|
||||
/// Build the container that holds comments in \b this Architecture.
|
||||
/// \param store may hold configuration information
|
||||
virtual void buildCommentDB(DocumentStorage &store)=0;
|
||||
|
||||
/// \brief Build the string manager
|
||||
///
|
||||
/// Build container that holds decoded strings for \b this Architecture.
|
||||
/// \param store may hold configuration information
|
||||
virtual void buildStringManager(DocumentStorage &store)=0;
|
||||
|
||||
/// \brief Build the constant pool
|
||||
///
|
||||
/// Some processor models (Java byte-code) need a database of constants.
|
||||
/// The database is always built, but may remain empty.
|
||||
/// \param store may hold configuration information
|
||||
virtual void buildConstantPool(DocumentStorage &store)=0;
|
||||
|
||||
virtual void buildInstructions(DocumentStorage &store); ///< Register the p-code operations
|
||||
virtual void buildAction(DocumentStorage &store); ///< Build the Action framework
|
||||
virtual void buildContext(DocumentStorage &store); ///< Build the Context database
|
||||
|
||||
/// \brief Build the Context database
|
||||
///
|
||||
/// Build the database which holds status register settings and other
|
||||
/// information that can affect disassembly depending on context.
|
||||
/// \param store may hold configuration information
|
||||
virtual void buildContext(DocumentStorage &store)=0;
|
||||
|
||||
/// \brief Build any symbols from spec files
|
||||
///
|
||||
/// Formal symbols described in a spec file are added to the global scope.
|
||||
/// \param store may hold symbol elements
|
||||
virtual void buildSymbols(DocumentStorage &store)=0;
|
||||
|
||||
/// \brief Load any relevant specification files
|
||||
///
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue