Skip to content

Commit c381cff

Browse files
committed
Migrate from deprecated then removed MemoryBlockUtil.
The similar but apparently nicer MemoryBlockUtils is available instead.
1 parent 7b50ecc commit c381cff

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

GhidraESP8266_2/src/main/java/ghidraesp8266_2/GhidraESP8266_2Loader.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@
1919
import java.io.InputStream;
2020
import java.util.*;
2121

22-
import ghidra.app.util.MemoryBlockUtil;
22+
import ghidra.app.util.MemoryBlockUtils;
2323
import ghidra.app.util.Option;
2424
import ghidra.app.util.bin.BinaryReader;
2525
import ghidra.app.util.bin.ByteProvider;
26-
import ghidra.app.util.importer.MemoryConflictHandler;
2726
import ghidra.app.util.importer.MessageLog;
2827
import ghidra.app.util.opinion.AbstractLibrarySupportLoader;
2928
import ghidra.app.util.opinion.LoadSpec;
@@ -49,7 +48,6 @@
4948
* TODO: Provide class-level documentation that describes what this loader does.
5049
*/
5150
public class GhidraESP8266_2Loader extends AbstractLibrarySupportLoader {
52-
private MemoryBlockUtil mbu;
5351

5452
@Override
5553
public String getName() {
@@ -81,14 +79,14 @@ public List<Option> getDefaultOptions(ByteProvider provider, LoadSpec loadSpec,
8179
return list;
8280
}
8381

84-
private void markupHeader(Program program, ESP8266Header header, TaskMonitor monitor, InputStream reader) throws DuplicateNameException, IOException {
82+
private void markupHeader(Program program, ESP8266Header header, TaskMonitor monitor, InputStream reader, MessageLog log) throws DuplicateNameException, IOException {
8583
boolean r = true;
8684
boolean w = true;
8785
boolean x = true;
8886
String BLOCK_SOURCE_NAME = "ESP8266 Header";
8987
Address start = program.getAddressFactory().getDefaultAddressSpace().getAddress( 0x0 );
9088
try {
91-
mbu.createInitializedBlock(".header", start, reader, 8, "", BLOCK_SOURCE_NAME, r, w, x, monitor);
89+
MemoryBlockUtils.createInitializedBlock(program, false, ".header", start, reader, 8, "", BLOCK_SOURCE_NAME, r, w, x, log, monitor);
9290
createData(program, program.getListing(), start, header.toDataType());
9391
} catch (AddressOverflowException e) {
9492
// TODO Auto-generated catch block
@@ -112,15 +110,16 @@ private void markAsCode(Program program, Address address) {
112110
}
113111
}
114112

115-
private void markupSections(Program program, ESP8266Module module, TaskMonitor monitor, InputStream reader) throws DuplicateNameException, IOException, AddressOverflowException {
113+
private void markupSections(Program program, ESP8266Module module, TaskMonitor monitor, InputStream reader, MessageLog log) throws DuplicateNameException, IOException, AddressOverflowException {
116114
boolean r = true;
117115
boolean w = true;
118116
boolean x = true;
119117
String BLOCK_SOURCE_NAME = "ESP8266 Section";
120118
for (ESP8266Section section: module.getSections()) {
121119
Address start = program.getAddressFactory().getDefaultAddressSpace().getAddress(section.getOffset());
122120
Msg.info(this, String.format("Section at offset %08x, size %d", start.getOffset(), section.getSize()));
123-
mbu.createInitializedBlock(section.getName(), start, reader, section.getSize(), "", BLOCK_SOURCE_NAME, r, w, x, monitor);
121+
MemoryBlockUtils.createInitializedBlock(program, false,
122+
section.getName(), start, reader, section.getSize(), "", BLOCK_SOURCE_NAME, r, w, x, log, monitor);
124123
createData(program, program.getListing(), start, section.toDataType());
125124
// Mark code sections
126125
if(section.getType() == ESP8266Constants.SECTION_TYPE_CODE)
@@ -153,23 +152,21 @@ public Data createData(Program program, Listing listing, Address address, DataTy
153152
}
154153

155154
@Override
156-
protected void load(ByteProvider provider, LoadSpec loadSpec, List<Option> options,
157-
Program program, MemoryConflictHandler handler, TaskMonitor monitor, MessageLog log)
158-
throws CancelledException, IOException {
155+
protected void load(ByteProvider provider, LoadSpec loadSpec, List<Option> options, Program program,
156+
TaskMonitor monitor, MessageLog log) throws CancelledException, IOException {
159157

160158
monitor.setMessage( "ESP8266 Loader: Start loading" );
161159

162160
try {
163161
InputStream inputStream;
164162
inputStream = provider.getInputStream(0);
165-
mbu = new MemoryBlockUtil(program, handler);
166163

167164

168165
BinaryReader reader = new BinaryReader( provider, true );
169166
ESP8266Module module = new ESP8266Module( reader );
170167

171-
markupHeader(program, module.getHeader(), monitor, inputStream);
172-
markupSections(program, module, monitor, inputStream);
168+
markupHeader(program, module.getHeader(), monitor, inputStream, log);
169+
markupSections(program, module, monitor, inputStream, log);
173170

174171
// Create entry point
175172
Address entryAddress = program.getAddressFactory().getDefaultAddressSpace().getAddress(module.getHeader().getEntrypoint(), true);

0 commit comments

Comments
 (0)