Changeset 21889 for branches/gcc-kmk/src
- Timestamp:
- Dec 15, 2011, 12:21:58 PM (14 years ago)
- Location:
- branches/gcc-kmk/src
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gcc-kmk/src/Makefile.kmk
r21884 r21889 49 49 include $(PATH_SUB_CURRENT)/avicap32/Makefile.kmk 50 50 include $(PATH_SUB_CURRENT)/avifil32/Makefile.kmk 51 include $(PATH_SUB_CURRENT)/imagehlp/Makefile.kmk 51 52 52 53 include $(FILE_KBUILD_SUB_FOOTER) -
branches/gcc-kmk/src/imagehlp/imagehlp.def
r4809 r21889 9 9 10 10 EXPORTS 11 BindImage = _BindImage@12@112 BindImageEx = _BindImageEx@20@213 CheckSumMappedFile = _CheckSumMappedFile@16@314 EnumerateLoadedModules = _EnumerateLoadedModules@12@415 FindDebugInfoFile = _FindDebugInfoFile@12@516 FindExecutableImage = _FindExecutableImage@12@617 GetImageConfigInformation = _GetImageConfigInformation@8@718 GetImageUnusedHeaderBytes = _GetImageUnusedHeaderBytes@8@819 GetTimestampForLoadedLibrary= _GetTimestampForLoadedLibrary@4@920 ImageAddCertificate = _ImageAddCertificate@12@1021 ImageDirectoryEntryToData = _ImageDirectoryEntryToData@16@1122 ImageEnumerateCertificates = _ImageEnumerateCertificates@20@1223 ImageGetCertificateData = _ImageGetCertificateData@16@1324 ImageGetCertificateHeader = _ImageGetCertificateHeader@12@1425 ImageGetDigestStream = _ImageGetDigestStream@16@1526 ImageLoad = _ImageLoad@8@1627 ImageNtHeader = _ImageNtHeader@4@1728 ImageRemoveCertificate = _ImageRemoveCertificate@8@1829 ImageRvaToSection = _ImageRvaToSection@12@1930 ImageRvaToVa = _ImageRvaToVa@16@2031 ImageUnload = _ImageUnload@4@2132 ImagehlpApiVersion = _ImagehlpApiVersion@0@2233 ImagehlpApiVersionEx = _ImagehlpApiVersionEx@4@2334 MakeSureDirectoryPathExists = _MakeSureDirectoryPathExists@4@2435 MapAndLoad = _MapAndLoad@20@2536 MapDebugInformation = _MapDebugInformation@16@2637 MapFileAndCheckSumA = _MapFileAndCheckSumA@12@2738 MapFileAndCheckSumW = _MapFileAndCheckSumW@12@2811 BindImage = "_BindImage@12" @1 12 BindImageEx = "_BindImageEx@20" @2 13 CheckSumMappedFile = "_CheckSumMappedFile@16" @3 14 EnumerateLoadedModules = "_EnumerateLoadedModules@12" @4 15 FindDebugInfoFile = "_FindDebugInfoFile@12" @5 16 FindExecutableImage = "_FindExecutableImage@12" @6 17 GetImageConfigInformation = "_GetImageConfigInformation@8" @7 18 GetImageUnusedHeaderBytes = "_GetImageUnusedHeaderBytes@8" @8 19 GetTimestampForLoadedLibrary= "_GetTimestampForLoadedLibrary@4" @9 20 ImageAddCertificate = "_ImageAddCertificate@12" @10 21 ImageDirectoryEntryToData = "_ImageDirectoryEntryToData@16" @11 22 ImageEnumerateCertificates = "_ImageEnumerateCertificates@20" @12 23 ImageGetCertificateData = "_ImageGetCertificateData@16" @13 24 ImageGetCertificateHeader = "_ImageGetCertificateHeader@12" @14 25 ImageGetDigestStream = "_ImageGetDigestStream@16" @15 26 ImageLoad = "_ImageLoad@8" @16 27 ImageNtHeader = "_ImageNtHeader@4" @17 28 ImageRemoveCertificate = "_ImageRemoveCertificate@8" @18 29 ImageRvaToSection = "_ImageRvaToSection@12" @19 30 ImageRvaToVa = "_ImageRvaToVa@16" @20 31 ImageUnload = "_ImageUnload@4" @21 32 ImagehlpApiVersion = "_ImagehlpApiVersion@0" @22 33 ImagehlpApiVersionEx = "_ImagehlpApiVersionEx@4" @23 34 MakeSureDirectoryPathExists = "_MakeSureDirectoryPathExists@4" @24 35 MapAndLoad = "_MapAndLoad@20" @25 36 MapDebugInformation = "_MapDebugInformation@16" @26 37 MapFileAndCheckSumA = "_MapFileAndCheckSumA@12" @27 38 MapFileAndCheckSumW = "_MapFileAndCheckSumW@12" @28 39 39 ; MarkImageAsRunFromSwap = _MarkImageAsRunFromSwap @29 40 ReBaseImage = _ReBaseImage@44@3041 RemovePrivateCvSymbolic = _RemovePrivateCvSymbolic@12@3142 RemoveRelocations = _RemoveRelocations@4@3243 SearchTreeForFile = _SearchTreeForFile@12@3344 SetImageConfigInformation = _SetImageConfigInformation@8@3445 SplitSymbols = _SplitSymbols@16@3546 StackWalk = _StackWalk@36@3647 SymCleanup = _SymCleanup@4@3748 SymEnumerateModules = _SymEnumerateModules@12@3849 SymEnumerateSymbols = _SymEnumerateSymbols@16@3950 SymFunctionTableAccess = _SymFunctionTableAccess@8@4051 SymGetModuleBase = _SymGetModuleBase@8@4152 SymGetModuleInfo = _SymGetModuleInfo@12@4253 SymGetOptions = _SymGetOptions@0@4354 SymGetSearchPath = _SymGetSearchPath@12@4455 SymGetSymFromAddr = _SymGetSymFromAddr@16@4556 SymGetSymFromName = _SymGetSymFromName@12@4657 SymGetSymNext = _SymGetSymNext@8@4758 SymGetSymPrev = _SymGetSymPrev@8@4859 SymInitialize = _SymInitialize@12@4960 SymLoadModule = _SymLoadModule@24@5061 SymRegisterCallback = _SymRegisterCallback@12@5162 SymSetOptions = _SymSetOptions@4@5263 SymSetSearchPath = _SymSetSearchPath@8@5364 SymUnDName = _SymUnDName@12@5465 SymUnloadModule = _SymUnloadModule@8@5566 TouchFileTimes = _TouchFileTimes@8@5667 UnDecorateSymbolName = _UnDecorateSymbolName@16@5768 UnMapAndLoad = _UnMapAndLoad@4@5869 UnmapDebugInformation = _UnmapDebugInformation@4@5970 UpdateDebugInfoFile = _UpdateDebugInfoFile@16@6071 UpdateDebugInfoFileEx = _UpdateDebugInfoFileEx@20@6140 ReBaseImage = "_ReBaseImage@44" @30 41 RemovePrivateCvSymbolic = "_RemovePrivateCvSymbolic@12" @31 42 RemoveRelocations = "_RemoveRelocations@4" @32 43 SearchTreeForFile = "_SearchTreeForFile@12" @33 44 SetImageConfigInformation = "_SetImageConfigInformation@8" @34 45 SplitSymbols = "_SplitSymbols@16" @35 46 StackWalk = "_StackWalk@36" @36 47 SymCleanup = "_SymCleanup@4" @37 48 SymEnumerateModules = "_SymEnumerateModules@12" @38 49 SymEnumerateSymbols = "_SymEnumerateSymbols@16" @39 50 SymFunctionTableAccess = "_SymFunctionTableAccess@8" @40 51 SymGetModuleBase = "_SymGetModuleBase@8" @41 52 SymGetModuleInfo = "_SymGetModuleInfo@12" @42 53 SymGetOptions = "_SymGetOptions@0" @43 54 SymGetSearchPath = "_SymGetSearchPath@12" @44 55 SymGetSymFromAddr = "_SymGetSymFromAddr@16" @45 56 SymGetSymFromName = "_SymGetSymFromName@12" @46 57 SymGetSymNext = "_SymGetSymNext@8" @47 58 SymGetSymPrev = "_SymGetSymPrev@8" @48 59 SymInitialize = "_SymInitialize@12" @49 60 SymLoadModule = "_SymLoadModule@24" @50 61 SymRegisterCallback = "_SymRegisterCallback@12" @51 62 SymSetOptions = "_SymSetOptions@4" @52 63 SymSetSearchPath = "_SymSetSearchPath@8" @53 64 SymUnDName = "_SymUnDName@12" @54 65 SymUnloadModule = "_SymUnloadModule@8" @55 66 TouchFileTimes = "_TouchFileTimes@8" @56 67 UnDecorateSymbolName = "_UnDecorateSymbolName@16" @57 68 UnMapAndLoad = "_UnMapAndLoad@4" @58 69 UnmapDebugInformation = "_UnmapDebugInformation@4" @59 70 UpdateDebugInfoFile = "_UpdateDebugInfoFile@16" @60 71 UpdateDebugInfoFileEx = "_UpdateDebugInfoFileEx@20" @61 -
branches/gcc-kmk/src/imagehlp/initterm.cpp
r6646 r21889 1 1 /* $Id: initterm.cpp,v 1.7 2001-09-05 12:55:49 bird Exp $ 2 2 * 3 * DLL entry point3 * IMAGEHLP DLL entry point 4 4 * 5 5 * Copyright 1998 Sander van Leeuwen 6 6 * Copyright 1998 Peter Fitzsimmons 7 7 * 8 *9 8 * Project Odin Software License can be found in LICENSE.TXT 10 *11 9 */ 12 10 13 /*-------------------------------------------------------------*/14 /* INITERM.C -- Source for a custom dynamic link library */15 /* initialization and termination (_DLL_InitTerm) */16 /* function. */17 /* */18 /* When called to perform initialization, this sample function */19 /* gets storage for an array of integers, and initializes its */20 /* elements with random integers. At termination time, it */21 /* frees the array. Substitute your own special processing. */22 /*-------------------------------------------------------------*/23 24 25 /* Include files */26 11 #define INCL_DOSMODULEMGR 27 12 #define INCL_DOSPROCESS … … 37 22 #include <initdll.h> 38 23 39 extern "C" { 40 //Win32 resource table (produced by wrc) 41 extern DWORD _Resource_PEResTab; 42 } 24 // Win32 resource table (produced by wrc) 25 extern DWORD imagehlp_PEResTab; 26 43 27 static HMODULE dllHandle = 0; 44 28 45 29 BOOL WINAPI IMAGEHLP_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); 46 30 47 //******************************************************************************48 //******************************************************************************49 31 BOOL WINAPI LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) 50 32 { 51 switch (fdwReason)52 {53 case DLL_PROCESS_ATTACH:54 case DLL_THREAD_ATTACH:55 case DLL_THREAD_DETACH:56 return IMAGEHLP_LibMain(hinstDLL, fdwReason, fImpLoad);33 switch (fdwReason) 34 { 35 case DLL_PROCESS_ATTACH: 36 case DLL_THREAD_ATTACH: 37 case DLL_THREAD_DETACH: 38 return IMAGEHLP_LibMain(hinstDLL, fdwReason, fImpLoad); 57 39 58 case DLL_PROCESS_DETACH: 59 IMAGEHLP_LibMain(hinstDLL, fdwReason, fImpLoad); 60 ctordtorTerm(); 61 return TRUE; 62 } 63 return FALSE; 40 case DLL_PROCESS_DETACH: 41 IMAGEHLP_LibMain(hinstDLL, fdwReason, fImpLoad); 42 #ifdef __IBMC__ 43 ctordtorTerm(); 44 #endif 45 return TRUE; 46 } 47 return FALSE; 64 48 } 65 /****************************************************************************/ 66 /* _DLL_InitTerm is the function that gets called by the operating system */ 67 /* loader when it loads and frees this DLL for each process that accesses */ 68 /* this DLL. However, it only gets called the first time the DLL is loaded */ 69 /* and the last time it is freed for a particular process. The system */ 70 /* linkage convention MUST be used because the operating system loader is */ 71 /* calling this function. */ 72 /****************************************************************************/ 73 unsigned long SYSTEM _DLL_InitTerm(unsigned long hModule, unsigned long 74 ulFlag) 49 50 ULONG SYSTEM DLL_InitImageHlp(ULONG hModule) 75 51 { 76 size_t i; 77 APIRET rc; 52 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 78 53 79 /*-------------------------------------------------------------------------*/ 80 /* If ulFlag is zero then the DLL is being loaded so initialization should */ 81 /* be performed. If ulFlag is 1 then the DLL is being freed so */ 82 /* termination should be performed. */ 83 /*-------------------------------------------------------------------------*/ 54 dllHandle = RegisterLxDll(hModule, LibMain, (PVOID)&imagehlp_PEResTab); 55 if(dllHandle == 0) 56 return -1; 84 57 85 switch (ulFlag) { 86 case 0 : 87 ctordtorInit(); 58 return 0; 59 } 88 60 89 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 61 void SYSTEM DLL_TermImageHlp(ULONG hModule) 62 { 63 if (dllHandle) 64 UnregisterLxDll(dllHandle); 65 } 90 66 91 dllHandle = RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab); 92 if(dllHandle == 0) 93 return 0UL; 67 ULONG SYSTEM DLL_Init(ULONG hModule) 68 { 69 if (DLL_InitDefault(hModule) == -1) 70 return -1; 71 return DLL_InitImageHlp(hModule); 72 } 94 73 95 break; 96 case 1 : 97 if(dllHandle) { 98 UnregisterLxDll(dllHandle); 99 } 100 break; 101 102 default : 103 return 0UL; 104 } 105 106 /***********************************************************/ 107 /* A non-zero value must be returned to indicate success. */ 108 /***********************************************************/ 109 return 1UL; 74 void SYSTEM DLL_Term(ULONG hModule) 75 { 76 DLL_TermImageHlp(hModule); 77 DLL_TermDefault(hModule); 110 78 } 111 //******************************************************************************112 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.