- Convert imagehlp's .def file to .spec format (keeping same ordinals, etc), since ---enable-stdcall-fuxup does not really work for linking.

- Uncomment function declarations in psdk/imagehlp.h and thus make crypt32 use them to prevent stack corruption (it was generating implicit declarations warnings).

svn path=/trunk/; revision=33620
This commit is contained in:
Aleksey Bragin 2008-05-21 14:43:29 +00:00
parent 23722e0cb4
commit 90c42a08eb
4 changed files with 113 additions and 116 deletions

View file

@ -1,111 +0,0 @@
LIBRARY imagehlp.dll
EXPORTS
BindImage @2
BindImageEx @3
CheckSumMappedFile @4
EnumerateLoadedModules=Dbghelp.EnumerateLoadedModules @5
EnumerateLoadedModules64=Dbghelp.EnumerateLoadedModules64 @6
FindDebugInfoFile=Dbghelp.FindDebugInfoFile @7
FindDebugInfoFileEx=Dbghelp.FindDebugInfoFileEx @8
FindExecutableImage=Dbghelp.FindExecutableImage @9
FindExecutableImageEx=Dbghelp.FindExecutableImageEx @10
FindFileInPath=Dbghelp.FindFileInPath @11
FindFileInSearchPath=Dbghelp.FindFileInSearchPath @12
GetImageConfigInformation @13
GetImageUnusedHeaderBytes @14
GetTimestampForLoadedLibrary @15
ImageAddCertificate @16
ImageDirectoryEntryToData @17
ImageDirectoryEntryToDataEx @18
ImageEnumerateCertificates @19
ImageGetCertificateData @20
ImageGetCertificateHeader @21
ImageGetDigestStream @22
ImagehlpApiVersion=Dbghelp.ImagehlpApiVersion @29
ImagehlpApiVersionEx=Dbghelp.ImagehlpApiVersionEx @30
ImageLoad @23
ImageNtHeader @24
ImageRemoveCertificate @25
ImageRvaToSection @26
ImageRvaToVa @27
ImageUnload @28
MakeSureDirectoryPathExists=Dbghelp.MakeSureDirectoryPathExists @31
MapAndLoad @32
MapDebugInformation=Dbghelp.MapDebugInformation @33
MapFileAndCheckSumA @34
MapFileAndCheckSumW @35
ReBaseImage @37
;ReBaseImage64 @36
;RemovePrivateCvSymbolic @38
;RemovePrivateCvSymbolicEx @39
RemoveRelocations @1
SearchTreeForFile=Dbghelp.SearchTreeForFile @40
SetImageConfigInformation @41
SplitSymbols @42
StackWalk=Dbghelp.StackWalk @43
StackWalk64=Dbghelp.StackWalk64 @44
SymCleanup=Dbghelp.SymCleanup @45
SymEnumerateModules=Dbghelp.SymEnumerateModules @51
SymEnumerateModules64=Dbghelp.SymEnumerateModules64 @50
SymEnumerateSymbols=Dbghelp.SymEnumerateSymbols @53
SymEnumerateSymbols64=Dbghelp.SymEnumerateSymbols64 @52
SymEnumerateSymbolsW=Dbghelp.SymEnumerateSymbolsW @55
SymEnumerateSymbolsW64=Dbghelp.SymEnumerateSymbolsW64 @54
SymEnumSourceFiles=Dbghelp.SymEnumSourceFiles @46
SymEnumSym=Dbghelp.SymEnumSym @47
SymEnumSymbols=Dbghelp.SymEnumSymbols @48
SymEnumTypes=Dbghelp.SymEnumTypes @49
SymFindFileInPath=Dbghelp.SymFindFileInPath @56
SymFromAddr=Dbghelp.SymFromAddr @57
SymFromName=Dbghelp.SymFromName @58
SymFunctionTableAccess=Dbghelp.SymFunctionTableAccess @60
SymFunctionTableAccess64=Dbghelp.SymFunctionTableAccess64 @59
SymGetLineFromAddr=Dbghelp.SymGetLineFromAddr @62
SymGetLineFromAddr64=Dbghelp.SymGetLineFromAddr64 @61
SymGetLineFromName=Dbghelp.SymGetLineFromName @64
SymGetLineFromName64=Dbghelp.SymGetLineFromName64 @63
SymGetLineNext=Dbghelp.SymGetLineNext @66
SymGetLineNext64=Dbghelp.SymGetLineNext64 @65
SymGetLinePrev=Dbghelp.SymGetLinePrev @68
SymGetLinePrev64=Dbghelp.SymGetLinePrev64 @67
SymGetModuleBase=Dbghelp.SymGetModuleBase @70
SymGetModuleBase64=Dbghelp.SymGetModuleBase64 @69
SymGetModuleInfo=Dbghelp.SymGetModuleInfo @72
SymGetModuleInfo64=Dbghelp.SymGetModuleInfo64 @71
SymGetModuleInfoW=Dbghelp.SymGetModuleInfoW @74
SymGetModuleInfoW64=Dbghelp.SymGetModuleInfoW64 @73
SymGetOptions=Dbghelp.SymGetOptions @76
SymGetSearchPath=Dbghelp.SymGetSearchPath @75
SymGetSymFromAddr=Dbghelp.SymGetSymFromAddr @78
SymGetSymFromAddr64=Dbghelp.SymGetSymFromAddr64 @77
SymGetSymFromName=Dbghelp.SymGetSymFromName @80
SymGetSymFromName64=Dbghelp.SymGetSymFromName64 @79
SymGetSymNext=Dbghelp.SymGetSymNext @82
SymGetSymNext64=Dbghelp.SymGetSymNext64 @81
SymGetSymPrev=Dbghelp.SymGetSymPrev @84
SymGetSymPrev64=Dbghelp.SymGetSymPrev64 @83
SymGetTypeFromName=Dbghelp.SymGetTypeFromName @85
SymGetTypeInfo=Dbghelp.SymGetTypeInfo @86
SymInitialize=Dbghelp.SymInitialize @87
SymLoadModule=Dbghelp.SymLoadModule @89
SymLoadModule64=Dbghelp.SymLoadModule64 @88
SymMatchFileName=Dbghelp.SymMatchFileName @90
SymMatchString=Dbghelp.SymMatchString @91
SymRegisterCallback=Dbghelp.SymRegisterCallback @93
SymRegisterCallback64=Dbghelp.SymRegisterCallback64 @92
SymRegisterFunctionEntryCallback=Dbghelp.SymRegisterFunctionEntryCallback @95
SymRegisterFunctionEntryCallback64=Dbghelp.SymRegisterFunctionEntryCallback64 @94
SymSetContext=Dbghelp.SymSetContext @96
SymSetOptions=Dbghelp.SymSetOptions @97
SymSetSearchPath=Dbghelp.SymSetSearchPath @98
SymUnDName=Dbghelp.SymUnDName @100
SymUnDName64=Dbghelp.SymUnDName64 @99
SymUnloadModule=Dbghelp.SymUnloadModule @102
SymUnloadModule64=Dbghelp.SymUnloadModule64 @101
TouchFileTimes @103
UnDecorateSymbolName=Dbghelp.UnDecorateSymbolName @104
UnMapAndLoad @105
UnmapDebugInformation=Dbghelp.UnmapDebugInformation @106
;UpdateDebugInfoFile @107
;UpdateDebugInfoFileEx @108

