diff options
author | Rahul Kumar <rahku@microsoft.com> | 2016-04-19 14:22:23 -0700 |
---|---|---|
committer | Rahul Kumar <rahku@microsoft.com> | 2016-04-26 10:12:06 -0700 |
commit | 27fc507393a641542a939168b41585895b6b4fc2 (patch) | |
tree | 4e979ea708fe9af0987087a155cf27135e049e97 /compileoptions.cmake | |
parent | 5fe61b36cc72d43263fc892c754bb9f46acb5ef5 (diff) | |
download | coreclr-27fc507393a641542a939168b41585895b6b4fc2.tar.gz coreclr-27fc507393a641542a939168b41585895b6b4fc2.tar.bz2 coreclr-27fc507393a641542a939168b41585895b6b4fc2.zip |
This has following changes:
1. Update arm64 toolset to latest.
2. Link against ucrt.
3. Fix tls offsets which have changed due to updated toolset
4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++.
5. Enable build of sos which can be loaded in arm64 windbg
6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.
Diffstat (limited to 'compileoptions.cmake')
-rw-r--r-- | compileoptions.cmake | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/compileoptions.cmake b/compileoptions.cmake index 4ec51d3ad2..739b1a214c 100644 --- a/compileoptions.cmake +++ b/compileoptions.cmake @@ -96,19 +96,18 @@ if (WIN32) add_compile_options($<$<CONFIG:Debug>:/homeparams>) # Force parameters passed in registers to be written to the stack endif (CLR_CMAKE_PLATFORM_ARCH_AMD64) - if(NOT CLR_CMAKE_PLATFORM_ARCH_ARM64) - # enable control-flow-guard support for native components for non-Arm64 builds - add_compile_options(/guard:cf) - - # Statically linked CRT (libcmt[d].lib, libvcruntime[d].lib and libucrt[d].lib) by default. This is done to avoid - # linking in VCRUNTIME140.DLL for a simplified xcopy experience by reducing the dependency on VC REDIST. - # - # For Release builds, we shall dynamically link into uCRT [ucrtbase.dll] (which is pushed down as a Windows Update on downlevel OS) but - # wont do the same for debug/checked builds since ucrtbased.dll is not redistributable and Debug/Checked builds are not - # production-time scenarios. - add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/MT>) - add_compile_options($<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:/MTd>) - endif (NOT CLR_CMAKE_PLATFORM_ARCH_ARM64) + # enable control-flow-guard support for native components for non-Arm64 builds + add_compile_options(/guard:cf) + + # Statically linked CRT (libcmt[d].lib, libvcruntime[d].lib and libucrt[d].lib) by default. This is done to avoid + # linking in VCRUNTIME140.DLL for a simplified xcopy experience by reducing the dependency on VC REDIST. + # + # For Release builds, we shall dynamically link into uCRT [ucrtbase.dll] (which is pushed down as a Windows Update on downlevel OS) but + # wont do the same for debug/checked builds since ucrtbased.dll is not redistributable and Debug/Checked builds are not + # production-time scenarios. + add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/MT>) + add_compile_options($<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:/MTd>) + endif (WIN32) if(CMAKE_ENABLE_CODE_COVERAGE) |