diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfLoadHelper.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfLoadHelper.java index e625b2b7db..94dba167f7 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfLoadHelper.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfLoadHelper.java @@ -37,6 +37,15 @@ public interface ElfLoadHelper { */ Program getProgram(); + /** + * Get an import processing option value + * @param class of option value (e.g., String, Boolean, etc.) + * @param optionName option name + * @param defaultValue default option value which also establishes expected value type + * @return option value + */ + T getOption(String optionName, T defaultValue); + /** * Get ELF Header object * @return ELF Header object diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/extend/ElfLoadAdapter.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/extend/ElfLoadAdapter.java index 36f3ebf258..bf1bc2f289 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/extend/ElfLoadAdapter.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/extend/ElfLoadAdapter.java @@ -18,9 +18,9 @@ package ghidra.app.util.bin.format.elf.extend; import java.io.InputStream; import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import java.util.HashMap; -import java.util.Map; +import java.util.*; +import ghidra.app.util.Option; import ghidra.app.util.bin.format.MemoryLoadable; import ghidra.app.util.bin.format.elf.*; import ghidra.program.model.address.Address; @@ -512,4 +512,13 @@ public class ElfLoadAdapter { return null; } + /** + * Add extension-specific load options + * @param elf ELF header + * @param options list to which load options may be added + */ + public void addLoadOptions(ElfHeader elf, List