diff options
author | Aliaksey Kandratsenka <alkondratenko@gmail.com> | 2020-07-05 22:49:41 -0700 |
---|---|---|
committer | Aliaksey Kandratsenka <alkondratenko@gmail.com> | 2020-07-05 23:17:36 -0700 |
commit | e521472f1ac1ecf028e8c922ca4f8741473afd66 (patch) | |
tree | 5e7272a035657f7ad1c479af9ea1ea174f5e0ce5 | |
parent | e5f77d6485bd2f6ce43862e3e57118b1bb97d30a (diff) | |
download | gperftools-e521472f1ac1ecf028e8c922ca4f8741473afd66.tar.gz |
fix linking of page_heap_test on windows
After change to release page heap lock around returning memory back to
kernel, page heap test got dependency on page heap lock. Which was not
available on windows since relevant symbols are not exported.
Proposed fix is to simply duplicate all needed .cc files in
page_heap_test project instead of linking to dll. This is not perfect
but gets job done, until we figure out better solution (GNU/Linux will
eventually get hidden visibility and will need it).
This fixes github issue 1189.
-rw-r--r-- | vsprojects/page_heap_test/page_heap_test.vcxproj | 35 | ||||
-rw-r--r-- | vsprojects/page_heap_test/page_heap_test.vcxproj.filters | 71 |
2 files changed, 94 insertions, 12 deletions
diff --git a/vsprojects/page_heap_test/page_heap_test.vcxproj b/vsprojects/page_heap_test/page_heap_test.vcxproj index df527b5..8503a0d 100644 --- a/vsprojects/page_heap_test/page_heap_test.vcxproj +++ b/vsprojects/page_heap_test/page_heap_test.vcxproj @@ -123,7 +123,6 @@ </ClCompile>
<Link>
<SubSystem>Console</SubSystem>
- <ForceSymbolReferences>__tcmalloc;%(ForceSymbolReferences)</ForceSymbolReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -134,7 +133,6 @@ </ClCompile>
<Link>
<SubSystem>Console</SubSystem>
- <ForceSymbolReferences>__tcmalloc;%(ForceSymbolReferences)</ForceSymbolReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Patch|Win32'">
@@ -148,7 +146,6 @@ <SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <ForceSymbolReferences>__tcmalloc;%(ForceSymbolReferences)</ForceSymbolReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Override|Win32'">
@@ -176,7 +173,6 @@ <SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
- <ForceSymbolReferences>__tcmalloc;%(ForceSymbolReferences)</ForceSymbolReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Override|x64'">
@@ -194,7 +190,30 @@ </Link>
</ItemDefinitionGroup>
<ItemGroup>
+ <ClCompile Include="..\..\src\base\dynamic_annotations.c" />
+ <ClCompile Include="..\..\src\base\logging.cc" />
+ <ClCompile Include="..\..\src\base\low_level_alloc.cc" />
+ <ClCompile Include="..\..\src\base\spinlock.cc" />
+ <ClCompile Include="..\..\src\base\spinlock_internal.cc" />
+ <ClCompile Include="..\..\src\base\sysinfo.cc" />
+ <ClCompile Include="..\..\src\central_freelist.cc" />
+ <ClCompile Include="..\..\src\common.cc" />
+ <ClCompile Include="..\..\src\fake_stacktrace_scope.cc" />
+ <ClCompile Include="..\..\src\internal_logging.cc" />
+ <ClCompile Include="..\..\src\malloc_extension.cc" />
+ <ClCompile Include="..\..\src\malloc_hook.cc" />
+ <ClCompile Include="..\..\src\page_heap.cc" />
+ <ClCompile Include="..\..\src\raw_printer.cc" />
+ <ClCompile Include="..\..\src\sampler.cc" />
+ <ClCompile Include="..\..\src\span.cc" />
+ <ClCompile Include="..\..\src\stack_trace_table.cc" />
+ <ClCompile Include="..\..\src\stacktrace.cc" />
+ <ClCompile Include="..\..\src\static_vars.cc" />
+ <ClCompile Include="..\..\src\symbolize.cc" />
<ClCompile Include="..\..\src\tests\page_heap_test.cc" />
+ <ClCompile Include="..\..\src\thread_cache.cc" />
+ <ClCompile Include="..\..\src\windows\port.cc" />
+ <ClCompile Include="..\..\src\windows\system-alloc.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\base\logging.h" />
@@ -204,13 +223,7 @@ <ClInclude Include="..\..\src\windows\config.h" />
<ClInclude Include="..\..\src\windows\port.h" />
</ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\libtcmalloc_minimal\libtcmalloc_minimal.vcxproj">
- <Project>{55e2b3ae-3ca1-4db6-97f7-0a044d6f446f}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- </ProjectReference>
- </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
\ No newline at end of file +</Project>
diff --git a/vsprojects/page_heap_test/page_heap_test.vcxproj.filters b/vsprojects/page_heap_test/page_heap_test.vcxproj.filters index eeec22e..2b8c023 100644 --- a/vsprojects/page_heap_test/page_heap_test.vcxproj.filters +++ b/vsprojects/page_heap_test/page_heap_test.vcxproj.filters @@ -11,9 +11,78 @@ </Filter>
</ItemGroup>
<ItemGroup>
+ <ClCompile Include="..\..\src\base\dynamic_annotations.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\base\logging.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\base\low_level_alloc.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\base\spinlock.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\base\spinlock_internal.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\base\sysinfo.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\central_freelist.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\common.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\fake_stacktrace_scope.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\internal_logging.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\malloc_extension.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\malloc_hook.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\page_heap.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\raw_printer.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\sampler.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\span.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\stack_trace_table.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\stacktrace.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\static_vars.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\symbolize.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
<ClCompile Include="..\..\src\tests\page_heap_test.cc">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\src\thread_cache.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\windows\port.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\windows\system-alloc.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\page_heap.h">
@@ -35,4 +104,4 @@ <Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
-</Project>
\ No newline at end of file +</Project>
|