Package ghidra.app.util.opinion
Class OmfLoader
- java.lang.Object
-
- ghidra.app.util.opinion.AbstractProgramLoader
-
- ghidra.app.util.opinion.AbstractLibrarySupportLoader
-
- ghidra.app.util.opinion.OmfLoader
-
- All Implemented Interfaces:
Loader
,ExtensionPoint
,java.lang.Comparable<Loader>
public class OmfLoader extends AbstractLibrarySupportLoader
-
-
Field Summary
Fields Modifier and Type Field Description static long
IMAGE_BASE
static long
MAX_UNINITIALIZED_FILL
static long
MIN_BYTE_LENGTH
static java.lang.String
OMF_NAME
-
Fields inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
LIB_OPTION_NAME, SYM_OPTION_NAME
-
Fields inherited from class ghidra.app.util.opinion.AbstractProgramLoader
ANCHOR_LABELS_OPTION_NAME, APPLY_LABELS_OPTION_NAME
-
Fields inherited from interface ghidra.app.util.opinion.Loader
COMMAND_LINE_ARG_PREFIX
-
-
Constructor Summary
Constructors Constructor Description OmfLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<LoadSpec>
findSupportedLoadSpecs(ByteProvider provider)
If thisLoader
supports loading the givenByteProvider
, this methods returns aCollection
of all supportedLoadSpec
s that contain discovered load specification information that thisLoader
will need to load.java.lang.String
getName()
protected void
load(ByteProvider provider, LoadSpec loadSpec, java.util.List<Option> options, Program program, TaskMonitor monitor, MessageLog log)
Loads bytes in a particular format into the givenProgram
.-
Methods inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
createExportsFile, findAlreadyImportedLibrary, getDefaultOptions, getLoadSpec, getTier, getTierPriority, importLibrary, importLibrary, isCaseInsensitiveLibraryFilenames, loadProgram, loadProgramInto, postLoadProgramFixups, validateOptions
-
Methods inherited from class ghidra.app.util.opinion.AbstractProgramLoader
createDefaultMemoryBlocks, createProgram, generateBlockName, getLanguageService, load, loadInto, markAsFunction, release, shouldApplyProcessorLabelsByDefault
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ghidra.app.util.opinion.Loader
compareTo, getPreferredFileName, supportsLoadIntoProgram
-
-
-
-
Field Detail
-
OMF_NAME
public static final java.lang.String OMF_NAME
- See Also:
- Constant Field Values
-
MIN_BYTE_LENGTH
public static final long MIN_BYTE_LENGTH
- See Also:
- Constant Field Values
-
IMAGE_BASE
public static final long IMAGE_BASE
- See Also:
- Constant Field Values
-
MAX_UNINITIALIZED_FILL
public static final long MAX_UNINITIALIZED_FILL
- See Also:
- Constant Field Values
-
-
Method Detail
-
findSupportedLoadSpecs
public java.util.Collection<LoadSpec> findSupportedLoadSpecs(ByteProvider provider) throws java.io.IOException
Description copied from interface:Loader
If thisLoader
supports loading the givenByteProvider
, this methods returns aCollection
of all supportedLoadSpec
s that contain discovered load specification information that thisLoader
will need to load. If thisLoader
cannot support loading the givenByteProvider
, an emptyCollection
is returned.- Parameters:
provider
- The bytes being loaded.- Returns:
- A
Collection
ofLoadSpec
s that thisLoader
supports loading, or an emptyCollection
if thisLoader
doesn't support loading the givenByteProvider
. - Throws:
java.io.IOException
- if there was an IO-related issue finding theLoadSpec
s.
-
getName
public java.lang.String getName()
Description copied from interface:Loader
Gets theLoader
's name, which is used both for display purposes, and to identify theLoader
in the opinion files.- Returns:
- The
Loader
's name.
-
load
protected void load(ByteProvider provider, LoadSpec loadSpec, java.util.List<Option> options, Program program, TaskMonitor monitor, MessageLog log) throws java.io.IOException, CancelledException
Description copied from class:AbstractLibrarySupportLoader
Loads bytes in a particular format into the givenProgram
.- Specified by:
load
in classAbstractLibrarySupportLoader
- Parameters:
provider
- The bytes to load.loadSpec
- TheLoadSpec
to use during load.options
- The load options.program
- TheProgram
to load into.monitor
- A cancelable task monitor.log
- The message log.- Throws:
java.io.IOException
- if there was an IO-related problem loading.CancelledException
- if the user cancelled the load.
-
-