View file

@ -1,5 +1,5 @@
<module name="imagehlp" type="win32dll" baseaddress="${BASEADDRESS_IMAGEHLP}" installbase="system32" installname="imagehlp.dll" allowwarnings="true">
<importlibrary definition="imagehlp.def" />
<importlibrary definition="imagehlp.spec.def" />
<include base="imagehlp">.</include>
<define name="_WIN32_WINNT">0x600</define>
<define name="WINVER">0x0600</define>
@ -12,6 +12,6 @@
<file>integrity.c</file>
<file>modify.c</file>
<file>imagehlp.rc</file>
<file>imagehlp.spec</file>
<pch>precomp.h</pch>
<linkerflag>-enable-stdcall-fixup</linkerflag>
</module>

View file

@ -0,0 +1,108 @@
@ stdcall BindImage(str str str)
@ stdcall BindImageEx(long str str str ptr)
@ stdcall CheckSumMappedFile(ptr long ptr ptr)
@ stdcall EnumerateLoadedModules(long ptr ptr) dbghelp.EnumerateLoadedModules
@ stdcall EnumerateLoadedModules64(long ptr ptr) dbghelp.EnumerateLoadedModules64
@ stdcall FindDebugInfoFile(str str str) dbghelp.FindDebugInfoFile
@ stdcall FindDebugInfoFileEx(str str ptr ptr ptr) dbghelp.FindDebugInfoFileEx
@ stdcall FindExecutableImage(str str str) dbghelp.FindExecutableImage
@ stdcall FindExecutableImageEx(str str ptr ptr ptr) dbghelp.FindExecutableImageEx
@ stub FindFileInPath
@ stub FindFileInSearchPath
@ stdcall GetImageConfigInformation(ptr ptr)
@ stdcall GetImageUnusedHeaderBytes(ptr ptr)
@ stdcall GetTimestampForLoadedLibrary(long) dbghelp.GetTimestampForLoadedLibrary
@ stdcall ImageAddCertificate(long ptr ptr)
@ stdcall ImageDirectoryEntryToData(ptr long long ptr)
@ stdcall ImageDirectoryEntryToDataEx(ptr long long ptr ptr)
@ stdcall ImageEnumerateCertificates(long long ptr ptr long)
@ stdcall ImageGetCertificateData(long long ptr ptr)
@ stdcall ImageGetCertificateHeader(long long ptr)
@ stdcall ImageGetDigestStream(long long ptr long)
@ stdcall ImagehlpApiVersion() dbghelp.ImagehlpApiVersion
@ stdcall ImagehlpApiVersionEx(ptr) dbghelp.ImagehlpApiVersionEx
@ stdcall ImageLoad(str str)
@ stdcall ImageNtHeader(ptr) ntdll.RtlImageNtHeader
@ stdcall ImageRemoveCertificate(long long)
@ stdcall ImageRvaToSection(ptr ptr long) ntdll.RtlImageRvaToSection
@ stdcall ImageRvaToVa(ptr ptr long ptr) ntdll.RtlImageRvaToVa
@ stdcall ImageUnload(ptr)
@ stdcall MakeSureDirectoryPathExists(str) dbghelp.MakeSureDirectoryPathExists
@ stdcall MapAndLoad(str str ptr long long)
@ stdcall MapDebugInformation(long str str long) dbghelp.MapDebugInformation
@ stdcall MapFileAndCheckSumA(str ptr ptr)
@ stdcall MapFileAndCheckSumW(wstr ptr ptr)
@ stdcall ReBaseImage(str str long long long long ptr ptr ptr ptr long)
@ stub ReBaseImage64
@ stdcall RemovePrivateCvSymbolic(ptr ptr ptr)
@ stub RemovePrivateCvSymbolicEx
@ stdcall RemoveRelocations(ptr)
@ stdcall SearchTreeForFile(str str str) dbghelp.SearchTreeForFile
@ stdcall SetImageConfigInformation(ptr ptr)
@ stdcall SplitSymbols(str str str long)
@ stdcall StackWalk(long long long ptr ptr ptr ptr ptr ptr) dbghelp.StackWalk
@ stdcall StackWalk64(long long long ptr ptr ptr ptr ptr ptr) dbghelp.StackWalk64
@ stdcall SymCleanup(long) dbghelp.SymCleanup
@ stdcall SymEnumerateModules(long ptr ptr) dbghelp.SymEnumerateModules
@ stdcall SymEnumerateModules64(long ptr ptr) dbghelp.SymEnumerateModules64
@ stdcall SymEnumerateSymbols(long long ptr ptr) dbghelp.SymEnumerateSymbols
@ stub SymEnumerateSymbols64
@ stdcall SymEnumerateSymbolsW(long long ptr ptr) dbghelp.SymEnumerateSymbolsW
@ stub SymEnumerateSymbolsW64
@ stdcall SymEnumSourceFiles(long long str ptr ptr) dbghelp.SymEnumSourceFiles
@ stub SymEnumSym
@ stdcall SymEnumSymbols(long double str ptr ptr) dbghelp.SymEnumSymbols
@ stdcall SymEnumTypes(long long ptr ptr) dbghelp.SymEnumTypes
@ stdcall SymFindFileInPath(long str str ptr long long long ptr ptr ptr) dbghelp.SymFindFileInPath
@ stdcall SymFromAddr(long long ptr ptr) dbghelp.SymFromAddr
@ stdcall SymFromName(long str ptr) dbghelp.SymFromName
@ stdcall SymFunctionTableAccess(long long) dbghelp.SymFunctionTableAccess
@ stdcall SymFunctionTableAccess64(long double) dbghelp.SymFunctionTableAccess64
@ stdcall SymGetLineFromAddr(long long ptr ptr) dbghelp.SymGetLineFromAddr
@ stdcall SymGetLineFromAddr64(long double ptr ptr) dbghelp.SymGetLineFromAddr64
@ stdcall SymGetLineFromName(long str str long ptr ptr) dbghelp.SymGetLineFromName
@ stdcall SymGetLineFromName64(long str str long ptr ptr) dbghelp.SymGetLineFromName
@ stdcall SymGetLineNext(long ptr) dbghelp.SymGetLineNext
@ stdcall SymGetLineNext64(long ptr) dbghelp.SymGetLineNext64
@ stdcall SymGetLinePrev(long ptr) dbghelp.SymGetLinePrev
@ stdcall SymGetLinePrev64(long ptr) dbghelp.SymGetLinePrev64
@ stdcall SymGetModuleBase(long long) dbghelp.SymGetModuleBase
@ stdcall SymGetModuleBase64(long double) dbghelp.SymGetModuleBase64
@ stdcall SymGetModuleInfo(long long ptr) dbghelp.SymGetModuleInfo
@ stdcall SymGetModuleInfo64(long double ptr) dbghelp.SymGetModuleInfo64
@ stdcall SymGetModuleInfoW(long long ptr) dbghelp.SymGetModuleInfoW
@ stdcall SymGetModuleInfoW64(long double ptr) dbghelp.SymGetModuleInfoW64
@ stdcall SymGetOptions() dbghelp.SymGetOptions
@ stdcall SymGetSearchPath(long str long) dbghelp.SymGetSearchPath
@ stdcall SymGetSymFromAddr(long long ptr ptr) dbghelp.SymGetSymFromAddr
@ stdcall SymGetSymFromAddr64(long double ptr ptr) dbghelp.SymGetSymFromAddr64
@ stdcall SymGetSymFromName(long str ptr) dbghelp.SymGetSymFromName
@ stub SymGetSymFromName64
@ stdcall SymGetSymNext(long ptr) dbghelp.SymGetSymNext
@ stub SymGetSymNext64
@ stdcall SymGetSymPrev(long ptr) dbghelp.SymGetSymPrev
@ stub SymGetSymPrev64
@ stdcall SymGetTypeFromName(long long str ptr) dbghelp.SymGetTypeFromName
@ stdcall SymGetTypeInfo(long long long long ptr) dbghelp.SymGetTypeInfo
@ stdcall SymInitialize(long str long) dbghelp.SymInitialize
@ stdcall SymLoadModule(long long str str long long) dbghelp.SymLoadModule
@ stdcall SymLoadModule64(long long str str double long) dbghelp.SymLoadModule64
@ stdcall SymMatchFileName(str str ptr ptr) dbghelp.SymMatchFileName
@ stdcall SymMatchString(str str long) dbghelp.SymMatchString
@ stdcall SymRegisterCallback(long ptr ptr) dbghelp.SymRegisterCallback
@ stdcall SymRegisterCallback64(long ptr double) dbghelp.SymRegisterCallback64
@ stdcall SymRegisterFunctionEntryCallback(ptr ptr ptr) dbghelp.SymRegisterFunctionEntryCallback
@ stdcall SymRegisterFunctionEntryCallback64(ptr ptr double) dbghelp.SymRegisterFunctionEntryCallback64
@ stdcall SymSetContext(long ptr ptr) dbghelp.SymSetContext
@ stdcall SymSetOptions(long) dbghelp.SymSetOptions
@ stdcall SymSetSearchPath(long str) dbghelp.SymSetSearchPath
@ stdcall SymUnDName(ptr str long) dbghelp.SymUnDName
@ stub SymUnDName64
@ stdcall SymUnloadModule(long long) dbghelp.SymUnloadModule
@ stdcall SymUnloadModule64(long double) dbghelp.SymUnloadModule64
@ stdcall TouchFileTimes(long ptr)
@ stdcall UnDecorateSymbolName(str str long long) dbghelp.UnDecorateSymbolName
@ stdcall UnMapAndLoad(ptr)
@ stdcall UnmapDebugInformation(ptr) dbghelp.UnmapDebugInformation
@ stdcall UpdateDebugInfoFile(str str str ptr)
@ stdcall UpdateDebugInfoFileEx(str str str ptr long)

