Interface DWARFFunctionFixup
- All Superinterfaces:
ExtensionPoint
- All Known Implementing Classes:
GolangDWARFFunctionFixup
,OutputParamCheckDWARFFunctionFixup
,ParamNameDWARFFunctionFixup
,ParamSpillDWARFFunctionFixup
,RustDWARFFunctionFixup
,SanityCheckDWARFFunctionFixup
,StorageVerificationDWARFFunctionFixup
,ThisCallingConventionDWARFFunctionFixup
Interface for add-in logic to fix/modify/tweak DWARF functions before they are written
to the Ghidra program.
Use @ExtensionPointProperties(priority = DWARFFunctionFixup.PRIORITY_*)
to
control the order of evaluation (higher numbers are run earlier).
Fixups are found using ClassSearcher
, and their class names must end
in "DWARFFunctionFixup" (see ExtensionPoint.manifest).
Instance lifetime:
New instances are not shared between programs or analysis sessions, but will be re-used to handle the various functions found in a single binary.
If the implementation also implements Closeable
, it will be called when the fixup
is no longer needed.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
-
Method Summary
Modifier and TypeMethodDescriptionstatic List
<DWARFFunctionFixup> Return a list of all currentfixups
found in the classpath by ClassSearcher.void
fixupDWARFFunction
(DWARFFunction dfunc) Called before aDWARFFunction
is used to create a Ghidra Function.
-
Field Details
-
PRIORITY_NORMAL_EARLY
static final int PRIORITY_NORMAL_EARLY- See Also:
-
PRIORITY_NORMAL
static final int PRIORITY_NORMAL- See Also:
-
PRIORITY_NORMAL_LATE
static final int PRIORITY_NORMAL_LATE- See Also:
-
PRIORITY_LAST
static final int PRIORITY_LAST- See Also:
-
-
Method Details
-
fixupDWARFFunction
Called before aDWARFFunction
is used to create a Ghidra Function.If processing of the function should terminate (and the function be skipped), throw a
DWARFException
.- Parameters:
dfunc
-DWARFFunction
info read from DWARF about the function- Throws:
DWARFException
-
findFixups
Return a list of all currentfixups
found in the classpath by ClassSearcher.- Returns:
- list of all current fixups found in the classpath
-