diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MzLoader.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MzLoader.java index a38b4af8da..a285eba709 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MzLoader.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MzLoader.java @@ -18,7 +18,6 @@ package ghidra.app.util.opinion; import java.io.IOException; import java.math.BigInteger; import java.util.*; -import java.util.Map.Entry; import ghidra.app.util.MemoryBlockUtils; import ghidra.app.util.Option; @@ -26,7 +25,6 @@ import ghidra.app.util.bin.BinaryReader; import ghidra.app.util.bin.ByteProvider; import ghidra.app.util.bin.format.mz.*; import ghidra.app.util.importer.MessageLog; -import ghidra.framework.model.DomainObject; import ghidra.program.database.mem.FileBytes; import ghidra.program.model.address.*; import ghidra.program.model.data.DataType; @@ -51,11 +49,6 @@ import ghidra.util.task.TaskMonitor; public class MzLoader extends AbstractLibrarySupportLoader { public final static String MZ_NAME = "Old-style DOS Executable (MZ)"; - /** Option to control how memory blocks are formed */ - public static final String CREATE_BLOCKS_FROM_RELOC_SEGS_OPTION_NAME = - "Create memory blocks from relocation segments"; - static final boolean CREATE_BLOCKS_FROM_RELOC_SEGS_OPTION_DEFAULT = true; - private final static String ENTRY_NAME = "entry"; private final static int INITIAL_SEGMENT_VAL = 0x1000; private final static int FAR_RETURN_OPCODE = 0xCB; @@ -100,10 +93,12 @@ public class MzLoader extends AbstractLibrarySupportLoader { MzExecutable mz = new MzExecutable(provider); try { + Set relocationFixups = getRelocationFixups(space, mz, log, monitor); + markupHeaders(program, fileBytes, mz, log, monitor); - processMemoryBlocks(program, fileBytes, space, mz, options, log, monitor); + processMemoryBlocks(program, fileBytes, space, mz, relocationFixups, log, monitor); adjustSegmentStarts(program, monitor); - processRelocations(program, space, mz, log, monitor); + processRelocations(program, space, mz, relocationFixups, log, monitor); processEntryPoint(program, space, mz, log, monitor); processRegisters(program, mz, log, monitor); } @@ -118,35 +113,6 @@ public class MzLoader extends AbstractLibrarySupportLoader { } } - @Override - public List