Skip to content

Commit ff52f4c

Browse files
committed
Allow makeAlignment to make larger chunks
1 parent a2ba4f7 commit ff52f4c

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/main/java/kaiju/tools/disasm/DisasmStrategy.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ public interface DisasmStrategy extends KaijuLogger {
6666
* this is a default implementation that shouldn't rely on
6767
* architecture, but can be overriden if needed for some reason.
6868
*/
69-
default Pair<AddressRange, Integer> makeAlignment(Listing listing, final Address address, TaskMonitor monitor) {
69+
default Pair<AddressRange, Integer> makeAlignment(Listing listing, final Address address, long length, TaskMonitor monitor) {
7070
DataType alignmentType = GhidraTypeUtilities.findGhidraType("Alignment");
7171
try {
72-
Data alignData = listing.createData(address, alignmentType);
72+
Data alignData = listing.createData(address, alignmentType, (int) length);
7373
final Address minAddr = alignData.getMinAddress();
7474
final Address maxAddr = alignData.getMaxAddress();
7575
final AddressRange range = new AddressRangeImpl(minAddr, maxAddr);
76-
debug(this, "Created alignment at: " + range);
76+
debug(this, "Created alignment of " + range.getLength() + " bytes at: " + range);
7777
//alignmentAddresses.add(range);
7878
return new Pair<AddressRange, Integer>(range, 1);
7979
} catch (final CodeUnitInsertionException e) {

src/main/java/kaiju/tools/disasm/impl/X86ImproverStrategy.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,13 @@ public Pair<AddressRange, Integer> analyzeGap(final AddressRange range) {
9090
switch (previousBlockType) {
9191
case CODE:
9292
if (b == 0xCC) {
93-
return makeAlignment(listing, minAddr, monitor);
93+
return makeAlignment(listing, minAddr, range.getLength(), monitor);
9494
} else {
9595
return makeCode(currentProgram, listing, minAddr, monitor);
9696
}
9797
case DATA:
9898
if (b == 0x00)
99-
return makeAlignment(listing, minAddr, monitor);
99+
return makeAlignment(listing, minAddr, range.getLength(), monitor);
100100
break;
101101
case ALIGNMENT:
102102
debug(this, "I'm a little surprised to find alignment at " + minAddr);

0 commit comments

Comments
 (0)