Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.

Commit

Permalink
FH4消除TLS依赖
Browse files Browse the repository at this point in the history
  • Loading branch information
mingkuang-Chuyu committed Oct 28, 2019
1 parent cdd02a4 commit 0159d7e
Show file tree
Hide file tree
Showing 92 changed files with 553 additions and 146 deletions.
4 changes: 2 additions & 2 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@ If VC-LTL is referenced correctly, it will be output at the time of generation:
* 由于WinXP本身Bug,printf相关函数输入缓冲区最大字符数为0x3FFFFFFF(包含)。当你需要兼容XP时,请务必确认缓冲区输入长度小于0x3FFFFFFF,或者直接使用 `_CRT_STDIO_SIZE_MAX` 宏。(4.0.2.5 Advanced模式已经修正此问题)
* 由于WinXP本身Bug,printf相关函数无法正常支持`%ll`。当你需要兼容XP时,请优先考虑使用`%I64`代替。(4.0.2.5 Advanced模式已经修正此问题)
* 由于msvcrt本身限制,`setlocale/_create_locale`相关函数不支持UCRT的locale name,使用时必须按VC 2008规范使用,比如 `setlocale(0, "chs");` 这样调用,而不是传入 `setlocale(0, "zh-CN");`
* 由于FH4异常(`/d2FH4` VS2019新增功能)实现过程中使用了TLS,因此在兼容“Windows XP(2003) x64”时请务必确保不要在DllMain中使用FH4 catch,否则将导致dll直接加载失败。


