Package ghidra.app.util.bin.format.elf
Class GnuBuildIdSection
java.lang.Object
ghidra.program.model.data.AbstractDataType
ghidra.program.model.data.DataTypeImpl
ghidra.program.model.data.BuiltIn
ghidra.program.model.data.FactoryStructureDataType
ghidra.app.util.bin.format.elf.GnuBuildIdSection
- All Implemented Interfaces:
BuiltInDataType
,DataType
,FactoryDataType
,ExtensionPoint
Factory data type that marks up a Gnu Build-Id record from a
ELF .note.gnu.build-id section
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from class ghidra.program.model.data.DataTypeImpl
defaultSettings
Fields inherited from class ghidra.program.model.data.AbstractDataType
categoryPath, dataMgr, name
Fields inherited from interface ghidra.program.model.data.DataType
CONFLICT_SUFFIX, DEFAULT, NO_LAST_CHANGE_TIME, NO_SOURCE_SYNC_TIME, TYPEDEF_ATTRIBUTE_PREFIX, TYPEDEF_ATTRIBUTE_SUFFIX, VOID
-
Constructor Summary
ConstructorsConstructorDescriptionGnuBuildIdSection
(DataTypeManager dtm, long sectionSize) Creates a new GnuBuildIdDataType instance. -
Method Summary
Modifier and TypeMethodDescriptionclone
(DataTypeManager dtm) Returns an instance of this DataType using the specifiedDataTypeManager
to allow its use of the correspondingDataOrganization
while retaining its unique identity (seeDataType.getUniversalID()
and archive association (seeDataType.getSourceArchive()
) if applicable.fromProgram
(Program program) protected void
populateDynamicStructure
(MemBuffer buf, Structure es) protected Structure
setCategoryPath
(Structure struct, MemBuffer buf) Set the category of this data type.Methods inherited from class ghidra.program.model.data.FactoryStructureDataType
addComponent, getDataType, getDescription, getLength, getRepresentation, getValue
Methods inherited from class ghidra.program.model.data.BuiltIn
addParent, copy, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, getBuiltInSettingsDefinitions, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getCTypeDeclaration, getDecompilerDisplayName, getLastChangeTime, getSettingsDefinitions, getUniversalID, isEquivalent, removeParent, setCategoryPath, setDefaultSettings, setName, setNameAndCategory
Methods inherited from class ghidra.program.model.data.DataTypeImpl
equals, getAlignment, getDefaultSettings, getLastChangeTimeInSourceArchive, getParents, getPathName, getSourceArchive, getValueClass, hashCode, notifyAlignmentChanged, notifyDeleted, notifyNameChanged, notifyParents, notifyReplaced, notifySizeChanged, replaceWith, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setSourceArchive
Methods inherited from class ghidra.program.model.data.AbstractDataType
dataTypeAlignmentChanged, encodeRepresentation, encodeValue, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDisplayName, getDocs, getMnemonic, getName, getTypeDefSettingsDefinitions, hasLanguageDependantLength, isDeleted, isEncodable, isNotYetDefined, isZeroLength, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ghidra.program.model.data.BuiltInDataType
getCTypeDeclaration, setDefaultSettings
Methods inherited from interface ghidra.program.model.data.DataType
addParent, copy, dataTypeAlignmentChanged, dataTypeDeleted, dataTypeNameChanged, dataTypeReplaced, dataTypeSizeChanged, dependsOn, encodeRepresentation, encodeValue, getAlignment, getCategoryPath, getDataOrganization, getDataTypeManager, getDataTypePath, getDefaultAbbreviatedLabelPrefix, getDefaultLabelPrefix, getDefaultLabelPrefix, getDefaultOffcutLabelPrefix, getDefaultSettings, getDisplayName, getDocs, getLastChangeTime, getLastChangeTimeInSourceArchive, getMnemonic, getName, getParents, getPathName, getSettingsDefinitions, getSourceArchive, getTypeDefSettingsDefinitions, getUniversalID, getValueClass, hasLanguageDependantLength, isDeleted, isEncodable, isEquivalent, isNotYetDefined, isZeroLength, removeParent, replaceWith, setCategoryPath, setDescription, setLastChangeTime, setLastChangeTimeInSourceArchive, setName, setNameAndCategory, setSourceArchive
-
Field Details
-
BUILD_ID_SECTION_NAME
- See Also:
-
-
Constructor Details
-
GnuBuildIdSection
Creates a new GnuBuildIdDataType instance.- Parameters:
dtm
- theDataTypeManager
for the programsectionSize
- the size of the section (for bounds checking, assumes this is the only record in the section)
-
-
Method Details
-
fromProgram
-
clone
Description copied from interface:DataType
Returns an instance of this DataType using the specifiedDataTypeManager
to allow its use of the correspondingDataOrganization
while retaining its unique identity (seeDataType.getUniversalID()
and archive association (seeDataType.getSourceArchive()
) if applicable.This instance will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose
DataTypeManager
matches the specified dtm and simply use the existing datatype instance.NOTE: In general, this method should not be used to obtain an instance to be modified. In most cases changes shuold be made directly to this instance if supported or to a
DataType.copy(DataTypeManager)
.- Specified by:
clone
in interfaceDataType
- Specified by:
clone
in classFactoryStructureDataType
- Parameters:
dtm
- the data-type manager instance whose data-organization should apply.- Returns:
- cloned instance which may be the same as this instance
-
populateDynamicStructure
- Specified by:
populateDynamicStructure
in classFactoryStructureDataType
-
setCategoryPath
Description copied from class:FactoryStructureDataType
Set the category of this data type.- Overrides:
setCategoryPath
in classFactoryStructureDataType
- Returns:
- Returns a new structure with the correct category.
-