View file

@ -319,11 +319,11 @@ BOOL IMAGEAPI SymUnloadModule(IN HANDLE,IN DWORD);
BOOL IMAGEAPI SymUnDName(IN PIMAGEHLP_SYMBOL,OUT LPSTR,IN DWORD);
BOOL IMAGEAPI SymRegisterCallback(IN HANDLE,IN PSYMBOL_REGISTERED_CALLBACK,IN PVOID);
BOOL IMAGEAPI ImageGetDigestStream(IN HANDLE,IN DWORD,IN DIGEST_FUNCTION,IN DIGEST_HANDLE);
//BOOL IMAGEAPI ImageAddCertificate(IN HANDLE,IN LPWIN_CERTIFICATE,OUT PDWORD);
BOOL IMAGEAPI ImageAddCertificate(IN HANDLE,IN LPWIN_CERTIFICATE,OUT PDWORD);
BOOL IMAGEAPI ImageRemoveCertificate(IN HANDLE,IN DWORD);
BOOL IMAGEAPI ImageEnumerateCertificates(IN HANDLE,IN WORD,OUT PDWORD,IN OUT PDWORD OPTIONAL,IN OUT DWORD OPTIONAL);
//BOOL IMAGEAPI ImageGetCertificateData(IN HANDLE,IN DWORD,OUT LPWIN_CERTIFICATE,IN OUT PDWORD);
//BOOL IMAGEAPI ImageGetCertificateHeader(IN HANDLE,IN DWORD,IN OUT LPWIN_CERTIFICATE);
BOOL IMAGEAPI ImageGetCertificateData(IN HANDLE,IN DWORD,OUT LPWIN_CERTIFICATE,IN OUT PDWORD);
BOOL IMAGEAPI ImageGetCertificateHeader(IN HANDLE,IN DWORD,IN OUT LPWIN_CERTIFICATE);
BOOL IMAGEAPI CopyPdb(CHAR const*,CHAR const*,BOOL);
BOOL IMAGEAPI RemovePrivateCvSymbolicEx(PCHAR,ULONG,PCHAR*,ULONG*);