diff options
author | Vladimir Sadov <vsadov@microsoft.com> | 2021-03-03 08:16:30 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-03 08:16:30 +0300 |
commit | 146c865f7472b569e7fa3354ab9f0cd08c9496dc (patch) | |
tree | f3d96b008b86d491c8c4d9058727f56bf3732f00 /src/coreclr/dlls | |
parent | 30560e25a4fa6e0e304bd698e69dbdbf99e02d41 (diff) |
Embedding dac and other debugging resources into singlefilehost (#49033)
* Embedding dac and other debugging resources into singlefilehost
* Embed DAC later, when it had a chance to be signed.
* MINIDUMP_EMBEDDED_AUXILIARY_PROVIDER
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
* fix for cross builds
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
Diffstat (limited to 'src/coreclr/dlls')
-rw-r--r-- | src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt b/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt index 705caaedb51..b22ccf1a6bc 100644 --- a/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/coreclr/dlls/mscoree/coreclr/CMakeLists.txt @@ -204,16 +204,28 @@ if(CLR_CMAKE_TARGET_WIN32) endif() add_custom_command( - DEPENDS coreclr mscordaccore mscordbi ${CLR_DIR}/debug/daccess/daccess.cpp + DEPENDS coreclr singlefilehost mscordaccore mscordbi ${CLR_DIR}/debug/daccess/daccess.cpp OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp COMMAND ${CMAKE_CXX_COMPILER} /P /EP /TP ${PREPROCESS_DEFINITIONS} ${INC_DIR} /Fi${CMAKE_CURRENT_BINARY_DIR}/daccess.i ${CLR_DIR}/debug/daccess/daccess.cpp + + # make and inject dactable for coreclr COMMAND cmd /c ${CLR_REPO_ROOT_DIR}/dotnet.cmd exec ${CMAKE_INSTALL_PREFIX}/DacTableGen/DacTableGen.dll /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:$<TARGET_PDB_FILE:coreclr> /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr> + + # make and inject dactable for singlefilehost + COMMAND cmd /c ${CLR_REPO_ROOT_DIR}/dotnet.cmd exec ${CMAKE_INSTALL_PREFIX}/DacTableGen/DacTableGen.dll /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:$<TARGET_PDB_FILE:singlefilehost> /dll:$<TARGET_FILE:singlefilehost> /bin:${CMAKE_CURRENT_BINARY_DIR}/sfh.bin + COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/sfh.bin /dll:$<TARGET_FILE:singlefilehost> + + # make CLRDEBUGINFO resource and inject into coreclr and singlefilehost COMMAND GenClrDebugResource /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /name:CLRDEBUGINFO + COMMAND InjectResource /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:singlefilehost> /name:CLRDEBUGINFO + + # inject MINIDUMP_AUXILIARY_PROVIDER into coreclr COMMAND InjectResource /bin:${CMAKE_CURRENT_SOURCE_DIR}/dump_helper_resource.bin /dll:$<TARGET_FILE:coreclr> /name:MINIDUMP_AUXILIARY_PROVIDER + COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp - COMMENT Add dactable, debug resources, and dump helper resources to coreclr + COMMENT Add dactable, debug resources, and dump helper resources to coreclr and singlefilehost ) if(NOT DEFINED CLR_CROSS_COMPONENTS_BUILD) |