(svn r20598) -Codechange: [Win32] Replace the external x64 asm with a built-in Windows function.

pull/155/head
michi_cc 14 years ago
parent cfb431aefa
commit ce8a9acffb

@ -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>
@ -1089,17 +1086,6 @@
<ClInclude Include="..\src\thread\thread.h" />
<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" />
@ -1119,7 +1105,4 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
</ImportGroup>
</Project>

@ -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>

@ -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>

@ -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>
@ -300,17 +297,6 @@
<ItemGroup>
!!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" />
@ -330,7 +316,4 @@
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
</ImportGroup>
</Project>

@ -14,11 +14,6 @@
Name="x64"
/>
</Platforms>
<ToolFiles>
<ToolFile
RelativePath="..\src\os\windows\masm64.rules"
/>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@ -37,9 +32,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -150,9 +142,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -249,9 +238,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -363,9 +349,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -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"
>

@ -14,11 +14,6 @@
Name="x64"
/>
</Platforms>
<ToolFiles>
<ToolFile
RelativePath="..\src\os\windows\masm64.rules"
/>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@ -37,9 +32,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -150,9 +142,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -249,9 +238,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -363,9 +349,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -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"
>

@ -15,11 +15,6 @@
Name="x64"
/>
</Platforms>
<ToolFiles>
<ToolFile
RelativePath="..\src\os\windows\masm64.rules"
/>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@ -38,9 +33,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -149,9 +141,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -247,9 +236,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -360,9 +346,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -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"
>

@ -15,11 +15,6 @@
Name="x64"
/>
</Platforms>
<ToolFiles>
<ToolFile
RelativePath="..\src\os\windows\masm64.rules"
/>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
@ -38,9 +33,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -149,9 +141,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -247,9 +236,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -360,9 +346,6 @@
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="MASM AMD64"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
@ -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"
>

@ -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

@ -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>

@ -1,8 +0,0 @@
.CODE
PUBLIC _get_safe_esp
_get_safe_esp:
MOV RAX,RSP
RET
END
Loading…
Cancel
Save