## Excursus - Known project using VC-LTL
Expand Down Expand Up @@ -458,6 +457,7 @@ If VC-LTL is referenced correctly, it will be output at the time of generation:
* [Improve 53](https://github.com/Chuyu-Team/VC-LTL/issues/53), disable reference elimination for the STL library and avoid LLVM link failure (Thanks to hotxp, BigBrother).


### 4.0.3.2 - Improved Support (Sep 27, 2019 20:00)
### 4.0.3.3 - Improved Support (Oct 27, 2019 20:00)
* Improve, Improve the experience of VC-LTL in VS (Thanks to MouriNaruto).
* New Fea, add VS 14.23.28105 support.
* Improve, FH4 removes TLS dependencies.
8 changes: 4 additions & 4 deletions ReadMe.osc.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,9 @@ nmake /f Test.mak


## 5. 已知问题
* 由于WinXP本身Bug,printf相关函数输入缓冲区最大字符数为0x3FFFFFFF(包含)。当你需要兼容XP时,请务必确认缓冲区输入长度小于0x3FFFFFFF,或者直接使用 `_CRT_STDIO_SIZE_MAX` 宏。(4.0.2.5 Advanced模式已经修正此问题)
* 由于WinXP本身Bug,printf相关函数无法正常支持`%ll`。当你需要兼容XP时,请优先考虑使用`%I64`代替。(4.0.2.5 Advanced模式已经修正此问题)
* 由于WinXP本身Bug,printf相关函数输入缓冲区最大字符数为0x3FFFFFFF(包含)。当你需要兼容XP时,请务必确认缓冲区输入长度小于0x3FFFFFFF,或者直接使用 `_CRT_STDIO_SIZE_MAX` 宏。(4.0.2.5 Advanced模式已经修正此问题)
* 由于WinXP本身Bug,printf相关函数无法正常支持`%ll`。当你需要兼容XP时,请优先考虑使用`%I64`代替。(4.0.2.5 Advanced模式已经修正此问题)
* 由于msvcrt本身限制,`setlocale/_create_locale`相关函数不支持UCRT的locale name,使用时必须按VC 2008规范使用,比如 `setlocale(0, "chs");` 这样调用,而不是传入 `setlocale(0, "zh-CN");`
* 由于FH4异常(`/d2FH4` VS2019新增功能)实现过程中使用了TLS,因此在兼容“Windows XP(2003) x64”时请务必确保不要在DllMain中使用FH4 catch,否则将导致dll直接加载失败。

## 附:已知使用VC-LTL的官方项目

Expand Down Expand Up @@ -446,6 +445,7 @@ nmake /f Test.mak
* [改进体验 53](https://github.com/Chuyu-Team/VC-LTL/issues/53),关闭对STL库的引用消除,规避LLVM链接失败问题(感谢 hotxp、BigBrother)。


### 4.0.3.2 - 改进支持(2019-09-27 20:00)
### 4.0.3.3 - 改进支持(2019-10-27 20:00)
* 改进体验,改进VS用户使用VC-LTL的体验(感谢 毛利)。
* 新增Fea,添加14.23.28105支持。
* 行为调整,消除FH4对TLS的依赖。
4 changes: 3 additions & 1 deletion src/14.0.23918/Build/ltlbuild/ltlbuild.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,9 @@
<ClCompile Include="..\..\vcruntime\tlsdtor.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp" />
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
<ClCompile Include="..\..\vcruntime\tncleanup.cpp" />
<ClCompile Include="..\..\vcruntime\ucrt_detection.c" />
Expand Down
20 changes: 15 additions & 5 deletions src/14.0.23918/Build/ltlbuild_CLR/ltlbuild_CLR.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,26 @@
<ClCompile Include="..\..\..\mehvecdtr.cpp" />
<ClCompile Include="..\..\vcruntime\locale0_implib.cpp" />
<ClCompile Include="..\..\vcruntime\managdeh.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mlfind.cpp" />
<ClCompile Include="..\..\vcruntime\mlsearch.cpp" />
<ClCompile Include="..\..\vcruntime\mqsort.cpp" />
<ClCompile Include="..\..\vcruntime\msilexit.cpp" />
<ClCompile Include="..\..\vcruntime\mstartup.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\pureMSILcode.cpp" />
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
</ItemGroup>
Expand Down
4 changes: 4 additions & 0 deletions src/14.0.23918/Build/vcruntime/vcruntime.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,10 @@
<ExcludedFromBuild Condition="'$(Platform)'!='Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\frame_thunks.cpp" />
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
<ExcludedFromBuild Condition="'$(SupportWinXP)'!='true'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\amd64\trnsctrl.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
</ClCompile>
Expand Down
3 changes: 3 additions & 0 deletions src/14.0.23918/Build/vcruntime/vcruntime.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@
<ClCompile Include="..\..\vcruntime\frame.cpp">
<Filter>源文件\vc</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<Filter>源文件\ltl</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="vcruntime.rc">
Expand Down
4 changes: 4 additions & 0 deletions src/14.0.23918/amd64/trnsctrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <ehhooks.h>
#include <ehstate.h>
#include <trnsctrl.h>
#include <ptd_downlevel.h>

#if _CRT_NTDDI_MIN >= NTDDI_WIN6
#define pFrameInfoChain (*((FRAMEINFO **) &(__acrt_getptd()->VistaOrLater_msvcrt._pFrameInfoChain)))
Expand All @@ -22,6 +23,9 @@
#else
#define pFrameInfoChain (*((FRAMEINFO **) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__acrt_getptd()->XP_msvcrt._pFrameInfoChain) : \
&(__acrt_getptd()->VistaOrLater_msvcrt._pFrameInfoChain))))
#define _ImageBase (*((uintptr_t*) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_ImageBase) : &(__acrt_getptd()->VistaOrLater_msvcrt._ImageBase))))
#define _ThrowImageBase (*((uintptr_t*) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_ThrowImageBase) : &(__acrt_getptd()->VistaOrLater_msvcrt._ThrowImageBase))))
#define _pForeignExcept (*(EHExceptionRecord**)(__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_pForeignException) : &(__acrt_getptd()->VistaOrLater_msvcrt._pForeignException)))
#endif

