summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2010-08-23 18:19:15 +0000
committermichi_cc <michi_cc@openttd.org>2010-08-23 18:19:15 +0000
commita7e8b67c7c96d7e76b495ce2bed9f5f423870522 (patch)
tree330f12d82f0eeea9438a47ef4bfe17a8821f758f
parent56e05d1e2cc3feb2b08f7f87494c6ebe1f79e775 (diff)
downloadopenttd-a7e8b67c7c96d7e76b495ce2bed9f5f423870522.tar.xz
(svn r20598) -Codechange: [Win32] Replace the external x64 asm with a built-in Windows function.
-rw-r--r--projects/openttd_vs100.vcxproj17
-rw-r--r--projects/openttd_vs100.vcxproj.filters9
-rw-r--r--projects/openttd_vs100.vcxproj.filters.in9
-rw-r--r--projects/openttd_vs100.vcxproj.in17
-rw-r--r--projects/openttd_vs80.vcproj60
-rw-r--r--projects/openttd_vs80.vcproj.in60
-rw-r--r--projects/openttd_vs90.vcproj60
-rw-r--r--projects/openttd_vs90.vcproj.in60
-rw-r--r--src/os/windows/crashlog_win.cpp19
-rw-r--r--src/os/windows/masm64.rules266
-rw-r--r--src/os/windows/win64.asm8
11 files changed, 14 insertions, 571 deletions
diff --git a/projects/openttd_vs100.vcxproj b/projects/openttd_vs100.vcxproj
index 83513534a..7a9bc2438 100644
--- a/projects/openttd_vs100.vcxproj
+++ b/projects/openttd_vs100.vcxproj
@@ -47,9 +47,6 @@
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
- </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -1090,17 +1087,6 @@
<ClCompile Include="..\src\thread\thread_win32.cpp" />
</ItemGroup>
<ItemGroup>
- <MASM Include="..\src\os\windows\win64.asm">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">1</PreserveIdentifierCase>
- <PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreservePublicAndExternSymbolCase>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">1</PreserveIdentifierCase>
- <PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreservePublicAndExternSymbolCase>
- <FileType>Document</FileType>
- </MASM>
- </ItemGroup>
- <ItemGroup>
<None Include="..\media\openttd.ico" />
<None Include="..\readme.txt" />
</ItemGroup>
@@ -1119,7 +1105,4 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
- </ImportGroup>
</Project>
diff --git a/projects/openttd_vs100.vcxproj.filters b/projects/openttd_vs100.vcxproj.filters
index d9b231c38..35e15d8cf 100644
--- a/projects/openttd_vs100.vcxproj.filters
+++ b/projects/openttd_vs100.vcxproj.filters
@@ -91,10 +91,6 @@
<Filter Include="Threading">
<UniqueIdentifier>{c76ff9f1-1e62-46d8-8d55-000000000029}</UniqueIdentifier>
</Filter>
- <Filter Include="64-bit Specific Files">
- <UniqueIdentifier>{d55d5f1f-aa07-4839-80d7-5ae158609e61}</UniqueIdentifier>
- <Extensions>asm</Extensions>
- </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\airport.cpp">
@@ -2472,9 +2468,4 @@
<None Include="..\media\openttd.ico" />
<None Include="..\readme.txt" />
</ItemGroup>
- <ItemGroup>
- <MASM Include="..\src\os\windows\win64.asm">
- <Filter>64-bit Specific Files</Filter>
- </MASM>
- </ItemGroup>
</Project>
diff --git a/projects/openttd_vs100.vcxproj.filters.in b/projects/openttd_vs100.vcxproj.filters.in
index 832a1e6b9..cda491072 100644
--- a/projects/openttd_vs100.vcxproj.filters.in
+++ b/projects/openttd_vs100.vcxproj.filters.in
@@ -2,10 +2,6 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
!!FILTERS!!
- <Filter Include="64-bit Specific Files">
- <UniqueIdentifier>{d55d5f1f-aa07-4839-80d7-5ae158609e61}</UniqueIdentifier>
- <Extensions>asm</Extensions>
- </Filter>
</ItemGroup>
<ItemGroup>
!!FILES!!
@@ -14,9 +10,4 @@
<None Include="..\media\openttd.ico" />
<None Include="..\readme.txt" />
</ItemGroup>
- <ItemGroup>
- <MASM Include="..\src\os\windows\win64.asm">
- <Filter>64-bit Specific Files</Filter>
- </MASM>
- </ItemGroup>
</Project>
diff --git a/projects/openttd_vs100.vcxproj.in b/projects/openttd_vs100.vcxproj.in
index 352dd6afa..d4b510128 100644
--- a/projects/openttd_vs100.vcxproj.in
+++ b/projects/openttd_vs100.vcxproj.in
@@ -47,9 +47,6 @@
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
- </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -301,17 +298,6 @@
!!FILES!!
</ItemGroup>
<ItemGroup>
- <MASM Include="..\src\os\windows\win64.asm">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">1</PreserveIdentifierCase>
- <PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreservePublicAndExternSymbolCase>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <PreserveIdentifierCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">1</PreserveIdentifierCase>
- <PreservePublicAndExternSymbolCase Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</PreservePublicAndExternSymbolCase>
- <FileType>Document</FileType>
- </MASM>
- </ItemGroup>
- <ItemGroup>
<None Include="..\media\openttd.ico" />
<None Include="..\readme.txt" />
</ItemGroup>
@@ -330,7 +316,4 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
- </ImportGroup>
</Project>
diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj
index 93b08d5dd..6a30e22d6 100644
--- a/projects/openttd_vs80.vcproj
+++ b/projects/openttd_vs80.vcproj
@@ -14,11 +14,6 @@
Name="x64"
/>
</Platforms>
- <ToolFiles>
- <ToolFile
- RelativePath="..\src\os\windows\masm64.rules"
- />
- </ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@@ -38,9 +33,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -151,9 +143,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -250,9 +239,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -364,9 +350,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -3732,49 +3715,6 @@
>
</File>
</Filter>
- <Filter
- Name="64-bit Specific Files"
- Filter="asm"
- >
- <File
- RelativePath=".\..\src\os\windows\win64.asm"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- </File>
- </Filter>
<File
RelativePath=".\..\media\openttd.ico"
>
diff --git a/projects/openttd_vs80.vcproj.in b/projects/openttd_vs80.vcproj.in
index 8870bfda1..227ab0735 100644
--- a/projects/openttd_vs80.vcproj.in
+++ b/projects/openttd_vs80.vcproj.in
@@ -14,11 +14,6 @@
Name="x64"
/>
</Platforms>
- <ToolFiles>
- <ToolFile
- RelativePath="..\src\os\windows\masm64.rules"
- />
- </ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@@ -38,9 +33,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -151,9 +143,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -250,9 +239,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -364,9 +350,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -453,49 +436,6 @@
</References>
<Files>
!!FILES!!
- <Filter
- Name="64-bit Specific Files"
- Filter="asm"
- >
- <File
- RelativePath=".\..\src\os\windows\win64.asm"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- </File>
- </Filter>
<File
RelativePath=".\..\media\openttd.ico"
>
diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj
index 4bc2370f5..c5abe750c 100644
--- a/projects/openttd_vs90.vcproj
+++ b/projects/openttd_vs90.vcproj
@@ -15,11 +15,6 @@
Name="x64"
/>
</Platforms>
- <ToolFiles>
- <ToolFile
- RelativePath="..\src\os\windows\masm64.rules"
- />
- </ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@@ -39,9 +34,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -150,9 +142,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -248,9 +237,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -361,9 +347,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -3729,49 +3712,6 @@
>
</File>
</Filter>
- <Filter
- Name="64-bit Specific Files"
- Filter="asm"
- >
- <File
- RelativePath=".\..\src\os\windows\win64.asm"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- </File>
- </Filter>
<File
RelativePath=".\..\media\openttd.ico"
>
diff --git a/projects/openttd_vs90.vcproj.in b/projects/openttd_vs90.vcproj.in
index ef1447a87..e5d4da7c2 100644
--- a/projects/openttd_vs90.vcproj.in
+++ b/projects/openttd_vs90.vcproj.in
@@ -15,11 +15,6 @@
Name="x64"
/>
</Platforms>
- <ToolFiles>
- <ToolFile
- RelativePath="..\src\os\windows\masm64.rules"
- />
- </ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@@ -39,9 +34,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -150,9 +142,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -248,9 +237,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -361,9 +347,6 @@
Name="VCCustomBuildTool"
/>
<Tool
- Name="MASM AMD64"
- />
- <Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
@@ -450,49 +433,6 @@
</References>
<Files>
!!FILES!!
- <Filter
- Name="64-bit Specific Files"
- Filter="asm"
- >
- <File
- RelativePath=".\..\src\os\windows\win64.asm"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="MASM AMD64"
- PreserveIdentifierCase="true"
- PreservePublicAndExternSymbolCase="true"
- />
- </FileConfiguration>
- </File>
- </Filter>
<File
RelativePath=".\..\media\openttd.ico"
>
diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp
index 4bdb984f8..11791528b 100644
--- a/src/os/windows/crashlog_win.cpp
+++ b/src/os/windows/crashlog_win.cpp
@@ -10,6 +10,12 @@
/** @file crashlog_win.cpp Implementation of a crashlogger for Windows */
#include "../../stdafx.h"
+#if defined(_MSC_VER) && defined(_M_AMD64)
+/* Redefine WinNT version to get RtlCaptureContext prototype. */
+#undef _WIN32_WINNT
+#undef NTDDI_VERSION
+#define _WIN32_WINNT _WIN32_WINNT_WINXP
+#endif /* defined(_MSC_VER) && defined(_M_AMD64) */
#include "../../crashlog.h"
#include "win32.h"
#include "../../core/alloc_func.hpp"
@@ -408,10 +414,6 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep)
return EXCEPTION_EXECUTE_HANDLER;
}
-#ifdef _M_AMD64
-extern "C" void *_get_safe_esp();
-#endif
-
static void CDECL CustomAbort(int signal)
{
RaiseException(0xE1212012, 0, 0, NULL);
@@ -421,7 +423,14 @@ static void CDECL CustomAbort(int signal)
{
#if defined(_MSC_VER)
#ifdef _M_AMD64
- _safe_esp = _get_safe_esp();
+ CONTEXT ctx;
+ RtlCaptureContext(&ctx);
+
+ /* The stack pointer for AMD64 must always be 16-byte aligned inside a
+ * function. As we are simulating a function call with the safe ESP value,
+ * we need to subtract 8 for the imaginary return address otherwise stack
+ * alignment would be wrong in the called function. */
+ _safe_esp = (void *)(ctx.Rsp - 8);
#else
_asm {
mov _safe_esp, esp
diff --git a/src/os/windows/masm64.rules b/src/os/windows/masm64.rules
deleted file mode 100644
index 62e6e0f8b..000000000
--- a/src/os/windows/masm64.rules
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="Microsoft Macro Assembler 64"
- Version="8.00"
- >
- <Rules>
- <CustomBuildRule
- Name="MASM AMD64"
- DisplayName="Microsoft Macro Assembler for AMD64"
- CommandLine="ml64.exe /c [AllOptions] [AdditionalOptions] /Ta[inputs]"
- Outputs="[$ObjectFileName]"
- FileExtensions="*.asm"
- ExecutionDescription="Assembling..."
- >
- <Properties>
- <BooleanProperty
- Name="NoLogo"
- DisplayName="Suppress Startup Banner"
- Description="Suppress the display of the startup banner and information messages. (/nologo)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/nologo"
- DefaultValue="true"
- />
- <StringProperty
- Name="ObjectFileName"
- DisplayName="Object File Name"
- PropertyPageName="Object File"
- Description="Specifies the name of the output object file. (/Fo:[file])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Fo&quot;[value]&quot;"
- DefaultValue="$(IntDir)\$(InputName).obj"
- />
- <BooleanProperty
- Name="PreserveIdentifierCase"
- DisplayName="Preserve Identifier Case"
- PropertyPageName="Identifiers"
- Description="Preserves case of all user identifiers. (/Cp)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Cp"
- />
- <BooleanProperty
- Name="PreservePublicAndExternSymbolCase"
- DisplayName="Preserve Public and Extern Symbol Case"
- PropertyPageName="Identifiers"
- Description="Preserves case in public and extern symbols. (/Cx)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Cx"
- />
- <StringProperty
- Name="PreprocessorDefinitions"
- DisplayName="Preprocessor Definitions"
- Description="Defines a text macro with the given name. (/D[symbol])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/D&quot;[value]&quot;"
- Delimited="true"
- Inheritable="true"
- />
- <BooleanProperty
- Name="GeneratePreprocessedSourceListing"
- DisplayName="Generate Preprocessed Source Listing"
- PropertyPageName="Listing File"
- Description="Generates a preprocessed source listing to the Output Window. (/EP)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/EP"
- />
- <StringProperty
- Name="AssembledCodeListingFile"
- DisplayName="Assembled Code Listing File"
- PropertyPageName="Listing File"
- Description="Generates an assembled code listing file. (/Fl[file])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Fl&quot;[value]&quot;"
- />
- <StringProperty
- Name="SourceBrowserFile"
- DisplayName="Source Browser File"
- PropertyPageName="Source Browser File"
- Description="Generates a source browser .sbr file. (/Fr[file])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Fr&quot;[value]&quot;"
- />
- <StringProperty
- Name="ExtendedSourceBrowserFile"
- DisplayName="Extended Source Browser File"
- PropertyPageName="Source Browser File"
- Description="Generates an extended form of a source browser .sbr file. (/FR[file])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/FR&quot;[value]&quot;"
- />
- <StringProperty
- Name="IncludePaths"
- DisplayName="Include Paths"
- Description="Sets path for include file. A maximum of 10 /I options is allowed. (/I [path])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/I &quot;[value]&quot;"
- Delimited="true"
- Inheritable="true"
- />
- <BooleanProperty
- Name="ListAllAvailableInformation"
- DisplayName="List All Available Information"
- PropertyPageName="Listing File"
- Description="Turns on listing of all available information. (/Sa)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sa"
- />
- <BooleanProperty
- Name="AddInstructionTimings"
- DisplayName="Add Instruction Timings"
- PropertyPageName="Listing File"
- Description="Adds instruction timings to listing file. (/Sc)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sc"
- />
- <BooleanProperty
- Name="AddFirstPassListing"
- DisplayName="Add First Pass Listing"
- PropertyPageName="Listing File"
- Description="Adds first-pass listing to listing file. (/Sf)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sf"
- />
- <IntegerProperty
- Name="SourceListingLineWidth"
- DisplayName="Source Listing Line Width"
- PropertyPageName="Listing File"
- Description="Sets the line width of source listing in characters per line. Range is 60 to 255 or 0. Default is 0. Same as PAGE width. (/Sl [width])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sl [value]"
- />
- <BooleanProperty
- Name="DisableSymbolTable"
- DisplayName="Disable Symbol Table"
- PropertyPageName="Listing File"
- Description="Turns off symbol table when producing a listing. (/Sn)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sn"
- />
- <IntegerProperty
- Name="SourceListingPageLength"
- DisplayName="Source Listing Page Length"
- PropertyPageName="Listing File"
- Description="Sets the page length of source listing in lines per page. Range is 10 to 255 or 0. Default is 0. Same as PAGE length. (/Sp [length])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sp [value]"
- />
- <StringProperty
- Name="SourceListingSubTitle"
- DisplayName="Source Listing Subtitle"
- PropertyPageName="Listing File"
- Description="Specifies subtitle text for source listing. Same as SUBTITLE text. (/Ss [subtitle])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Ss [value]"
- />
- <StringProperty
- Name="SourceListingTitle"
- DisplayName="Source Listing Title"
- PropertyPageName="Listing File"
- Description="Specifies title for source listing. Same as TITLE text. (/St [title])"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/St [value]"
- />
- <BooleanProperty
- Name="EnableFalseConditionalsInListing"
- DisplayName="Enable False Conditionals In Listing"
- PropertyPageName="Listing File"
- Description="Turns on false conditionals in listing. (/Sx)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Sx"
- />
- <EnumProperty
- Name="WarningLevel"
- DisplayName="Warning Level"
- Description="Sets the warning level, where level = 0, 1, 2, or 3. (/W0, /W1, /W2, /W3)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="/W0"
- DisplayName="Warning Level 0 (/W0)"
- />
- <EnumValue
- Value="1"
- Switch="/W1"
- DisplayName="Warning Level 1 (/W1)"
- />
- <EnumValue
- Value="2"
- Switch="/W2"
- DisplayName="Warning Level 2 (/W2)"
- />
- <EnumValue
- Value="3"
- Switch="/W3"
- DisplayName="Warning Level 3 (/W3)"
- />
- </Values>
- </EnumProperty>
- <BooleanProperty
- Name="TreatWarningsAsErrors"
- DisplayName="Treat Warnings As Errors"
- Description="Returns an error code if warnings are generated. (/WX)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/WX"
- />
- <BooleanProperty
- Name="GenerateLineInformation"
- DisplayName="Generate Line Information"
- PropertyPageName="Object File"
- Description="Generates line-number information in object file. (/Zd)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Zd"
- />
- <BooleanProperty
- Name="MakeAllSymbolsPublic"
- DisplayName="Make All Symbols Public"
- PropertyPageName="Object File"
- Description="Makes all symbols public. (/Zf)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Zf"
- />
- <BooleanProperty
- Name="GenerateCodeViewInformation"
- DisplayName="Generate CodeView Information"
- PropertyPageName="Object File"
- Description="Generates CodeView information in object file. (/Zi)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Zi"
- />
- <EnumProperty
- Name="PackAlignmentBoundary"
- DisplayName="Pack Alignment Boundary"
- PropertyPageName="Advanced"
- Description="Packs structures on the specified byte boundary. The alignment can be 1, 2, or 4. (/Zp1, /Zp2, /Zp4)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="/Zp1"
- DisplayName="One Byte Boundary (/Zp1)"
- />
- <EnumValue
- Value="1"
- Switch="/Zp2"
- DisplayName="Two Byte Boundary (/Zp2)"
- />
- <EnumValue
- Value="2"
- Switch="/Zp4"
- DisplayName="Four Byte Boundary (/Zp4)"
- />
- </Values>
- </EnumProperty>
- <BooleanProperty
- Name="PerformSyntaxCheckOnly"
- DisplayName="Perform Syntax Check Only"
- Description="Performs a syntax check only. (/Zs)"
- HelpURL="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmasm/html/vclrfml.asp"
- Switch="/Zs"
- />
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/src/os/windows/win64.asm b/src/os/windows/win64.asm
deleted file mode 100644
index d95bc3898..000000000
--- a/src/os/windows/win64.asm
+++ /dev/null
@@ -1,8 +0,0 @@
- .CODE
-
-PUBLIC _get_safe_esp
-_get_safe_esp:
- MOV RAX,RSP
- RET
-
- END