Improved Windows support
This commit is contained in:
@ -126,11 +126,13 @@ func (a Assembler) Finalize(dlls dll.List) ([]byte, []byte) {
|
||||
|
||||
case DLLCALL:
|
||||
size := 4
|
||||
|
||||
// TODO: R15 could be in use.
|
||||
code = x64.MoveRegisterRegister(code, x64.R15, x64.RSP)
|
||||
code = x64.AlignStack(code)
|
||||
code = x64.SubRegisterNumber(code, x64.RSP, 32)
|
||||
code = x64.CallAtAddress(code, 0x00_00_00_00)
|
||||
position := len(code) - size
|
||||
code = x64.AddRegisterNumber(code, x64.RSP, 32)
|
||||
code = x64.MoveRegisterRegister(code, x64.RSP, x64.R15)
|
||||
|
||||
label := x.Data.(*Label)
|
||||
pointer := &Pointer{
|
||||
|
Reference in New Issue
Block a user