#if 0
Expand Down
4 changes: 3 additions & 1 deletion src/14.0.24210/Build/ltlbuild/ltlbuild.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,9 @@
<ClCompile Include="..\..\vcruntime\tlsdtor.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp" />
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
<ClCompile Include="..\..\vcruntime\tncleanup.cpp" />
<ClCompile Include="..\..\vcruntime\ucrt_detection.c" />
Expand Down
20 changes: 15 additions & 5 deletions src/14.0.24210/Build/ltlbuild_CLR/ltlbuild_CLR.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,26 @@
<ClCompile Include="..\..\..\mehvecdtr.cpp" />
<ClCompile Include="..\..\vcruntime\locale0_implib.cpp" />
<ClCompile Include="..\..\vcruntime\managdeh.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mlfind.cpp" />
<ClCompile Include="..\..\vcruntime\mlsearch.cpp" />
<ClCompile Include="..\..\vcruntime\mqsort.cpp" />
<ClCompile Include="..\..\vcruntime\msilexit.cpp" />
<ClCompile Include="..\..\vcruntime\mstartup.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\pureMSILcode.cpp" />
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
</ItemGroup>
Expand Down
4 changes: 4 additions & 0 deletions src/14.0.24210/Build/vcruntime/vcruntime.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,10 @@
<ExcludedFromBuild Condition="'$(Platform)'!='Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\frame_thunks.cpp" />
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
<ExcludedFromBuild Condition="'$(SupportWinXP)'!='true'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\amd64\trnsctrl.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
</ClCompile>
Expand Down
3 changes: 3 additions & 0 deletions src/14.0.24210/Build/vcruntime/vcruntime.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@
<ClCompile Include="..\..\i386\trnsctrl.cpp">
<Filter>源文件\vc\x86</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<Filter>源文件\ltl</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="vcruntime.rc">
Expand Down
4 changes: 4 additions & 0 deletions src/14.0.24210/amd64/trnsctrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <ehhooks.h>
#include <ehstate.h>
#include <trnsctrl.h>
#include <ptd_downlevel.h>

#if _CRT_NTDDI_MIN >= NTDDI_WIN6
#define pFrameInfoChain (*((FRAMEINFO **) &(__acrt_getptd()->VistaOrLater_msvcrt._pFrameInfoChain)))
Expand All @@ -22,6 +23,9 @@
#else
#define pFrameInfoChain (*((FRAMEINFO **) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__acrt_getptd()->XP_msvcrt._pFrameInfoChain) : \
&(__acrt_getptd()->VistaOrLater_msvcrt._pFrameInfoChain))))
#define _ImageBase (*((uintptr_t*) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_ImageBase) : &(__acrt_getptd()->VistaOrLater_msvcrt._ImageBase))))
#define _ThrowImageBase (*((uintptr_t*) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_ThrowImageBase) : &(__acrt_getptd()->VistaOrLater_msvcrt._ThrowImageBase))))
#define _pForeignExcept (*(EHExceptionRecord**)(__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_pForeignException) : &(__acrt_getptd()->VistaOrLater_msvcrt._pForeignException)))
#endif

#if 0
Expand Down
4 changes: 3 additions & 1 deletion src/14.0.24225/Build/ltlbuild/ltlbuild.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,9 @@
<ClCompile Include="..\..\vcruntime\tlsdtor.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp" />
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
<ClCompile Include="..\..\vcruntime\tncleanup.cpp" />
<ClCompile Include="..\..\vcruntime\ucrt_detection.c" />
Expand Down
20 changes: 15 additions & 5 deletions src/14.0.24225/Build/ltlbuild_CLR/ltlbuild_CLR.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,26 @@
<ClCompile Include="..\..\..\mehvecdtr.cpp" />
<ClCompile Include="..\..\vcruntime\locale0_implib.cpp" />
<ClCompile Include="..\..\vcruntime\managdeh.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mlfind.cpp" />
<ClCompile Include="..\..\vcruntime\mlsearch.cpp" />
<ClCompile Include="..\..\vcruntime\mqsort.cpp" />
<ClCompile Include="..\..\vcruntime\msilexit.cpp" />
<ClCompile Include="..\..\vcruntime\mstartup.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\pureMSILcode.cpp" />
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
</ItemGroup>
Expand Down
4 changes: 4 additions & 0 deletions src/14.0.24225/Build/vcruntime/vcruntime.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,10 @@
<ExcludedFromBuild Condition="'$(Platform)'!='Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\frame_thunks.cpp" />
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
<ExcludedFromBuild Condition="'$(SupportWinXP)'!='true'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\amd64\trnsctrl.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
</ClCompile>
Expand Down
3 changes: 3 additions & 0 deletions src/14.0.24225/Build/vcruntime/vcruntime.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@
<ClCompile Include="..\..\i386\trnsctrl.cpp">
<Filter>源文件\vc\x86</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<Filter>源文件\ltl</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="vcruntime.rc">
Expand Down
6 changes: 4 additions & 2 deletions src/14.0.24225/amd64/trnsctrl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <ehhooks.h>
#include <ehstate.h>
#include <trnsctrl.h>
#include <ptd_downlevel.h>

