Improved alignment function

This commit is contained in:
Eduard Urbach 2024-08-15 13:53:00 +02:00
parent 999e60e294
commit c7881ab0ef
Signed by: eduard
GPG key ID: 49226B848C78F6C8
8 changed files with 56 additions and 43 deletions

View file

@ -337,12 +337,11 @@ restart:
}
data, dataLabels = a.Data.Finalize()
dataStart := Address(config.BaseAddress) + config.CodeOffset + Address(len(code))
dataStart += exe.Padding(dataStart, config.Align)
dataStart := config.BaseAddress + config.CodeOffset + len(code)
dataStart, _ = exe.Align(dataStart, config.Align)
for _, pointer := range dataPointers {
address := dataStart + pointer.Resolve()
address := Address(dataStart) + pointer.Resolve()
slice := code[pointer.Position : pointer.Position+4]
binary.LittleEndian.PutUint32(slice, uint32(address))
}