Class ElfSymbolTable

    • Constructor Detail

      • ElfSymbolTable

        public ElfSymbolTable()
        DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
    • Method Detail

      • isDynamic

        public boolean isDynamic()
        Returns true if this is the dynamic symbol table
        Returns:
        true if this is the dynamic symbol table
      • getStringTable

        public ElfStringTable getStringTable()
        Returns the associated string table section.
        Returns:
        the associated string table section
      • getSymbolCount

        public int getSymbolCount()
        Returns:
        number of symbols
      • getSymbols

        public ElfSymbol[] getSymbols()
        Returns all of the symbols defined in this symbol table.
        Returns:
        all of the symbols defined in this symbol table
      • getSymbolIndex

        public int getSymbolIndex​(ElfSymbol symbol)
        Returns the index of the specified symbol in this symbol table.
        Parameters:
        symbol - the symbol
        Returns:
        the index of the specified symbol
      • getSymbolAt

        public ElfSymbol getSymbolAt​(long addr)
        Returns the symbol at the specified address.
        Parameters:
        addr - the symbol address
        Returns:
        the symbol at the specified address
      • getGlobalSymbols

        public ElfSymbol[] getGlobalSymbols()
        Returns all of the global symbols.
        Returns:
        all of the global symbols
      • getSourceFiles

        public java.lang.String[] getSourceFiles()
        Returns all of the sources file names.
        Returns:
        all of the sources file names
      • addSymbol

        public void addSymbol​(ElfSymbol symbol)
        Adds the specified symbol into this symbol table.
        Parameters:
        symbol - the new symbol to add
      • getLength

        public long getLength()
        Description copied from interface: ElfFileSection
        Length of file section in bytes
        Specified by:
        getLength in interface ElfFileSection
        Returns:
        length of file section in bytes
      • getAddressOffset

        public long getAddressOffset()
        Description copied from interface: ElfFileSection
        Preferred memory address offset where data should be loaded. The returned offset will already have the prelink adjustment applied, although will not reflect any change in the image base.
        Specified by:
        getAddressOffset in interface ElfFileSection
        Returns:
        default memory address offset where data should be loaded
      • getTableSectionHeader

        public ElfSectionHeader getTableSectionHeader()
        Get the section header which corresponds to this table, or null if only associated with a dynamic table entry
        Returns:
        symbol table section header or null
      • getFileOffset

        public long getFileOffset()
        Description copied from interface: ElfFileSection
        Offset within file where section bytes are specified
        Specified by:
        getFileOffset in interface ElfFileSection
        Returns:
        offset within file where section bytes are specified
      • getEntrySize

        public int getEntrySize()
        Description copied from interface: ElfFileSection
        Size of each structured entry in bytes
        Specified by:
        getEntrySize in interface ElfFileSection
        Returns:
        entry size or -1 if variable
      • toDataType

        public DataType toDataType()
                            throws DuplicateNameException
        Description copied from interface: StructConverter
        Returns a structure datatype representing the contents of the implementor of this interface.

        For example, given:

         class A {
             int foo;
             double bar;
         }
         

        The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.

        Specified by:
        toDataType in interface StructConverter
        Returns:
        returns a structure datatype representing the implementor of this interface
        Throws:
        DuplicateNameException - when a datatype of the same name already exists
        See Also:
        StructureDataType