summaryrefslogtreecommitdiff
path: root/src/dlls/mscoree
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2017-04-13 14:17:19 +0900
committerJiyoung Yun <jy910.yun@samsung.com>2017-04-13 14:17:19 +0900
commita56e30c8d33048216567753d9d3fefc2152af8ac (patch)
tree7e5d979695fc4a431740982eb1cfecc2898b23a5 /src/dlls/mscoree
parent4b11dc566a5bbfa1378d6266525c281b028abcc8 (diff)
downloadcoreclr-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.txt21
-rw-r--r--src/dlls/mscoree/coreclr/README.md7
-rw-r--r--src/dlls/mscoree/coreclr/dump_helper_resource.binbin0 -> 17 bytes
-rw-r--r--src/dlls/mscoree/mscoree.cpp24
-rw-r--r--src/dlls/mscoree/mscorwks_ntdef.src168
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
new file mode 100644
index 0000000000..aa2d9eae1f
--- /dev/null
+++ b/src/dlls/mscoree/coreclr/dump_helper_resource.bin
Binary files differ
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