diff --git a/Ghidra/Features/Base/src/main/help/help/topics/FunctionComparison/FunctionComparison.htm b/Ghidra/Features/Base/src/main/help/help/topics/FunctionComparison/FunctionComparison.htm index 54c43fb8de..818f52c0f4 100644 --- a/Ghidra/Features/Base/src/main/help/help/topics/FunctionComparison/FunctionComparison.htm +++ b/Ghidra/Features/Base/src/main/help/help/topics/FunctionComparison/FunctionComparison.htm @@ -494,7 +494,13 @@

Show Decompilers Side-by-Side

-

This toggles the decompiler panels between a vertical split and a horizontal split.

+

This toggles the decompiler panels between a vertical split and a horizontal split.

+
+ +

Toggle Exact Constant Matching

+
+

This toggles whether or not constants must be exactly the same value to be a match in + the Decompiler Diff View.

diff --git a/Ghidra/Features/CodeCompare/src/main/java/ghidra/codecompare/DecompilerDiffCodeComparisonPanel.java b/Ghidra/Features/CodeCompare/src/main/java/ghidra/codecompare/DecompilerDiffCodeComparisonPanel.java index d48a1bebd0..d574f0a0d4 100755 --- a/Ghidra/Features/CodeCompare/src/main/java/ghidra/codecompare/DecompilerDiffCodeComparisonPanel.java +++ b/Ghidra/Features/CodeCompare/src/main/java/ghidra/codecompare/DecompilerDiffCodeComparisonPanel.java @@ -20,17 +20,25 @@ import java.util.List; import javax.swing.Icon; import docking.ActionContext; -import docking.action.*; -import docking.widgets.fieldpanel.internal.FieldPanelCoordinator; +import docking.action.DockingAction; +import docking.action.ToggleDockingAction; +import docking.action.ToolBarData; import generic.theme.GIcon; -import ghidra.app.decompiler.component.*; +import ghidra.app.decompiler.component.DecompileData; +import ghidra.app.decompiler.component.DecompilerCodeComparisonPanel; +import ghidra.app.decompiler.component.DualDecompileResultsListener; +import ghidra.app.decompiler.component.DualDecompilerActionContext; import ghidra.codecompare.graphanalysis.TokenBin; import ghidra.framework.options.OptionsChangeListener; import ghidra.framework.options.ToolOptions; import ghidra.framework.plugintool.PluginTool; import ghidra.util.HTMLUtilities; +import ghidra.util.HelpLocation; import ghidra.util.exception.CancelledException; -import ghidra.util.task.*; +import ghidra.util.task.Task; +import ghidra.util.task.TaskBuilder; +import ghidra.util.task.TaskLauncher; +import ghidra.util.task.TaskListener; import resources.Icons; import resources.MultiIcon; @@ -44,6 +52,7 @@ public class DecompilerDiffCodeComparisonPanel implements DualDecompileResultsListener, OptionsChangeListener { public static final String CODE_DIFF_VIEW = "Decompiler Diff View"; + private static final String HELP_TOPIC = "FunctionComparison"; private DecompileDataDiff decompileDataDiff; private DiffClangHighlightController leftHighlightController; private DiffClangHighlightController rightHighlightController; @@ -199,7 +208,8 @@ public class DecompilerDiffCodeComparisonPanel */ public MyToggleExactConstantMatching(String owner) { super("Toggle Exact Constant Matching", owner); - + setHelpLocation(new HelpLocation(HELP_TOPIC, "Toggle Exact Constant Matching")); + this.setToolBarData(new ToolBarData(NO_EXACT_CONSTANT_MATCHING_ICON, "toggles")); setDescription(HTMLUtilities.toHTML("Toggle whether or not constants must\n" + diff --git a/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml b/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml index ef7d1dca2e..5706aa44ef 100644 --- a/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml +++ b/Ghidra/Features/Decompiler/src/main/doc/decompileplugin.xml @@ -4939,6 +4939,19 @@ + + Edit Signature Override + + Edit the existing overriding function prototype to the called function under the cursor. + + + This action can only be triggered at call sites with an existing signature override. As with the Override + Signature command, users must select either the token representing the called function's name or the + tokens representing the function pointer at the call site. The action brings up a dialog where the user + can edit the current overriding function prototype. + + + References diff --git a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html index d17dedf881..98aa03a2a2 100644 --- a/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html +++ b/Ghidra/Features/Decompiler/src/main/help/help/topics/DecompilePlugin/DecompilerWindow.html @@ -1111,6 +1111,21 @@

+
+

+Edit Signature Override

+ +

+ Edit the overriding function prototype applied previously to the called function under the cursor. +

+

+ This action can only be triggered at call sites with an existing signature override. As with the Override + Signature command, users must select either the token representing the called function's name or the + tokens representing the function pointer at the call site. The action brings up a dialog where the user + can edit the current overriding function prototype. +

+
+

References

diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/EditPrototypeOverrideAction.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/EditPrototypeOverrideAction.java index 1c2415ed88..84c0881345 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/EditPrototypeOverrideAction.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/EditPrototypeOverrideAction.java @@ -31,7 +31,7 @@ public class EditPrototypeOverrideAction extends AbstractDecompilerAction { public EditPrototypeOverrideAction() { super("Edit Signature Override"); - setHelpLocation(new HelpLocation(HelpTopics.DECOMPILER, "ActionEditOverride")); + setHelpLocation(new HelpLocation(HelpTopics.DECOMPILER, "ActionEditOverride")); setPopupMenuData(new MenuData(new String[] { "Edit Signature Override" }, "Decompile")); } diff --git a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/OverridePrototypeAction.java b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/OverridePrototypeAction.java index fe34b63838..895e7f0b23 100644 --- a/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/OverridePrototypeAction.java +++ b/Ghidra/Features/Decompiler/src/main/java/ghidra/app/plugin/core/decompile/actions/OverridePrototypeAction.java @@ -36,7 +36,7 @@ import ghidra.util.exception.InvalidInputException; public class OverridePrototypeAction extends AbstractDecompilerAction { public OverridePrototypeAction() { - super("Override Signature"); + super("Override Signature"); setHelpLocation(new HelpLocation(HelpTopics.DECOMPILER, "ActionOverrideSignature")); setPopupMenuData(new MenuData(new String[] { "Override Signature" }, "Decompile")); } diff --git a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/OpenVersionTrackingSessionAction.java b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/OpenVersionTrackingSessionAction.java index fe4ab3b24c..35922e9320 100644 --- a/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/OpenVersionTrackingSessionAction.java +++ b/Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/OpenVersionTrackingSessionAction.java @@ -38,7 +38,7 @@ public class OpenVersionTrackingSessionAction extends DockingAction { String[] menuPath = { ToolConstants.MENU_FILE, "Open Session..." }; setMenuBarData(new MenuData(menuPath, "AAA")); setDescription("Opens a Version Tracking Session"); - setHelpLocation(new HelpLocation("VersionTrackingPlugin", "Open_Session")); + setHelpLocation(new HelpLocation("VersionTrackingPlugin", "Version_Tracking_Tool")); } @Override