Class ELFPluginsService

java.lang.Object
com.pnfsoftware.jeb.core.units.codeobject.ELFPluginsService

public class ELFPluginsService extends Object
The ELF plugins service is used to provide custom and architecture-specific facility to the ELF parser.

Currently, this service supports the registration of:
- section processors
- symbol processors
- relocation processors

Note: the current practice is to register additions in a static initializer block of a native code plugin class.

  • Constructor Details

    • ELFPluginsService

      public ELFPluginsService()
      Create an ELF plugins service.
  • Method Details

    • getInstance

      public static ELFPluginsService getInstance()
      Retrieve the singleton service instance.
      Returns:
      the ELF plugins service
    • addRelocationContext

      public void addRelocationContext(ELFRelocationContext e)
      Register a relocation context.
      Parameters:
      e - relocation context
    • getRelocationContexts

      public List<ELFRelocationContext> getRelocationContexts()
      Retrieve registered relocation contexts.
      Returns:
      relocation contexts
    • addSectionProcessor

      public void addSectionProcessor(IELFSectionProcessor e)
      Register a section processor.
      Parameters:
      e - section processor
    • getSectionProcessors

      public List<IELFSectionProcessor> getSectionProcessors()
      Retrieve registered section processors.
      Returns:
      section processors
    • addSymbolsProcessorFactory

      public void addSymbolsProcessorFactory(IELFSymbolProcessorFactory e)
      Register a symbol processor factory.
      Parameters:
      e - symbol processor factory
    • getSymbolProcessorFactories

      public List<IELFSymbolProcessorFactory> getSymbolProcessorFactories()
      Retrieve registered symbol processor factories.
      Returns:
      symbol processor factories
    • createSymbolProcessor

      public IELFSymbolProcessor createSymbolProcessor(IELFUnit elf)
      Create a symbol processor for an ELF unit.
      Parameters:
      elf - ELF unit
      Returns:
      symbol processor, or null if none applies