summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAliaksey Kandratsenka <alkondratenko@gmail.com>2020-07-05 22:49:41 -0700
committerAliaksey Kandratsenka <alkondratenko@gmail.com>2020-07-05 23:17:36 -0700
commite521472f1ac1ecf028e8c922ca4f8741473afd66 (patch)
tree5e7272a035657f7ad1c479af9ea1ea174f5e0ce5
parente5f77d6485bd2f6ce43862e3e57118b1bb97d30a (diff)
downloadgperftools-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.vcxproj35
-rw-r--r--vsprojects/page_heap_test/page_heap_test.vcxproj.filters71
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>