Class ELFExternalSymbolResolver

java.lang.Object
ghidra.program.util.ELFExternalSymbolResolver

public class ELFExternalSymbolResolver extends Object
  • Constructor Details

    • ELFExternalSymbolResolver

      public ELFExternalSymbolResolver()
  • Method Details

    • fixUnresolvedExternalSymbols

      public static void fixUnresolvedExternalSymbols(Program program, boolean saveIfModified, MessageLog messageLog, TaskMonitor monitor) throws CancelledException, IOException
      Links unresolved symbols to the first symbol found in the (ordered) linked libraries (saved in the program's properties as "ELF Required Library [nn]").

      The ordering and precedence logic is ELF specific though no ELF binary formats are parsed or required.

      The program's external libraries need to already be populated with paths to already existing / imported libraries.

      Parameters:
      program - ELF Program to fix.
      saveIfModified - boolean flag, if true the program will be saved if there was a modification.
      messageLog - MessageLog to write info message to.
      monitor - TaskMonitor to watch for cancel and update with progress.
      Throws:
      CancelledException - if user cancels
      IOException - if error reading