relocate: Fixup relocate_one_block() for multiple segments

If a module contained more than one segment, each segment would be loaded at offset 0

Offset wasn't being passed through to _copy_data() correctly
This commit is contained in:
Matt Harlum 2025-01-24 15:52:09 +13:00
parent 8b2e846dd3
commit dea261cb34

View File

@ -42,7 +42,7 @@ class Relocate:
offset = 0
segs = self.bin_img.get_segments()
for segment in segs:
self._copy_data(data, segment, offset)
self._copy_data(data, segment, addrs, offset)
self._reloc_data(data, segment, addrs, offset)
offset += segment.size + padding
return data