make preamble patcher build and run (win64 only)
First, ml64 (amd64 version of masm) doesn't support /coff. Second, it also doesn't support (nor use) .model directive. Sadly, asm is inherently amd64-only, so this entire test won't build in i386 configuration.
This commit is contained in:
parent
54605b8a58
commit
b58cbd2e23
|
@ -32,7 +32,9 @@
|
|||
;
|
||||
; Unit tests for PreamblePatcher
|
||||
|
||||
IFNDEF AMD64
|
||||
.MODEL small
|
||||
ENDIF
|
||||
|
||||
.CODE
|
||||
|
||||
|
@ -76,90 +78,90 @@ jumpspot:
|
|||
nop
|
||||
nop
|
||||
nop
|
||||
mov rax, 1
|
||||
mov eax, 1
|
||||
ret
|
||||
JumpShortCondFunction ENDP
|
||||
|
||||
JumpNearCondFunction PROC
|
||||
test cl, 1
|
||||
jnz jumpspot
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
jumpspot:
|
||||
nop
|
||||
nop
|
||||
mov rax, 1
|
||||
mov eax, 1
|
||||
ret
|
||||
JumpNearCondFunction ENDP
|
||||
|
||||
JumpAbsoluteFunction PROC
|
||||
test cl, 1
|
||||
jmp jumpspot
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
jumpspot:
|
||||
nop
|
||||
nop
|
||||
mov rax, 1
|
||||
mov eax, 1
|
||||
ret
|
||||
JumpAbsoluteFunction ENDP
|
||||
|
||||
CallNearRelativeFunction PROC
|
||||
test cl, 1
|
||||
call TooShortFunction
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov rdx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
mov edx, 0ffff1111H
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
|
|
@ -198,14 +198,14 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\src\windows\shortproc.asm">
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ml /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /DAMD64 "%(FullPath)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)%(Filename).obj;%(Outputs)</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)%(Filename).obj;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Patch|Win32'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Override|Win32'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Patch|x64'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Override|x64'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Patch|Win32'">ml /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Override|Win32'">ml /Fo"$(OutDir)%(Filename).obj" /c /Cx /coff "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Patch|x64'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /DAMD64 "%(FullPath)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release-Override|x64'">ml64 /Fo"$(OutDir)%(Filename).obj" /c /Cx /DAMD64 "%(FullPath)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release-Patch|Win32'">$(OutDir)%(Filename).obj;%(Outputs)</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release-Override|Win32'">$(OutDir)%(Filename).obj;%(Outputs)</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release-Patch|x64'">$(OutDir)%(Filename).obj;%(Outputs)</Outputs>
|
||||
|
|
Loading…
Reference in New Issue