Delete dead code (dotnet/coreclr#19452)
authorJan Kotas <jkotas@microsoft.com>
Tue, 14 Aug 2018 13:34:34 +0000 (06:34 -0700)
committerGitHub <noreply@github.com>
Tue, 14 Aug 2018 13:34:34 +0000 (06:34 -0700)
Unused strong name signing paths and related code

Commit migrated from https://github.com/dotnet/coreclr/commit/0b5e0648bdaa1abacea803b90384f9b937af9fc3

12 files changed:
src/coreclr/src/vm/assemblynative.cpp
src/coreclr/src/vm/assemblynative.hpp
src/coreclr/src/vm/ceeload.cpp
src/coreclr/src/vm/ceeload.h
src/coreclr/src/vm/comdynamic.cpp
src/coreclr/src/vm/comdynamic.h
src/coreclr/src/vm/pefile.cpp
src/coreclr/src/vm/pefile.h
src/coreclr/src/vm/pefile.inl
src/coreclr/src/vm/peimage.cpp
src/coreclr/src/vm/peimage.h
src/coreclr/src/vm/peimage.inl

index 830cadf..be1cbc3 100644 (file)
@@ -1087,68 +1087,10 @@ void QCALLTYPE AssemblyNative::GetEntryPoint(QCall::AssemblyHandle pAssembly, QC
 
 //---------------------------------------------------------------------------------------
 //
-// Get the raw bytes making up this assembly
-//
-// Arguments:
-//    pAssembly   - Assembly to get the data of
-//    retRawBytes - [out] raw bytes of the assembly
-//
-
-// static
-void QCALLTYPE AssemblyNative::GetRawBytes(QCall::AssemblyHandle pAssembly,
-                                           QCall::ObjectHandleOnStack retRawBytes)
-{
-    QCALL_CONTRACT;
-    BEGIN_QCALL;
-
-    PEFile *pPEFile = pAssembly->GetFile();
-    if (pPEFile != NULL)
-    {
-        PEImage *pPEImage = pPEFile->GetILimage();
-
-        if (pPEImage != NULL)
-        {
-            SBuffer dataBuffer;
-            pPEImage->GetImageBits(PEImageLayout::LAYOUT_FLAT, dataBuffer);
-
-            if (dataBuffer.GetSize() > 0)
-            {
-                retRawBytes.SetByteArray(dataBuffer, dataBuffer.GetSize());
-            }
-        }
-    }
-    
-    END_QCALL;
-}
-
-//---------------------------------------------------------------------------------------
-//
 // Release QCALL for System.SafePEFileHandle
 //
 //
 
-// static
-void QCALLTYPE AssemblyNative::ReleaseSafePEFileHandle(PEFile *pPEFile)
-{
-    CONTRACTL
-    {
-        QCALL_CHECK;
-        PRECONDITION(CheckPointer(pPEFile));
-    }
-    CONTRACTL_END;
-
-    BEGIN_QCALL;
-
-    pPEFile->Release();
-
-    END_QCALL;
-}
-
-// save the manifest to disk!
-extern void ManagedBitnessFlagsToUnmanagedBitnessFlags(
-    INT32 portableExecutableKind, INT32 imageFileMachine,
-    DWORD* pPeFlags, DWORD* pCorhFlags);
-
 void QCALLTYPE AssemblyNative::GetFullName(QCall::AssemblyHandle pAssembly, QCall::StringHandleOnStack retString)
 {
     QCALL_CONTRACT;
@@ -1203,22 +1145,6 @@ void QCALLTYPE AssemblyNative::GetEntryAssembly(QCall::ObjectHandleOnStack retAs
     return;
 }
 
-// return the on disk assembly module for reflection emit. This only works for dynamic assembly.
-FCIMPL1(ReflectModuleBaseObject *, AssemblyNative::GetOnDiskAssemblyModule, AssemblyBaseObject* pAssemblyUNSAFE)
-{
-    FCALL_CONTRACT;
-
-    ASSEMBLYREF refAssembly = (ASSEMBLYREF)ObjectToOBJECTREF(pAssemblyUNSAFE);
-    
-    if (refAssembly == NULL)
-        FCThrowRes(kArgumentNullException, W("Arg_InvalidHandle"));
-
-    DomainAssembly *pAssembly = refAssembly->GetDomainAssembly();
-
-    FC_RETURN_MODULE_OBJECT(pAssembly->GetCurrentAssembly()->GetOnDiskManifestModule(), refAssembly);
-}
-FCIMPLEND
-
 // return the in memory assembly module for reflection emit. This only works for dynamic assembly.
 FCIMPL1(ReflectModuleBaseObject *, AssemblyNative::GetInMemoryAssemblyModule, AssemblyBaseObject* pAssemblyUNSAFE)
 {
@@ -1257,27 +1183,6 @@ void QCALLTYPE AssemblyNative::GetImageRuntimeVersion(QCall::AssemblyHandle pAss
     END_QCALL;
 }
 
-
-
-#ifdef FEATURE_APPX
-/*static*/
-BOOL QCALLTYPE AssemblyNative::IsDesignerBindingContext(QCall::AssemblyHandle pAssembly)
-{
-    QCALL_CONTRACT;
-
-    BOOL fRet = FALSE;
-
-    BEGIN_QCALL;
-
-    PEFile *pPEFile = pAssembly->GetFile();
-    fRet = pPEFile->IsDesignerBindingContext();
-
-    END_QCALL;
-
-    return fRet;
-}
-#endif // FEATURE_APPX
-
 /*static*/
 INT_PTR QCALLTYPE AssemblyNative::InitializeAssemblyLoadContext(INT_PTR ptrManagedAssemblyLoadContext, BOOL fRepresentsTPALoadContext)
 {
index 3f73621..655f5c7 100644 (file)
@@ -81,13 +81,6 @@ public:
     static
     void QCALLTYPE GetVersion(QCall::AssemblyHandle pAssembly, INT32* pMajorVersion, INT32* pMinorVersion, INT32*pBuildNumber, INT32* pRevisionNumber);
 
-    static
-    void QCALLTYPE LoadModule(QCall::AssemblyHandle pAssembly, 
-                                             LPCWSTR wszModuleName,
-                                             LPCBYTE pRawModule, INT32 cbModule,
-                                             LPCBYTE pRawSymbolStore, INT32 cbSymbolStore,
-                                             QCall::ObjectHandleOnStack retModule);
-
     static 
     void QCALLTYPE GetType(QCall::AssemblyHandle pAssembly, LPCWSTR wszName, BOOL bThrowOnError, BOOL bIgnoreCase, QCall::ObjectHandleOnStack retType, QCall::ObjectHandleOnStack keepAlive);
 
@@ -97,9 +90,6 @@ public:
     static 
     INT32 QCALLTYPE GetManifestResourceInfo(QCall::AssemblyHandle pAssembly, LPCWSTR wszName, QCall::ObjectHandleOnStack retAssembly, QCall::StringHandleOnStack retFileName, QCall::StackCrawlMarkHandle stackMark);
 
-    static 
-    BOOL QCALLTYPE UseRelativeBindForSatellites();
-
     static
     void QCALLTYPE GetModules(QCall::AssemblyHandle pAssembly, BOOL fLoadIfNotFound, BOOL fGetResourceModules, QCall::ObjectHandleOnStack retModules);
 
@@ -118,48 +108,14 @@ public:
     static 
     void QCALLTYPE GetEntryPoint(QCall::AssemblyHandle pAssembly, QCall::ObjectHandleOnStack retMethod);
 
-    static FCDECL1(ReflectModuleBaseObject *, GetOnDiskAssemblyModule, AssemblyBaseObject * pAssemblyUNSAFE);
     static FCDECL1(ReflectModuleBaseObject *, GetInMemoryAssemblyModule, AssemblyBaseObject * pAssemblyUNSAFE);
 
     static 
     void QCALLTYPE GetImageRuntimeVersion(QCall::AssemblyHandle pAssembly, QCall::StringHandleOnStack retString);
 
-
-    //
-    // AssemblyBuilder FCALLs
-    //
-
-    static
-    void QCALLTYPE PrepareForSavingManifestToDisk(QCall::AssemblyHandle pAssembly, QCall::ModuleHandle pAssemblyModule);
-
-
-    static
-    mdFile QCALLTYPE AddFile(QCall::AssemblyHandle pAssembly, LPCWSTR wszFileName);
-
-    static 
-    void QCALLTYPE SetFileHashValue(QCall::AssemblyHandle pAssembly, INT32 tkFile, LPCWSTR wszFullFileName);
-
-    static
-    void QCALLTYPE AddStandAloneResource(QCall::AssemblyHandle pAssembly, LPCWSTR wszName, LPCWSTR wszFileName, LPCWSTR wszFullFileName, INT32 iAttribute);
-
-    static
-    void QCALLTYPE AddDeclarativeSecurity(QCall::AssemblyHandle pAssembly, INT32 action, PVOID blob, INT32 length);
-
-
-    static
-    void QCALLTYPE GetRawBytes(QCall::AssemblyHandle pAssembly, QCall::ObjectHandleOnStack retRawBytes);
-
     //
     // PEFile QCalls
     // 
-    
-    static
-    void QCALLTYPE ReleaseSafePEFileHandle(PEFile *pPEFile);
-
-#ifdef FEATURE_APPX
-    static
-    BOOL QCALLTYPE IsDesignerBindingContext(QCall::AssemblyHandle pAssembly);
-#endif
 
     static INT_PTR QCALLTYPE InitializeAssemblyLoadContext(INT_PTR ptrManagedAssemblyLoadContext, BOOL fRepresentsTPALoadContext);
     static BOOL QCALLTYPE OverrideDefaultAssemblyLoadContextForCurrentDomain(INT_PTR ptrNativeAssemblyLoadContext);
index 23fa8f6..8aaaae4 100644 (file)
@@ -4394,21 +4394,6 @@ UINT32 Module::GetTlsIndex()
     return m_file->GetTlsIndex();
 }
 
-PCCOR_SIGNATURE Module::GetSignature(RVA signature)
-{
-    WRAPPER_NO_CONTRACT;
-
-    return m_file->GetSignature(signature);
-}
-
-RVA Module::GetSignatureRva(PCCOR_SIGNATURE signature)
-{
-    WRAPPER_NO_CONTRACT;
-
-    return m_file->GetSignatureRva(signature);
-}
-
-
 
 // In DAC builds this function was being called on host addresses which may or may not
 // have been marshalled from the target. Such addresses can't be reliably mapped back to
@@ -4460,20 +4445,6 @@ StubMethodHashTable *Module::GetStubMethodHashTable()
 }
 #endif // FEATURE_PREJIT
 
-CHECK Module::CheckSignatureRva(RVA signature)
-{
-    WRAPPER_NO_CONTRACT;
-    CHECK(m_file->CheckSignatureRva(signature));
-    CHECK_OK;
-}
-
-CHECK Module::CheckSignature(PCCOR_SIGNATURE signature)
-{
-    WRAPPER_NO_CONTRACT;
-    CHECK(m_file->CheckSignature(signature));
-    CHECK_OK;
-}
-
 void Module::InitializeStringData(DWORD token, EEStringData *pstrData, CQuickBytes *pqb)
 {
     CONTRACTL
index 4b1f234..73f1a8f 100644 (file)
@@ -2670,10 +2670,6 @@ public:
     UINT32 GetFieldTlsOffset(DWORD field);
     UINT32 GetTlsIndex();
 
-    PCCOR_SIGNATURE GetSignature(RVA signature);
-    RVA GetSignatureRva(PCCOR_SIGNATURE signature);
-    CHECK CheckSignatureRva(RVA signature);
-    CHECK CheckSignature(PCCOR_SIGNATURE signature);
     BOOL IsSigInIL(PCCOR_SIGNATURE signature);
 
     mdToken GetEntryPointToken();
index 97e408a..4325559 100644 (file)
@@ -820,136 +820,6 @@ void QCALLTYPE COMDynamicWrite::SetClassLayout(QCall::ModuleHandle pModule, INT3
     END_QCALL;
 }
 
-/*===============================UpdateMethodRVAs===============================
-**Action: Update the RVAs in all of the methods associated with a particular typedef
-**        to prior to emitting them to a PE.
-**Returns: Void
-**Arguments:
-**Exceptions:
-==============================================================================*/
-void COMDynamicWrite::UpdateMethodRVAs(IMetaDataEmit *pEmitNew,
-                                  IMetaDataImport *pImportNew,
-                                  ICeeFileGen *pCeeFileGen, 
-                                  HCEEFILE ceeFile, 
-                                  mdTypeDef td,
-                                  HCEESECTION sdataSection)
-{
-    CONTRACTL
-    {
-        THROWS;
-        GC_TRIGGERS;
-        MODE_ANY;
-    }
-    CONTRACTL_END;
-    
-
-    HCORENUM    hEnum=0;
-    ULONG       methRVA;
-    ULONG       newMethRVA;
-    ULONG       sdataSectionRVA = 0;
-    mdMethodDef md;
-    mdFieldDef  fd;
-    ULONG       count;
-    DWORD       dwFlags=0;
-    DWORD       implFlags=0;
-    HRESULT     hr;
-
-    // Look at the typedef flags.  Skip tdimport classes.
-    if (!IsNilToken(td))
-    {
-        IfFailGo(pImportNew->GetTypeDefProps(td, 0,0,0, &dwFlags, 0));
-        if (IsTdImport(dwFlags))
-            goto ErrExit;
-    }
-    
-    //Get an enumerator and use it to walk all of the methods defined by td.
-    while ((hr = pImportNew->EnumMethods(
-        &hEnum, 
-        td, 
-        &md, 
-        1, 
-        &count)) == S_OK) {
-        
-        IfFailGo( pImportNew->GetMethodProps(
-            md, 
-            NULL, 
-            NULL,           // don't get method name
-            0, 
-            NULL, 
-            &dwFlags, 
-            NULL, 
-            NULL, 
-            &methRVA, 
-            &implFlags) );
-
-        // If this method isn't implemented here, don't bother correcting it's RVA
-        // Otherwise, get the correct RVA from our ICeeFileGen and put it back into our local
-        // copy of the metadata
-        //
-        if ( IsMdAbstract(dwFlags) || IsMdPinvokeImpl(dwFlags) ||
-             IsMiNative(implFlags) || IsMiRuntime(implFlags) ||
-             IsMiForwardRef(implFlags))
-        {
-            continue;
-        }
-            
-        IfFailGo( pCeeFileGen->GetMethodRVA(ceeFile, methRVA, &newMethRVA) );
-        IfFailGo( pEmitNew->SetRVA(md, newMethRVA) );
-    }
-        
-    if (hEnum) {
-        pImportNew->CloseEnum( hEnum);
-    }
-    hEnum = 0;
-
-    // Walk through all of the Field belongs to this TypeDef. If field is marked as fdHasFieldRVA, we need to update the
-    // RVA value.
-    while ((hr = pImportNew->EnumFields(
-        &hEnum, 
-        td, 
-        &fd, 
-        1, 
-        &count)) == S_OK) {
-        
-        IfFailGo( pImportNew->GetFieldProps(
-            fd, 
-            NULL,           // don't need the parent class
-            NULL,           // don't get method name
-            0, 
-            NULL, 
-            &dwFlags,       // field flags
-            NULL,           // don't need the signature
-            NULL, 
-            NULL,           // don't need the constant value
-            0,
-            NULL) );
-
-        if ( IsFdHasFieldRVA(dwFlags) )
-        {            
-            if (sdataSectionRVA == 0)
-            {
-                IfFailGo( pCeeFileGen->GetSectionCreate (ceeFile, ".sdata", sdReadWrite, &(sdataSection)) );
-                IfFailGo( pCeeFileGen->GetSectionRVA(sdataSection, &sdataSectionRVA) );
-            }
-
-            IfFailGo( pImportNew->GetRVA(fd, &methRVA, NULL) );
-            newMethRVA = methRVA + sdataSectionRVA;
-            IfFailGo( pEmitNew->SetFieldRVA(fd, newMethRVA) );
-        }
-    }
-        
-    if (hEnum) {
-        pImportNew->CloseEnum( hEnum);
-    }
-    hEnum = 0;
-
-ErrExit:
-    if (FAILED(hr)) {   
-        _ASSERTE(!"UpdateRVA failed");
-        COMPlusThrowHR(hr);    
-    }   
-}
-
 void QCALLTYPE COMDynamicWrite::DefineCustomAttribute(QCall::ModuleHandle pModule, INT32 token, INT32 conTok, LPCBYTE pBlob, INT32 cbBlob, BOOL toDisk, BOOL updateCompilerFlags)
 {
     QCALL_CONTRACT;
@@ -1047,409 +917,3 @@ void QCALLTYPE COMDynamicWrite::DefineCustomAttribute(QCall::ModuleHandle pModul
 
     END_QCALL;
 }
-
-void ManagedBitnessFlagsToUnmanagedBitnessFlags(
-    INT32 portableExecutableKind, INT32 imageFileMachine,
-    DWORD* pPeFlags, DWORD* pCorhFlags)
-{
-    if (portableExecutableKind & peILonly)
-        *pCorhFlags |= COMIMAGE_FLAGS_ILONLY;
-    
-    if (portableExecutableKind & pe32BitPreferred)
-        COR_SET_32BIT_PREFERRED(*pCorhFlags);
-    
-    if (portableExecutableKind & pe32BitRequired)
-        COR_SET_32BIT_REQUIRED(*pCorhFlags);
-    
-    *pPeFlags |= ICEE_CREATE_FILE_CORMAIN_STUB;
-        
-    if (imageFileMachine == IMAGE_FILE_MACHINE_I386)
-        *pPeFlags |= ICEE_CREATE_MACHINE_I386|ICEE_CREATE_FILE_PE32;
-    
-    else if (imageFileMachine == IMAGE_FILE_MACHINE_IA64)
-        *pPeFlags |= ICEE_CREATE_MACHINE_IA64|ICEE_CREATE_FILE_PE64;
-    
-    else if (imageFileMachine == IMAGE_FILE_MACHINE_AMD64)
-        *pPeFlags |= ICEE_CREATE_MACHINE_AMD64|ICEE_CREATE_FILE_PE64;        
-
-    else if (imageFileMachine == IMAGE_FILE_MACHINE_ARMNT)
-        *pPeFlags |= ICEE_CREATE_MACHINE_ARM|ICEE_CREATE_FILE_PE32;        
-}
-
-
-//=============================EmitDebugInfoBegin============================*/
-// Phase 1 of emit debugging directory and symbol file.
-//===========================================================================*/
-HRESULT COMDynamicWrite::EmitDebugInfoBegin(Module *pModule,
-                                       ICeeFileGen *pCeeFileGen,
-                                       HCEEFILE ceeFile,
-                                       HCEESECTION pILSection,
-                                       const WCHAR *filename,
-                                       ISymUnmanagedWriter *pWriter)
-{
-    CONTRACT(HRESULT) {
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_PREEMPTIVE; 
-        INJECT_FAULT(COMPlusThrowOM());
-
-        PRECONDITION(CheckPointer(pWriter, NULL_OK));
-        PRECONDITION(CheckPointer(pCeeFileGen));
-        PRECONDITION(CheckPointer(pModule));
-
-        POSTCONDITION(SUCCEEDED(RETVAL));
-    }
-    CONTRACT_END;
-
-    HRESULT hr = S_OK;  
-
-    // If we were emitting symbols for this dynamic module, go ahead
-    // and fill out the debug directory and save off the symbols now.
-    if (pWriter != NULL)
-    {
-        IMAGE_DEBUG_DIRECTORY  debugDirIDD = {0};
-        DWORD                  debugDirDataSize;
-        BYTE                  *debugDirData;
-
-        // Grab the debug info.
-        IfFailGo(pWriter->GetDebugInfo(NULL, 0, &debugDirDataSize, NULL));
-
-            
-        // Is there any debug info to emit?
-        if (debugDirDataSize > 0)
-        {
-            // Make some room for the data.
-            debugDirData = (BYTE*)_alloca(debugDirDataSize);
-
-            // Actually get the data now.
-            IfFailGo(pWriter->GetDebugInfo(&debugDirIDD,
-                                             debugDirDataSize,
-                                             NULL,
-                                             debugDirData));
-
-
-            // Grab the timestamp of the PE file.
-            DWORD fileTimeStamp;
-
-
-            IfFailGo(pCeeFileGen->GetFileTimeStamp(ceeFile, &fileTimeStamp));
-
-
-            // Fill in the directory entry.
-            debugDirIDD.TimeDateStamp = VAL32(fileTimeStamp);
-            debugDirIDD.AddressOfRawData = 0;
-
-            // Grab memory in the section for our stuff.
-            HCEESECTION sec = pILSection;
-            BYTE *de;
-
-            IfFailGo(pCeeFileGen->GetSectionBlock(sec,
-                                                    sizeof(debugDirIDD) +
-                                                    debugDirDataSize,
-                                                    4,
-                                                    (void**) &de) );
-
-
-            // Where did we get that memory?
-            ULONG deOffset;
-            IfFailGo(pCeeFileGen->GetSectionDataLen(sec, &deOffset));
-
-
-            deOffset -= (sizeof(debugDirIDD) + debugDirDataSize);
-
-            // Setup a reloc so that the address of the raw data is
-            // setup correctly.
-            debugDirIDD.PointerToRawData = VAL32(deOffset + sizeof(debugDirIDD));
-                    
-            IfFailGo(pCeeFileGen->AddSectionReloc(
-                                          sec,
-                                          deOffset +
-                                          offsetof(IMAGE_DEBUG_DIRECTORY, PointerToRawData),
-                                          sec, srRelocFilePos));
-
-
-                    
-            // Emit the directory entry.
-            IfFailGo(pCeeFileGen->SetDirectoryEntry(
-                                          ceeFile,
-                                          sec,
-                                          IMAGE_DIRECTORY_ENTRY_DEBUG,
-                                          sizeof(debugDirIDD),
-                                          deOffset));
-
-
-            // Copy the debug directory into the section.
-            memcpy(de, &debugDirIDD, sizeof(debugDirIDD));
-            memcpy(de + sizeof(debugDirIDD), debugDirData, debugDirDataSize);
-
-        }
-    }
-ErrExit:
-    RETURN(hr);
-}
-
-
-//=============================EmitDebugInfoEnd==============================*/
-// Phase 2 of emit debugging directory and symbol file.
-//===========================================================================*/
-HRESULT COMDynamicWrite::EmitDebugInfoEnd(Module *pModule,
-                                          ICeeFileGen *pCeeFileGen,
-                                          HCEEFILE ceeFile,
-                                          HCEESECTION pILSection,
-                                          const WCHAR *filename,
-                                          ISymUnmanagedWriter *pWriter)
-{
-    CONTRACT(HRESULT) {
-        NOTHROW;
-        GC_TRIGGERS;
-        MODE_PREEMPTIVE;
-        INJECT_FAULT(CONTRACT_RETURN(E_OUTOFMEMORY));
-
-        PRECONDITION(CheckPointer(pWriter, NULL_OK));
-        PRECONDITION(CheckPointer(pCeeFileGen));
-        PRECONDITION(CheckPointer(pModule));
-    }
-    CONTRACT_END;
-    
-    HRESULT hr = S_OK;
-
-    CGrowableStream *pStream = NULL;
-
-    // If we were emitting symbols for this dynamic module, go ahead
-    // and fill out the debug directory and save off the symbols now.
-    if (pWriter != NULL)
-    {
-        // Now go ahead and save off the symbol file and release the
-        // writer.
-        IfFailGo( pWriter->Close() );
-
-
-
-
-        // How big of a stream to we have now?
-        pStream = pModule->GetInMemorySymbolStream();
-        _ASSERTE(pStream != NULL);
-
-        STATSTG SizeData = {0};
-        DWORD streamSize = 0;
-
-        IfFailGo(pStream->Stat(&SizeData, STATFLAG_NONAME));
-
-        streamSize = SizeData.cbSize.u.LowPart;
-
-        if (SizeData.cbSize.u.HighPart > 0)
-        {
-            IfFailGo( E_OUTOFMEMORY );
-
-        }
-
-        SIZE_T fnLen = wcslen(filename);
-        const WCHAR *dot = wcsrchr(filename, W('.'));
-        SIZE_T dotOffset = dot ? dot - filename : fnLen;
-
-        size_t len = dotOffset + 6;
-            WCHAR *fn = (WCHAR*)_alloca(len * sizeof(WCHAR));
-        wcsncpy_s(fn, len, filename, dotOffset);
-
-        fn[dotOffset] = W('.');
-        fn[dotOffset + 1] = W('p');
-        fn[dotOffset + 2] = W('d');
-        fn[dotOffset + 3] = W('b');
-        fn[dotOffset + 4] = W('\0');
-
-        HandleHolder pdbFile(WszCreateFile(fn,
-                                           GENERIC_WRITE,
-                                           0,
-                                           NULL,
-                                           CREATE_ALWAYS,
-                                           FILE_ATTRIBUTE_NORMAL,
-                                           NULL));
-
-        if (pdbFile != INVALID_HANDLE_VALUE)
-        {
-            DWORD dummy;
-            BOOL succ = WriteFile(pdbFile,
-                                  pStream->GetRawBuffer().StartAddress(),
-                                  streamSize,
-                                  &dummy, NULL);
-
-            if (!succ)
-            {
-                IfFailGo( HRESULT_FROM_GetLastError() );
-
-            }
-
-        }
-        else
-        {
-            IfFailGo( HRESULT_FROM_GetLastError() );
-
-        }
-    }
-
-ErrExit:
-    // No one else will ever need this writer again...
-    pModule->GetReflectionModule()->SetISymUnmanagedWriter(NULL);
-//    pModule->GetReflectionModule()->SetSymbolStream(NULL);
-
-    RETURN(hr);
-}
-
-
-
-//============================AddDeclarativeSecurity============================*/
-// Add a declarative security serialized blob and a security action code to a
-// given parent (class or method).
-//==============================================================================*/
-void QCALLTYPE COMDynamicWrite::AddDeclarativeSecurity(QCall::ModuleHandle pModule, INT32 tk, DWORD action, LPCBYTE pBlob, INT32 cbBlob)
-{
-    QCALL_CONTRACT;
-    
-    BEGIN_QCALL;
-
-    RefClassWriter * pRCW = pModule->GetReflectionModule()->GetClassWriter();
-
-    mdPermission            tkPermission;
-    HRESULT hr = pRCW->GetEmitHelper()->AddDeclarativeSecurityHelper(tk,
-                                                             action,
-                                                             pBlob,
-                                                             cbBlob,
-                                                             &tkPermission);
-    IfFailThrow(hr);
-
-    if (hr == META_S_DUPLICATE)
-    {
-        COMPlusThrow(kInvalidOperationException, IDS_EE_DUPLICATE_DECLSEC);
-    }
-
-    END_QCALL;
-}
-
-
-CSymMapToken::CSymMapToken(ISymUnmanagedWriter *pWriter, IMapToken *pMapToken)
-{
-    CONTRACTL {
-        NOTHROW;
-        GC_NOTRIGGER;
-        // we know that the com implementation is ours so we use mode-any to simplify
-        // having to switch mode 
-        MODE_ANY; 
-        FORBID_FAULT;
-    }
-    CONTRACTL_END;
-
-    m_cRef = 1;
-    m_pWriter = pWriter;
-    m_pMapToken = pMapToken;
-    if (m_pWriter)
-        m_pWriter->AddRef();
-    if (m_pMapToken)
-        m_pMapToken->AddRef();
-} // CSymMapToken::CSymMapToken()
-
-
-
-//*********************************************************************
-//
-// CSymMapToken's destructor
-//
-//*********************************************************************
-CSymMapToken::~CSymMapToken()
-{
-    CONTRACTL {
-        NOTHROW;
-        GC_NOTRIGGER;
-        // we know that the com implementation is ours so we use mode-any to simplify
-        // having to switch mode 
-        MODE_ANY; 
-        FORBID_FAULT;
-    }
-    CONTRACTL_END;
-
-    if (m_pWriter)
-        m_pWriter->Release();
-    if (m_pMapToken)
-        m_pMapToken->Release();
-}   // CSymMapToken::~CMapToken()
-
-
-ULONG CSymMapToken::AddRef()
-{
-    CONTRACTL {
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY; 
-        FORBID_FAULT;
-    }
-    CONTRACTL_END;
-
-    return InterlockedIncrement(&m_cRef);
-} // CSymMapToken::AddRef()
-
-
-
-ULONG CSymMapToken::Release()
-{
-    CONTRACTL {
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY; 
-        FORBID_FAULT;
-    }
-    CONTRACTL_END;
-
-    ULONG cRef = InterlockedDecrement(&m_cRef);
-    if (!cRef)
-        delete this;
-    return (cRef);
-} // CSymMapToken::Release()
-
-
-HRESULT CSymMapToken::QueryInterface(REFIID riid, void **ppUnk)
-{
-    CONTRACTL {
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY; 
-        FORBID_FAULT;
-    }
-    CONTRACTL_END;
-
-    *ppUnk = 0;
-
-    if (riid == IID_IMapToken)
-        *ppUnk = (IUnknown *) (IMapToken *) this;
-    else
-        return (E_NOINTERFACE);
-    AddRef();
-    return (S_OK);
-}   // CSymMapToken::QueryInterface
-
-
-
-//*********************************************************************
-//
-// catching the token mapping
-//
-//*********************************************************************
-HRESULT CSymMapToken::Map(
-    mdToken     tkFrom, 
-    mdToken     tkTo)
-{
-    CONTRACTL {
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY; 
-        FORBID_FAULT;
-    }
-    CONTRACTL_END;
-
-    HRESULT         hr = NOERROR;
-    if (m_pWriter)
-        IfFailGo( m_pWriter->RemapToken(tkFrom, tkTo) );
-    if (m_pMapToken)
-        IfFailGo( m_pMapToken->Map(tkFrom, tkTo) );
-ErrExit:
-    return hr;
-}
-
index a605fa1..2146986 100644 (file)
@@ -26,10 +26,6 @@ struct ExceptionInstance;
 //  inside reflection.  
 class COMDynamicWrite
 {
-private:
-
-    static void UpdateMethodRVAs(IMetaDataEmit*, IMetaDataImport*, ICeeFileGen *, HCEEFILE, mdTypeDef td, HCEESECTION sdataSection);
-
 public:
     // This function will create the class's metadata definition  
     static
@@ -85,31 +81,6 @@ public:
     mdFieldDef QCALLTYPE DefineField(QCall::ModuleHandle pModule, INT32 tkParent, LPCWSTR wszName, LPCBYTE pSignature, INT32 sigLength, INT32 attr);
 
     static
-    void QCALLTYPE PreSavePEFile(QCall::ModuleHandle pModule, INT32 portableExecutableKind, INT32 imageFileMachine);
-    
-    static
-    void QCALLTYPE SavePEFile(QCall::ModuleHandle pModule, LPCWSTR wszPeName, UINT32 entryPoint, UINT32 fileKind, BOOL isManifestFile);
-
-
-    // not an ecall!
-    static HRESULT EmitDebugInfoBegin(
-        Module *pModule,
-        ICeeFileGen *pCeeFileGen,
-        HCEEFILE ceeFile,
-        HCEESECTION pILSection,
-        const WCHAR *filename,
-        ISymUnmanagedWriter *pWriter);
-
-    // not an ecall!
-    static HRESULT EmitDebugInfoEnd(
-        Module *pModule,
-        ICeeFileGen *pCeeFileGen,
-        HCEEFILE ceeFile,
-        HCEESECTION pILSection,
-        const WCHAR *filename,
-        ISymUnmanagedWriter *pWriter);
-
-    static
     void QCALLTYPE SetPInvokeData(QCall::ModuleHandle pModule, LPCWSTR wszDllName, LPCWSTR wszFunctionName, INT32 token, INT32 linkFlags);
 
     static
@@ -153,34 +124,6 @@ public:
     // functions to set default value
     static
     void QCALLTYPE SetConstantValue(QCall::ModuleHandle pModule, UINT32 tk, DWORD valueType, LPVOID pValue);
-
-    // functions to add declarative security
-    static 
-    void QCALLTYPE AddDeclarativeSecurity(QCall::ModuleHandle pModule, INT32 tk, DWORD action, LPCBYTE pBlob, INT32 cbBlob);
-};
-
-
-
-//*********************************************************************
-//
-// This CSymMapToken class implemented the IMapToken. It is used in catching
-// token remap information from Merge and send the notifcation to CeeFileGen
-// and SymbolWriter
-//
-//*********************************************************************
-class CSymMapToken : public IMapToken
-{
-public:
-    STDMETHODIMP QueryInterface(REFIID riid, PVOID *pp);
-    STDMETHODIMP_(ULONG) AddRef();
-    STDMETHODIMP_(ULONG) Release();
-    STDMETHODIMP Map(mdToken tkImp, mdToken tkEmit);
-    CSymMapToken(ISymUnmanagedWriter *pWriter, IMapToken *pMapToken);
-    virtual ~CSymMapToken();
-private:
-    LONG        m_cRef;
-    ISymUnmanagedWriter *m_pWriter;
-    IMapToken   *m_pMapToken;
 };
 
 #endif  // _COMDYNAMIC_H_   
index 7cfa057..d417545 100644 (file)
@@ -66,11 +66,9 @@ PEFile::PEFile(PEImage *identity, BOOL fCheckAuthenticodeSignature/*=TRUE*/) :
     m_pEmitter(NULL),
     m_pMetadataLock(::new SimpleRWLock(PREEMPTIVE, LOCK_TYPE_DEFAULT)),
     m_refCount(1),
-    m_hash(NULL),
     m_flags(0),
-    m_fStrongNameVerified(FALSE)
-    ,m_pHostAssembly(nullptr)
-    ,m_pFallbackLoadContextBinder(nullptr)
+    m_pHostAssembly(nullptr),
+    m_pFallbackLoadContextBinder(nullptr)
 {
     CONTRACTL
     {
@@ -112,9 +110,6 @@ PEFile::~PEFile()
     
     ReleaseMetadataInterfaces(TRUE);
     
-    if (m_hash != NULL)
-        delete m_hash;
-
 #ifdef FEATURE_PREJIT
     if (m_nativeImage != NULL)
     {
@@ -1992,9 +1987,6 @@ PEAssembly::PEAssembly(
         m_bIsOnTpaList = pBindResultInfo->IsOnTpaList();
     }
 
-    // Check security related stuff
-    VerifyStrongName();
-
     // Open metadata eagerly to minimize failure windows
     if (pEmit == NULL)
         OpenMDImport_Unsafe(); //constructor, cannot race with anything
@@ -2311,9 +2303,6 @@ void PEAssembly::SetNativeImage(PEImage * image)
             //cache a bunch of PE metadata in the PEDecoder
             m_ILimage->CheckILFormat();
 
-            //we also need some of metadata (for the public key), so cache this too
-            DWORD verifyOutputFlags;
-            m_ILimage->VerifyStrongName(&verifyOutputFlags);
             //fudge this by a few pages to make sure we can still mess with the PE headers
             const size_t fudgeSize = 4096 * 4;
             ClrVirtualProtect((void*)(((char *)layout->GetBase()) + fudgeSize),
@@ -2344,56 +2333,6 @@ BOOL PEAssembly::IsSourceGAC()
 
 #ifndef DACCESS_COMPILE
 
-
-// ------------------------------------------------------------
-// Hash support
-// ------------------------------------------------------------
-
-void PEAssembly::VerifyStrongName()
-{
-    CONTRACTL
-    {
-        INSTANCE_CHECK;
-        THROWS;
-        GC_TRIGGERS;
-        MODE_ANY;
-        INJECT_FAULT(COMPlusThrowOM(););
-    }
-    CONTRACTL_END;
-
-    // If we've already done the signature checks, we don't need to do them again.
-    if (m_fStrongNameVerified)
-    {
-        return;
-    }
-
-    // Without FUSION/GAC, we need to verify SN on all assemblies, except dynamic assemblies.
-    if (IsDynamic())
-    {
-
-        m_flags |= PEFILE_SKIP_MODULE_HASH_CHECKS;
-        m_fStrongNameVerified = TRUE;
-        return;
-    }
-
-    // Next, verify the strong name, if necessary
-
-    // Check format of image. Note we must delay this until after the GAC status has been
-    // checked, to handle the case where we are not loading m_image.
-    EnsureImageOpened();
-
-
-    if (m_nativeImage == NULL && !GetILimage()->IsTrustedNativeImage())
-    {
-        if (!GetILimage()->CheckILFormat())
-            ThrowHR(COR_E_BADIMAGEFORMAT);
-    }
-
-    // Runtime policy on CoreCLR is to skip verification of ALL assemblies
-    m_flags |= PEFILE_SKIP_MODULE_HASH_CHECKS;
-    m_fStrongNameVerified = TRUE;
-}
-
 BOOL PEAssembly::IsProfileAssembly()
 {
     CONTRACTL
index 66915bf..e79c94c 100644 (file)
@@ -222,18 +222,6 @@ public:
     PEAssembly *GetAssembly() const;
 
     // ------------------------------------------------------------
-    // Hash support
-    // ------------------------------------------------------------
-
-#ifndef DACCESS_COMPILE
-    void GetImageBits(SBuffer &result);
-    void GetHash(ALG_ID algorithm, SBuffer &result);
-#endif // DACCESS_COMPILE
-
-    void GetSHA1Hash(SBuffer &result);
-    CHECK CheckHash(ALG_ID algorithm, const void *hash, COUNT_T size);
-
-    // ------------------------------------------------------------
     // Metadata access
     // ------------------------------------------------------------
 
@@ -266,7 +254,6 @@ public:
     // PE file access
     // ------------------------------------------------------------
 
-    BOOL HasSecurityDirectory();
     BOOL IsIbcOptimized();
     BOOL IsILImageReadyToRun();
     WORD GetSubsystem();
@@ -284,11 +271,6 @@ public:
     CHECK CheckRvaField(RVA field);
     CHECK CheckRvaField(RVA field, COUNT_T size);
 
-    PCCOR_SIGNATURE GetSignature(RVA signature);
-    RVA GetSignatureRva(PCCOR_SIGNATURE signature);
-    CHECK CheckSignature(PCCOR_SIGNATURE signature);
-    CHECK CheckSignatureRva(RVA signature);
-
     BOOL HasTls();
     BOOL IsRvaFieldTls(RVA field);
     UINT32 GetFieldTlsOffset(RVA field);
@@ -445,9 +427,7 @@ protected:
         PEFILE_SYSTEM                 = 0x01,
         PEFILE_ASSEMBLY               = 0x02,
         PEFILE_MODULE                 = 0x04,
-        //                            = 0x08,
-        PEFILE_SKIP_MODULE_HASH_CHECKS= 0x10,
-        PEFILE_ISTREAM                = 0x100,
+
 #ifdef FEATURE_PREJIT        
         PEFILE_HAS_NATIVE_IMAGE_METADATA = 0x200,
         PEFILE_NATIVE_IMAGE_USED_EXCLUSIVELY =0x1000,
@@ -529,9 +509,7 @@ protected:
     IMetaDataEmit           *m_pEmitter;
     SimpleRWLock            *m_pMetadataLock;
     Volatile<LONG>           m_refCount;
-    SBuffer                 *m_hash;                   // cached SHA1 hash value
     int                     m_flags;
-    BOOL                    m_fStrongNameVerified;
 
 #ifdef DEBUGGING_SUPPORTED
 #ifdef FEATURE_PREJIT
@@ -723,13 +701,7 @@ class PEAssembly : public PEFile
     // Hash support
     // ------------------------------------------------------------
 
-    BOOL NeedsModuleHashChecks();
-
     BOOL HasStrongNameSignature();
-    BOOL IsFullySigned();
-
-    void SetStrongNameBypassed();
-    void VerifyStrongName();
 
     // ------------------------------------------------------------
     // Descriptive strings
@@ -800,18 +772,9 @@ class PEAssembly : public PEFile
 
     BOOL CheckNativeImageVersion(PEImage *image);
 
-
-
 #endif  // FEATURE_PREJIT
 
   private:
-    // Check both the StrongName and Authenticode signature of an assembly. If the application is using
-    // strong name bypass, then this call may not result in a strong name verificaiton. VerifyStrongName
-    // should be called if a strong name must be forced to verify.
-    void DoLoadSignatureChecks();
-
-
-  private:
     // ------------------------------------------------------------
     // Instance fields
     // ------------------------------------------------------------
index c5c92a9..38b155f 100644 (file)
@@ -325,7 +325,7 @@ inline BOOL PEFile::IsIStream() const
 {
     LIMITED_METHOD_CONTRACT;
 
-    return (m_flags & PEFILE_ISTREAM) != 0;
+    return FALSE;
 }
 
 inline PEAssembly *PEFile::GetAssembly() const
@@ -337,74 +337,6 @@ inline PEAssembly *PEFile::GetAssembly() const
 }
 
 // ------------------------------------------------------------
-// Hash support
-// ------------------------------------------------------------
-
-#ifndef DACCESS_COMPILE
-inline void PEFile::GetImageBits(SBuffer &result)
-{
-    CONTRACTL
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(CheckValue(result));
-        THROWS;
-        GC_TRIGGERS;
-        MODE_ANY;
-    }
-    CONTRACTL_END;
-
-    EnsureImageOpened();
-    // We don't cache any other hashes right now.
-    if (!IsDynamic())
-        GetILimage()->GetImageBits(PEImageLayout::LAYOUT_FLAT,result);
-}
-
-inline void PEFile::GetHash(ALG_ID algorithm, SBuffer &result)
-{
-    CONTRACTL
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(CheckValue(result));
-        THROWS;
-        GC_TRIGGERS;
-        MODE_ANY;
-    }
-    CONTRACTL_END;
-
-    if (algorithm == CALG_SHA1)
-    {
-        GetSHA1Hash(result);
-    }
-    else
-    {
-        EnsureImageOpened();
-        // We don't cache any other hashes right now.
-        GetILimage()->ComputeHash(algorithm, result);
-    }
-}
-    
-inline CHECK PEFile::CheckHash(ALG_ID algorithm, const void *hash, COUNT_T size)
-{
-    CONTRACT_CHECK
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(CheckPointer(hash));
-        THROWS;
-        GC_TRIGGERS;
-        MODE_ANY;
-    }
-    CONTRACT_CHECK_END;
-
-    StackSBuffer hashBuffer;
-    GetHash(algorithm, hashBuffer);
-
-    CHECK(hashBuffer.Equals((const BYTE *)hash, size));
-
-    CHECK_OK;
-}
-#endif // DACCESS_COMPILE
-
-// ------------------------------------------------------------
 // Metadata access
 // ------------------------------------------------------------
 
@@ -599,37 +531,6 @@ inline HRESULT PEFile::GetScopeName(LPCUTF8 * pszName)
 // PE file access
 // ------------------------------------------------------------
 
-inline BOOL PEFile::HasSecurityDirectory()
-{
-    WRAPPER_NO_CONTRACT;
-
-    if (IsResource() || IsDynamic())
-        return FALSE;
-
-#ifdef FEATURE_PREJIT
-    if (IsNativeLoaded())
-    {
-        CONSISTENCY_CHECK(HasNativeImage());
-
-        return m_nativeImage->GetNativeILHasSecurityDirectory();
-    }
-#ifndef DACCESS_COMPILE
-    if (!HasOpenedILimage())
-    {
-        //don't want to touch the IL image unless we already have
-        ReleaseHolder<PEImage> pNativeImage = GetNativeImageWithRef();
-        if (pNativeImage)
-            return pNativeImage->GetNativeILHasSecurityDirectory();
-    }
-#endif // DACCESS_COMPILE
-#endif // FEATURE_PREJIT
-
-    if (!GetILimage()->HasNTHeaders())
-        return FALSE;
-
-    return GetOpenedILimage()->HasDirectoryEntry(IMAGE_DIRECTORY_ENTRY_SECURITY);
-}
-
 inline BOOL PEFile::IsIbcOptimized()
 {
     WRAPPER_NO_CONTRACT;
@@ -1018,87 +919,6 @@ inline CHECK PEFile::CheckInternalPInvokeTarget(RVA target)
     
     CHECK_OK;
 }
-    
-inline PCCOR_SIGNATURE  PEFile::GetSignature(RVA signature)
-{
-    CONTRACT(PCCOR_SIGNATURE)
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(!IsDynamic() || signature == 0);
-        PRECONDITION(!IsResource());
-        PRECONDITION(CheckSignatureRva(signature));
-        POSTCONDITION(CheckSignature(RETVAL));
-        PRECONDITION(CheckLoaded());
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY;
-    }
-    CONTRACT_END;
-
-    if (signature == 0)
-        RETURN NULL;
-    else
-        RETURN (PCCOR_SIGNATURE) GetLoadedIL()->GetRvaData(signature);
-}
-
-inline RVA PEFile::GetSignatureRva(PCCOR_SIGNATURE signature)
-{
-    CONTRACT(RVA)
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(!IsDynamic() || signature == NULL);
-        PRECONDITION(!IsResource());
-        PRECONDITION(CheckSignature(signature));
-        POSTCONDITION(CheckSignatureRva(RETVAL));
-        PRECONDITION(CheckLoaded());
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY;
-    }
-    CONTRACT_END;
-
-    if (signature == NULL)
-        RETURN 0;
-    else
-        RETURN GetLoadedIL()->GetDataRva(
-            dac_cast<TADDR>(signature));
-}
-
-inline CHECK PEFile::CheckSignature(PCCOR_SIGNATURE signature)
-{
-    CONTRACT_CHECK
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(!IsDynamic() || signature == NULL);
-        PRECONDITION(!IsResource());
-        PRECONDITION(CheckLoaded());
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY;
-    }
-    CONTRACT_CHECK_END;
-        
-    CHECK(GetLoadedIL()->CheckData(signature,NULL_OK));
-    CHECK_OK;
-}
-
-inline CHECK PEFile::CheckSignatureRva(RVA signature)
-{
-    CONTRACT_CHECK
-    {
-        INSTANCE_CHECK;
-        PRECONDITION(!IsDynamic() || signature == NULL);
-        PRECONDITION(!IsResource());
-        PRECONDITION(CheckLoaded());
-        NOTHROW;
-        GC_NOTRIGGER;
-        MODE_ANY;
-    }
-    CONTRACT_CHECK_END;
-        
-    CHECK(GetLoadedIL()->CheckRva(signature,NULL_OK));
-    CHECK_OK;
-}
 
 inline IMAGE_COR_VTABLEFIXUP *PEFile::GetVTableFixups(COUNT_T *pCount/*=NULL*/)
 {
@@ -1657,12 +1477,6 @@ inline BOOL PEFile::IsStrongNamed()
 // Check to see if this assembly has had its strong name signature verified yet.
 //
 
-inline BOOL PEFile::IsStrongNameVerified()
-{
-    LIMITED_METHOD_CONTRACT;
-    return m_fStrongNameVerified;
-}
-
 inline const void *PEFile::GetPublicKey(DWORD *pcbPK)
 {
     CONTRACTL
@@ -1775,42 +1589,6 @@ inline BOOL PEAssembly::HasStrongNameSignature()
     return GetILimage()->HasStrongNameSignature();
 }
 
-//---------------------------------------------------------------------------------------
-//
-// Check to see that an assembly is not delay or test signed
-//
-
-inline BOOL PEAssembly::IsFullySigned()
-{
-    WRAPPER_NO_CONTRACT;
-
-#ifdef FEATURE_PREJIT
-    if (IsNativeLoaded())
-    {
-        CONSISTENCY_CHECK(HasNativeImage());
-
-        // If we are strongly named and successfully strong named, then we consider ourselves fully
-        // signed since either our signature verified at ngen time, or skip verification was in effect
-        // The only code that differentiates between skip verification and fully signed is in the strong
-        // name verification path itself, and therefore we abstract that away at this level.
-        //
-        // Note that this is consistent with other abstractions at the PEFile level such as
-        // HasStrongNameSignature()
-        return IsStrongNamed();
-    } else
-#endif // FEATURE_PREJIT
-    if (HasOpenedILimage())
-    {
-        return GetOpenedILimage()->IsStrongNameSigned();
-    }
-    else
-    {
-        return FALSE;
-    }
-}
-
-
-
 // ------------------------------------------------------------
 // Metadata access
 // ------------------------------------------------------------
index 766d40b..df9b07f 100644 (file)
@@ -159,26 +159,6 @@ void PEImage::GetAll(SArray<PEImage*> &images)
     }
 }
 
-/* static */
-ULONG PEImage::HashStreamIds(UINT64 id1, DWORD id2)
-{
-    LIMITED_METHOD_CONTRACT;
-
-    ULONG hash = 5381;
-
-    hash ^= id2;
-    hash = _rotl(hash, 4);
-
-    void *data = &id1;
-    hash ^= *(INT32 *) data;
-
-    hash = _rotl(hash, 4);
-    ((INT32 *&)data)++;
-    hash ^= *(INT32 *) data;
-
-    return hash;
-}
-
 PEImage::~PEImage()
 {
     CONTRACTL
@@ -1279,23 +1259,6 @@ HANDLE PEImage::GetFileHandle()
     return m_hFile;
 }
 
-// Like GetFileHandle, but can be called without the PEImage being locked for writing.
-// Only intend to be called by NGen.
-HANDLE PEImage::GetFileHandleLocking()
-{
-    CONTRACTL
-    {
-        STANDARD_VM_CHECK;
-    }
-    CONTRACTL_END;
-
-    if (m_hFile!=INVALID_HANDLE_VALUE)
-        return m_hFile;
-
-    SimpleWriteLockHolder lock(m_pLayoutLock);
-    return GetFileHandle();
-}
-
 void PEImage::SetFileHandle(HANDLE hFile)
 {
     CONTRACTL
@@ -1338,33 +1301,6 @@ HRESULT PEImage::TryOpenFile()
 }
 
 
-
-HANDLE PEImage::GetProtectingFileHandle(BOOL bProtectIfNotOpenedYet)
-{
-    STANDARD_VM_CONTRACT;
-
-    if (m_hFile==INVALID_HANDLE_VALUE && !bProtectIfNotOpenedYet)
-        return INVALID_HANDLE_VALUE;
-
-    HANDLE hRet=INVALID_HANDLE_VALUE;
-    {
-        ErrorModeHolder mode(SEM_NOOPENFILEERRORBOX|SEM_FAILCRITICALERRORS);
-        hRet=WszCreateFile((LPCWSTR) m_path,
-                                            GENERIC_READ,
-                                            FILE_SHARE_READ,
-                                            NULL,
-                                            OPEN_EXISTING,
-                                            FILE_ATTRIBUTE_NORMAL,
-                                            NULL);
-    }
-    if (hRet == INVALID_HANDLE_VALUE)
-        ThrowLastError();
-    if (m_hFile!=INVALID_HANDLE_VALUE && !CompareFiles(m_hFile,hRet))
-        ThrowHR(FUSION_E_REF_DEF_MISMATCH);
-
-    return hRet;
-}
-
 BOOL PEImage::IsPtrInImage(PTR_CVOID data)
 {
     CONTRACTL
index e05f95d..22aed04 100644 (file)
@@ -153,27 +153,13 @@ public:
     const SString &GetPath();
     BOOL IsFile();
     HANDLE GetFileHandle();
-    HANDLE GetFileHandleLocking();
     void SetFileHandle(HANDLE hFile);
     HRESULT TryOpenFile();    
 
-    HANDLE GetProtectingFileHandle(BOOL bProtectIfNotOpenedYet);
-
     LPCWSTR GetPathForErrorMessages();
 
     // Equality
     BOOL Equals(PEImage *pImage);
-    static ULONG HashStreamIds(UINT64 id1, DWORD id2);
-
-    // Hashing utilities.  (These require a flat version of the file, and 
-    // will open one if necessary.)
-
-#ifndef DACCESS_COMPILE
-    void GetImageBits(DWORD layout, SBuffer &result);
-#endif
-
-    void ComputeHash(ALG_ID algorithm, SBuffer &result);
-    CHECK CheckHash(ALG_ID algorithm, const void *pbHash, COUNT_T cbHash);
 
     void GetMVID(GUID *pMvid);
     const BOOL HasV1Metadata();
@@ -181,7 +167,6 @@ public:
     BOOL MDImportLoaded();
     IMDInternalImport* GetNativeMDImport(BOOL loadAllowed = TRUE);    
 
-    BOOL HasSecurityDirectory();
     BOOL HasContents() ;
     BOOL HasNativeHeader() ;
     BOOL IsPtrInImage(PTR_CVOID data);
@@ -220,7 +205,6 @@ public:
     BOOL PassiveDomainOnly();
     BOOL IsReferenceAssembly();
 #ifdef FEATURE_PREJIT  
-    const BOOL GetNativeILHasSecurityDirectory();
     const BOOL IsNativeILILOnly();
     const BOOL IsNativeILDll();
     void GetNativeILPEKindAndMachine(DWORD* pdwKind, DWORD* pdwMachine);
@@ -234,11 +218,7 @@ public:
     const WORD GetSubsystem();
     BOOL  IsFileLocked();
     const BOOL HasStrongNameSignature();
-#ifndef DACCESS_COMPILE
-    const HRESULT VerifyStrongName(DWORD* verifyOutputFlags);    
-#endif
 
-    BOOL IsStrongNameSigned();
     BOOL IsIbcOptimized();
     BOOL Has32BitNTHeaders();
 
index 0e74107..57f5400 100644 (file)
@@ -223,21 +223,6 @@ inline BOOL PEImage::PassiveDomainOnly()
     return m_bPassiveDomainOnly;
 }
 
-#ifdef FEATURE_PREJIT    
-
-inline const BOOL PEImage::GetNativeILHasSecurityDirectory()   
-{
-    WRAPPER_NO_CONTRACT;
-    if (HasLoadedLayout())
-        return GetLoadedLayout()->GetNativeILHasSecurityDirectory();
-    else
-    {
-        PEImageLayoutHolder pLayout(GetLayout(PEImageLayout::LAYOUT_ANY,LAYOUT_CREATEIFNEEDED));
-        return pLayout->GetNativeILHasSecurityDirectory();
-    }
-}
-#endif
-
 inline const BOOL PEImage::HasDirectoryEntry(int entry)   
 {
     WRAPPER_NO_CONTRACT;
@@ -389,18 +374,6 @@ inline const BOOL PEImage::HasStrongNameSignature()
 
 #endif // !DACCESS_COMPILE
 
-inline BOOL PEImage::IsStrongNameSigned()   
-{
-    WRAPPER_NO_CONTRACT;
-    if (HasLoadedLayout())
-        return GetLoadedLayout()->IsStrongNameSigned();
-    else
-    {
-        PEImageLayoutHolder pLayout(GetLayout(PEImageLayout::LAYOUT_ANY,LAYOUT_CREATEIFNEEDED));
-        return pLayout->IsStrongNameSigned();
-    }
-}
-
 inline BOOL PEImage::IsIbcOptimized()   
 {
     WRAPPER_NO_CONTRACT;
@@ -413,22 +386,6 @@ inline BOOL PEImage::IsIbcOptimized()
     }
 }
 
-#ifndef DACCESS_COMPILE
-
-inline void PEImage::GetImageBits(DWORD layout, SBuffer &result)
-{
-    WRAPPER_NO_CONTRACT;
-    PEImageLayoutHolder pLayout(GetLayout(layout,LAYOUT_CREATEIFNEEDED));
-    BYTE* buffer=result.OpenRawBuffer(pLayout->GetSize());
-    PREFIX_ASSUME(buffer != NULL);
-    memcpyNoGCRefs(buffer,pLayout->GetBase(),pLayout->GetSize());
-    result.CloseRawBuffer(pLayout->GetSize());
-}
-
-#endif
-
-
-
 #ifdef FEATURE_PREJIT 
 inline PTR_CVOID PEImage::GetNativeManifestMetadata(COUNT_T *pSize) 
 {