Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions diff.py
Original file line number Diff line number Diff line change
Expand Up @@ -2431,15 +2431,15 @@ def _collect_and_normalize(self, lines: List[str], is_be: bool) -> List[str]:
break

if is_mova and addr not in self._relocs:
# Remove from imm table if present
if jtbl_addr in self._imms:
del self._imms[jtbl_addr]

# Search up to 10 lines before
end = min(i, 10)
jtbl_count = self._test_jtbl(lines[i - 2 : i - end : -1])

if jtbl_count != -1:
# Remove from imm table if present
if jtbl_addr in self._imms:
del self._imms[jtbl_addr]

self._jtbls[jtbl_addr] = self.JtblEntry(jtbl_count, addr + 4)

# None of the above
Expand Down Expand Up @@ -2533,6 +2533,15 @@ def process_reloc(self, row: str, prev: str) -> Tuple[str, Optional[str]]:
elif "R_SH_CODE" in row:
# This one is a GNU thing, can be ignored
return prev, None
elif "R_SH_DATA" in row:
# This one is a GNU thing, can be ignored
return prev, None
elif "R_SH_LABEL" in row:
# This one is a GNU thing, can be ignored
return prev, None
elif "R_SH_ALIGN" in row:
# This one is a GNU thing, can be ignored
return prev, None
else:
assert False, f"unknown relocation type '{row}' for line '{prev}'"

Expand Down