diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2017-04-13 14:17:19 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2017-04-13 14:17:19 +0900 |
commit | a56e30c8d33048216567753d9d3fefc2152af8ac (patch) | |
tree | 7e5d979695fc4a431740982eb1cfecc2898b23a5 /src/dlls/mscoree | |
parent | 4b11dc566a5bbfa1378d6266525c281b028abcc8 (diff) | |
download | coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.tar.gz coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.tar.bz2 coreclr-a56e30c8d33048216567753d9d3fefc2152af8ac.zip |
Imported Upstream version 2.0.0.11353upstream/2.0.0.11353
Diffstat (limited to 'src/dlls/mscoree')
-rw-r--r-- | src/dlls/mscoree/coreclr/CMakeLists.txt | 21 | ||||
-rw-r--r-- | src/dlls/mscoree/coreclr/README.md | 7 | ||||
-rw-r--r-- | src/dlls/mscoree/coreclr/dump_helper_resource.bin | bin | 0 -> 17 bytes | |||
-rw-r--r-- | src/dlls/mscoree/mscoree.cpp | 24 | ||||
-rw-r--r-- | src/dlls/mscoree/mscorwks_ntdef.src | 168 |
5 files changed, 17 insertions, 203 deletions
diff --git a/src/dlls/mscoree/coreclr/CMakeLists.txt b/src/dlls/mscoree/coreclr/CMakeLists.txt index afd18d6c27..3144b5139f 100644 --- a/src/dlls/mscoree/coreclr/CMakeLists.txt +++ b/src/dlls/mscoree/coreclr/CMakeLists.txt @@ -159,23 +159,22 @@ if(WIN32) endif() add_custom_command( - TARGET coreclr - POST_BUILD + DEPENDS coreclr mscordaccore mscordbi ${CLR_DIR}/src/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}/src/debug/daccess/daccess.cpp COMMAND ${BuildToolsDir}/dactablegen.exe /dac:${CMAKE_CURRENT_BINARY_DIR}/daccess.i /pdb:${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/coreclr.pdb /dll:$<TARGET_FILE:coreclr> /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin COMMAND ${BuildToolsDir}/InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/wks.bin /dll:$<TARGET_FILE:coreclr> COMMAND ${BuildToolsDir}/GenClrDebugResource.exe /dac:$<TARGET_FILE:mscordaccore> /dbi:$<TARGET_FILE:mscordbi> /sku:onecoreclr /out:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin COMMAND ${BuildToolsDir}/InjectResource.exe /bin:${CMAKE_CURRENT_BINARY_DIR}/clrDebugResource.bin /dll:$<TARGET_FILE:coreclr> /name:CLRDEBUGINFO - COMMENT Add dactable & debug resources to coreclr - ) -else() - add_custom_command( - TARGET coreclr - POST_BUILD - VERBATIM - COMMAND sh ${CLR_DIR}/src/pal/tools/gen-dactable-rva.sh $<TARGET_FILE:coreclr> ${GENERATED_INCLUDE_DIR}/dactablerva.h - COMMENT Generating ${GENERATED_INCLUDE_DIR}/dactablerva.h + COMMAND ${BuildToolsDir}/InjectResource.exe /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 ) + + if(NOT DEFINED CLR_CROSS_COMPONENTS_BUILD) + add_custom_target(inject_debug_resources ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/inject_debug_resources.timestamp) + endif() + endif(WIN32) # add the install targets diff --git a/src/dlls/mscoree/coreclr/README.md b/src/dlls/mscoree/coreclr/README.md new file mode 100644 index 0000000000..b33473bca4 --- /dev/null +++ b/src/dlls/mscoree/coreclr/README.md @@ -0,0 +1,7 @@ +dump\_helper\_resource.bin in this folder is a text file with a single 0 byte appended on the end using a hex-editor. It is unlikely it will need to be modified frequently if at all, +but if that changes we can always create a little nicer tooling for it. + +dump\_helper\_resource.bin is used to populate the DUMP\_HELPER resource inside coreclr.dll on Windows. When an application crashes, Windows MinidumpWriteDump is planning to scan +modules looking for this resource. The content of the resource is expected to be the name of a dll in the same folder, encoded in UTF8, null terminated, that implements the +CLRDataCreateInterface function. For OS security purposes MinidumpWriteDump will do an authenticode signing check before loading the indicated binary, however if your build isn't +signed you can get around this limitation by registering it at HKLM\Software\Microsoft\WindowsNT\CurrentVersion\MiniDumpAuxilliaryDlls.
\ No newline at end of file diff --git a/src/dlls/mscoree/coreclr/dump_helper_resource.bin b/src/dlls/mscoree/coreclr/dump_helper_resource.bin Binary files differnew file mode 100644 index 0000000000..aa2d9eae1f --- /dev/null +++ b/src/dlls/mscoree/coreclr/dump_helper_resource.bin diff --git a/src/dlls/mscoree/mscoree.cpp b/src/dlls/mscoree/mscoree.cpp index 8ec460eedd..f33f0955e4 100644 --- a/src/dlls/mscoree/mscoree.cpp +++ b/src/dlls/mscoree/mscoree.cpp @@ -383,30 +383,6 @@ STDAPI ReOpenMetaDataWithMemoryEx( return hr; } -#ifdef FEATURE_FUSION -// --------------------------------------------------------------------------- -// %%Function: GetAssemblyMDImport -// This function gets the IMDAssemblyImport given the filename -// --------------------------------------------------------------------------- -STDAPI GetAssemblyMDImport( // Return code. - LPCWSTR szFileName, // [in] The scope to open. - REFIID riid, // [in] The interface desired. - IUnknown **ppIUnk) // [out] Return interface on success. -{ - CONTRACTL - { - NOTHROW; - ENTRY_POINT; - } - CONTRACTL_END; - HRESULT hr=S_OK; - BEGIN_ENTRYPOINT_NOTHROW; - - hr=GetAssemblyMDInternalImport(szFileName, riid, ppIUnk); - END_ENTRYPOINT_NOTHROW; - return hr; -} -#endif #ifndef CROSSGEN_COMPILE // --------------------------------------------------------------------------- diff --git a/src/dlls/mscoree/mscorwks_ntdef.src b/src/dlls/mscoree/mscorwks_ntdef.src index 13656d7aca..8115475418 100644 --- a/src/dlls/mscoree/mscorwks_ntdef.src +++ b/src/dlls/mscoree/mscorwks_ntdef.src @@ -7,7 +7,6 @@ EXPORTS ; Common exports ; -#ifdef FEATURE_CORECLR GetCLRRuntimeHost @@ -29,170 +28,3 @@ EXPORTS GetMetaDataInternalInterfaceFromPublic GetMetaDataPublicInterfaceFromInternal -#else //FEATURE_CORECLR - -; VM - DllGetClassObjectInternal private - DllGetActivationFactoryImpl private - GetClassActivatorForApplicationImpl private - MetaDataGetDispenser - GetMetaDataInternalInterface - GetMetaDataInternalInterfaceFromPublic - GetMetaDataPublicInterfaceFromInternal - _CorExeMain2 - _CorDllMain - CoInitializeEE - CoUninitializeEE - CoInitializeCor - CoUninitializeCor - PostErrorVA - - LoadStringRC @22 - ReOpenMetaDataWithMemory @23 - - LoadStringRCEx - ReOpenMetaDataWithMemoryEx private - TranslateSecurityAttributes private - GetPermissionRequests - CorExitProcess -#ifdef FEATURE_CLICKONCE - CorLaunchApplication -#endif - - CorMarkThreadInThreadPool - - LogHelp_LogAssert private - LogHelp_NoGuiOnAssert private - LogHelp_TerminateOnAssert private - - GetPrivateContextsPerfCounters private - - GetAssemblyMDImport private - - IEE private - -#ifdef FEATURE_FUSION -; Fusion - GetCachePath - CreateAssemblyNameObject - CreateApplicationContext - CreateAssemblyCache - CreateAssemblyEnum - CreateHistoryReader - LookupHistoryAssembly - GetHistoryFileDirectory - PreBindAssembly - PreBindAssemblyEx - SetMSIHandleForLogging - NukeDownloadedCache - ClearDownloadCache - GetCLRIdentityManager - CreateAssemblyConfigCookie - DestroyAssemblyConfigCookie - CompareAssemblyIdentity - CompareAssemblyIdentityWithConfig - InitializeFusion private - CopyPDBs private - DeleteShadowCache private -#endif -; Strong Name - StrongNameErrorInfo - StrongNameFreeBuffer - StrongNameKeyGen - StrongNameKeyGenEx - StrongNameKeyInstall - StrongNameKeyDelete - StrongNameGetPublicKey - StrongNameSignatureGeneration - StrongNameSignatureGenerationEx - StrongNameTokenFromAssembly - StrongNameTokenFromAssemblyEx - StrongNameTokenFromPublicKey - StrongNameSignatureVerification - StrongNameCompareAssemblies - StrongNameHashSize - StrongNameSignatureSize - StrongNameSignatureVerificationEx - GetHashFromAssemblyFile - GetHashFromAssemblyFileW - GetHashFromBlob - GetHashFromFile - GetHashFromFileW - GetHashFromHandle - StrongNameSignatureVerificationFromImage - StrongNameGetBlob - StrongNameGetBlobFromImage - StrongNameSignatureVerificationEx2 - StrongNameGetPublicKeyEx - StrongNameDigestGenerate - StrongNameDigestSign - StrongNameDigestEmbed - -; VM -#ifdef FEATURE_COMINTEROP - DllCanUnloadNowInternal private -#endif -#ifdef FEATURE_COMINTEROP_REGISTRATION - ClrCreateManagedInstance - DllRegisterServerInternal private - DllUnregisterServerInternal private - EEDllRegisterServer private - EEDllUnregisterServer private -#endif - SetRuntimeInfo - _CorExeMain -#ifdef FEATURE_MIXEDMODE - CorDllMainForThunk private -#endif - CoEEShutDownCOM -#ifdef FEATURE_PREJIT - NGenCreateNGenWorker - LegacyNGenCreateZapper - LegacyNGenFreeZapper - LegacyNGenTryEnumerateFusionCache - LegacyNGenCompile -#endif - GetAddrOfContractShutoffFlag private - GetCLRFunction private - -#ifdef PROFILING_SUPPORTED - AttachProfiler private -#endif // PROFILING_SUPPORTED - -#ifdef FEATURE_FUSION -; Fusion - CreateInstallReferenceEnum - InstallCustomModule - GetAssemblyIdentityFromFile - GetIdentityAuthority private - ParseManifest private - CreateCMSFromXml private - GetAppIdAuthority private - GetUserStore private - CreateActContext private - GetUserStateManager private -; CreateCMSFromXmlInternal private -; GetUserStoreInternal private -; ParseManifestInternal private -; CreateActContextInternal private -; GetUserStateManagerInternal private - CertCreateAuthenticodeLicense private - CertTimestampAuthenticodeLicense private - CertVerifyAuthenticodeLicense private - CertFreeAuthenticodeSignerInfo private - CertFreeAuthenticodeTimestamperInfo private - _AxlPublicKeyBlobToPublicKeyToken private - _AxlRSAKeyValueToPublicKeyToken private - _AxlGetIssuerPublicKeyHash private -#endif // FEATURE_FUSION - -; -; win64 common -; -#ifdef _WIN64 - GetRuntimeStackWalkInfo -#endif - - Nirvana_Dummy @24 NONAME PRIVATE - -#endif //FEATURE_CORECLR |