#if _CRT_NTDDI_MIN >= NTDDI_WIN6
#define pFrameInfoChain (*((FRAMEINFO **) &(__acrt_getptd()->VistaOrLater_msvcrt._pFrameInfoChain)))
Expand All @@ -22,6 +23,9 @@
#else
#define pFrameInfoChain (*((FRAMEINFO **) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__acrt_getptd()->XP_msvcrt._pFrameInfoChain) : \
&(__acrt_getptd()->VistaOrLater_msvcrt._pFrameInfoChain))))
#define _ImageBase (*((uintptr_t*) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_ImageBase) : &(__acrt_getptd()->VistaOrLater_msvcrt._ImageBase))))
#define _ThrowImageBase (*((uintptr_t*) (__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_ThrowImageBase) : &(__acrt_getptd()->VistaOrLater_msvcrt._ThrowImageBase))))
#define _pForeignExcept (*(EHExceptionRecord**)(__LTL_GetOsMinVersion() < 0x00060000 ? &(__LTL_get_ptd_downlevel()->_pForeignException) : &(__acrt_getptd()->VistaOrLater_msvcrt._pForeignException)))
#endif

#if 0
Expand Down Expand Up @@ -65,7 +69,6 @@ EHRegistrationNode * __cdecl _GetEstablisherFrame(
}
#endif

#if _CRT_NTDDI_MIN >= NTDDI_WIN6
extern "C" uintptr_t __cdecl _GetImageBase()
{
return _ImageBase;
Expand All @@ -85,7 +88,6 @@ extern "C" void __cdecl _SetThrowImageBase(uintptr_t NewThrowImageBase)
{
_ThrowImageBase = NewThrowImageBase;
}
#endif

#if 0
extern "C" void _MoveContext(CONTEXT* pTarget, CONTEXT* pSource)
Expand Down
4 changes: 3 additions & 1 deletion src/14.0.24231/Build/ltlbuild/ltlbuild.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -521,7 +521,9 @@
<ClCompile Include="..\..\vcruntime\tlsdtor.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp" />
<ClCompile Include="..\..\vcruntime\tlsdyn.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
<ClCompile Include="..\..\vcruntime\tncleanup.cpp" />
<ClCompile Include="..\..\vcruntime\ucrt_detection.c" />
Expand Down
20 changes: 15 additions & 5 deletions src/14.0.24231/Build/ltlbuild_CLR/ltlbuild_CLR.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,26 @@
<ClCompile Include="..\..\..\mehvecdtr.cpp" />
<ClCompile Include="..\..\vcruntime\locale0_implib.cpp" />
<ClCompile Include="..\..\vcruntime\managdeh.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\ManagedMain.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mlfind.cpp" />
<ClCompile Include="..\..\vcruntime\mlsearch.cpp" />
<ClCompile Include="..\..\vcruntime\mqsort.cpp" />
<ClCompile Include="..\..\vcruntime\msilexit.cpp" />
<ClCompile Include="..\..\vcruntime\mstartup.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp" />
<ClCompile Include="..\..\vcruntime\mwcrtexe.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\mwcrtexew.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
</ClCompile>
<ClCompile Include="..\..\vcruntime\pureMSILcode.cpp" />
<ClCompile Include="..\..\vcruntime\tlssup.cpp" />
</ItemGroup>
Expand Down
4 changes: 4 additions & 0 deletions src/14.0.24231/Build/vcruntime/vcruntime.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,10 @@
<ExcludedFromBuild Condition="'$(Platform)'!='Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\..\frame_thunks.cpp" />
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<RemoveUnreferencedCodeData>false</RemoveUnreferencedCodeData>
<ExcludedFromBuild Condition="'$(SupportWinXP)'!='true'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\amd64\trnsctrl.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
</ClCompile>
Expand Down
3 changes: 3 additions & 0 deletions src/14.0.24231/Build/vcruntime/vcruntime.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@
<ClCompile Include="..\..\i386\trnsctrl.cpp">
<Filter>源文件\vc\x86</Filter>
</ClCompile>
<ClCompile Include="..\..\..\ptd_downlevel.cpp">
<Filter>源文件\ltl</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="vcruntime.rc">
Expand Down
Loading

0 comments on commit 0159d7e

Please sign in to comment.