- Timestamp:
- Nov 18, 2006, 12:21:33 PM (19 years ago)
- Location:
- trunk/kLdr
- Files:
-
- 1 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/Makefile.kmk
r2877 r2883 115 115 kLdr_SOURCES.os2 = \ 116 116 kLdr-os2.def \ 117 kLdrHlp-gcc.c \ 117 118 kLdrA-os2.asm 118 119 kLdr_SOURCES.win = \ -
trunk/kLdr/kLdr.c
r2869 r2883 53 53 #include "kLdr.h" 54 54 #include "kLdrHlp.h" 55 #include "kLdrInternal.h" 55 56 56 57 … … 243 244 void kLdrGetArchCpu(PKLDRARCH penmArch, PKLDRCPU penmCpu) 244 245 { 245 #if defined(__x86_64__) || defined(_M_X64) || defined(__AMD64__) || defined(_M_AMD64)246 #ifdef __AMD64__ 246 247 *penmArch = KLDRARCH_AMD64; 247 *penmCpu = KLDRCPU_AMD64_BLEND; / //@todo check it using cpu.248 249 #elif defined(__ i386__) || defined(_M_IX86)248 *penmCpu = KLDRCPU_AMD64_BLEND; /** @todo check it using cpu. */ 249 250 #elif defined(__X86__) 250 251 *penmArch = KLDRARCH_X86_32; 251 *penmCpu = KLDRCPU_X86_32_BLEND; / //@todo check it using cpu.252 *penmCpu = KLDRCPU_X86_32_BLEND; /** @todo check it using cpu. */ 252 253 253 254 #else -
trunk/kLdr/kLdrDyldFind.c
r2875 r2883 37 37 # define LIBPATHSTRICT 3 38 38 # endif 39 extern APIRET DosQueryHeaderInfo(HMODULE hmod, ULONG ulIndex, PVOID pvBuffer, ULONG cbBuffer, ULONG ulSubFunction);39 extern APIRET APIENTRY DosQueryHeaderInfo(HMODULE hmod, ULONG ulIndex, PVOID pvBuffer, ULONG cbBuffer, ULONG ulSubFunction); 40 40 # define QHINF_EXEINFO 1 /* NE exeinfo. */ 41 41 # define QHINF_READRSRCTBL 2 /* Reads from the resource table. */ … … 240 240 if (rc) 241 241 return rc; 242 rc = DosQueryExtLIBPATH( kLdrDyldOS2LibpathStrict, LIBPATHSTRICT);242 rc = DosQueryExtLIBPATH((PSZ)kLdrDyldOS2LibpathStrict, LIBPATHSTRICT); 243 243 if (rc) 244 244 kLdrDyldOS2LibpathStrict[0] = '\0'; 245 rc = DosQueryExtLIBPATH( kLdrDyldOS2BeginLibpath, BEGIN_LIBPATH);245 rc = DosQueryExtLIBPATH((PSZ)kLdrDyldOS2BeginLibpath, BEGIN_LIBPATH); 246 246 if (rc) 247 247 kLdrDyldOS2BeginLibpath[0] = '\0'; 248 rc = DosQueryExtLIBPATH( kLdrDyldOS2EndLibpath, END_LIBPATH);248 rc = DosQueryExtLIBPATH((PSZ)kLdrDyldOS2EndLibpath, END_LIBPATH); 249 249 if (rc) 250 250 kLdrDyldOS2EndLibpath[0] = '\0'; -
trunk/kLdr/kLdrDyldMod.c
r2878 r2883 127 127 pMod->hMod = pMod; 128 128 pMod->cDepRefs = pMod->cDynRefs = pMod->cRefs = 0; 129 pMod->fExecutable = 0;130 129 switch (pRawMod->enmType) 131 130 { … … 134 133 case KLDRTYPE_EXECUTABLE_PIC: 135 134 pMod->fExecutable = 1; 135 break; 136 default: 137 pMod->fExecutable = 0; 136 138 break; 137 139 } … … 1027 1029 1028 1030 /* do the job */ 1029 rc = kLdrModFixupMapping(pMod->pMod, kldrDyldModFixupGetImportCallback, pMod);/ // @todo fixme.1031 rc = kLdrModFixupMapping(pMod->pMod, kldrDyldModFixupGetImportCallback, pMod);/** @todo fixme. */ 1030 1032 if (!rc) 1031 1033 pMod->enmState = KLDRSTATE_FIXED_UP; -
trunk/kLdr/kLdrDyldOS.c
r2878 r2883 107 107 TerminateProcess(GetCurrentProcess(), rc); 108 108 109 / /#elif defined(__NT__)109 /*#elif defined(__NT__)*/ 110 110 #else 111 111 # error "Port me" … … 118 118 void kldrDyldDoLoadExeStackSwitch(PKLDRDYLDMOD pExe, void *pvStack, size_t cbStack) 119 119 { 120 / /kldrHlpAssert(!"not implemented");120 /*kldrHlpAssert(!"not implemented");*/ 121 121 122 122 /** @todo implement this properly! */ -
trunk/kLdr/kLdrHlp-os2.c
r2826 r2883 33 33 *******************************************************************************/ 34 34 35 int kldrSemInit(void)36 {37 return 0;38 }39 35 40 int kldrSemTerm(void);41 int kldrSemRequest(void);42 int kldrSemRelease(void);43 44 int kldrFileOpen(const char *pszFilename, PKLDRFILE pFile);45 int kldrFileClose(KLDRFILE File);46 int kldrFileRead(KLDRFILE File, off_t off, void *pv, size_t cb);47 48 int kldrGetEnv(const char *pszVar, char *pszVar, size_t *pcchVar)49 50 void *kldrAlloc(size_t cb);51 void kldrFree(void *pv);52 53 int kldrPrivateAlloc(void *pv, size_t cb, unsigned fFlags, void **ppv);54 int kldrPrivateFree(void *pv, size_t cb);55 int kldrSharedAlloc(void *pv, size_t cb, unsigned fFlags, const char *pszFilename, KLDRFILE File, void **ppv);56 int kldrSharedFree(void *pv, size_t cb);57 -
trunk/kLdr/kLdrHlp.c
r2881 r2883 96 96 { 97 97 #ifdef __OS2__ 98 APIRET rc;99 98 HMTX hmtx = g_hmtx; 100 99 g_hmtx = NULLHANDLE; 101 rc = DosCloseMutexSem(hmtx); 102 if (rc) 103 return rc; 100 DosCloseMutexSem(hmtx); 104 101 105 102 #elif defined(__WIN__) … … 267 264 #ifdef __OS2__ 268 265 APIRET rc; 269 uintptr_t offStub;270 266 ULONG fFlags = kldrHlpPageProtToNative(enmProt);; 271 267 … … 329 325 { 330 326 /* decommit the pages in the stub. */ 331 size_t cbS ub = KLDR_MIN(g_cbStub - offStub, cb);327 size_t cbStub = KLDR_MIN(g_cbStub - offStub, cb); 332 328 rc = DosSetMem(pv, cbStub, PAG_DECOMMIT); 333 329 if (rc) 334 330 { 335 331 /* Page by page, ignoring errors after the first success. */ 336 while (cbS ub > 0)332 while (cbStub > 0) 337 333 { 338 334 if (!DosSetMem(pv, 0x1000, PAG_DECOMMIT)) 339 335 rc = 0; 340 336 pv = (void *)((uintptr_t)pv + 0x1000); 341 cbS ub -= 0x1000;337 cbStub -= 0x1000; 342 338 cb -= 0x1000; 343 339 } … … 350 346 else 351 347 { 352 cb -= cbS ub;348 cb -= cbStub; 353 349 if (!cb) 354 350 return 0; 355 pv = (void *)((uintptr_t)pv + cbS ub);351 pv = (void *)((uintptr_t)pv + cbStub); 356 352 } 357 353 } … … 403 399 if (!rc) 404 400 { 405 size_t cch = kLdrHlpStrLen( pszValue);401 size_t cch = kLdrHlpStrLen((const char *)pszValue); 406 402 if (cchVal > cch) 407 403 kLdrHlpMemCopy(pszVal, pszValue, cch + 1); … … 592 588 int kldrHlpIsFilenameOnly(const char *pszFilename) 593 589 { 594 const char *pszLast = NULL;595 590 for (;;) 596 591 { -
trunk/kLdr/kLdrHlp.h
r2880 r2883 74 74 # define kLdrHlpMemCopy(a,b,c) __builtin_memcpy(a,b,c) 75 75 /** memmove */ 76 # define kLdrHlpMemMove(a,b,c) __builtin_memmove(a,b,c) 76 /*# define kLdrHlpMemMove(a,b,c) __builtin_memmove(a,b,c)*/ 77 # define kLdrHlpMemMove_needed 77 78 /** memset */ 78 79 # define kLdrHlpMemSet(a,b,c) __builtin_memset(a,b,c) … … 126 127 char *kLdrHlpStrChr(const char *psz, int ch); 127 128 #endif 128 #ifdef kLdrHlp StrChr_needed129 #ifdef kLdrHlpMemChr_needed 129 130 void *kLdrHlpMemChr(const void *pv, int ch, size_t cb); 130 131 #endif 131 #ifdef kLdrHlp StrChr_needed132 #ifdef kLdrHlpMemMove_needed 132 133 void *kLdrHlpMemMove(void *pv1, const void *pv2, size_t cb); 133 134 #endif … … 191 192 /** Crash validation of a string argument. */ 192 193 #define KLDRHLP_VALIDATE_STRING(str) \ 193 do { strlen(str); } while (0)194 do { kLdrHlpStrLen(str); } while (0) 194 195 195 196 /** Crash validation of an optional string argument. */ -
trunk/kLdr/kLdrInternal.h
r2879 r2883 31 31 #ifdef __cplusplus 32 32 extern "C" { 33 #endif 34 35 #if !defined(__X86__) || !defined(__AMD64__) 36 # if defined(__i386__) || defined(_M_IX86) 37 # define __X86__ 38 # elif defined(__x86_64__) || defined(_M_X64) || defined(__AMD64__) || defined(_M_AMD64) 39 # define __AMD64__ 40 # else 41 # error "can't figure out the target arch." 42 # endif 33 43 #endif 34 44 -
trunk/kLdr/kLdrModLX.c
r2882 r2883 127 127 static int kldrModLXDoProtect(PKLDRMODLX pModLX, void *pvBits, unsigned fUnprotectOrProtect); 128 128 static int kldrModLXDoCallDLL(PKLDRMODLX pModLX, unsigned uOp, uintptr_t uHandle); 129 static int32_t kldrModLXDoGetOrdinalByName(PKLDRMODLX pModLX, const char *pszName);130 129 static int kldrModLXDoForwarderQuery(PKLDRMODLX pModLX, const struct e32_entry *pEntry, 131 130 PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, uint32_t *pfKind); … … 259 258 cb = KLDR_ALIGN_Z(sizeof(KLDRMODLX), 8) 260 259 + KLDR_ALIGN_Z(KLDR_OFFSETOF(KLDRMOD, aSegments[Hdr.e32_objcnt + 1]), 8) 261 + KLDR_ALIGN_Z(cchFilename + 1, 8) ,260 + KLDR_ALIGN_Z(cchFilename + 1, 8) 262 261 + Hdr.e32_ldrsize; 263 262 pModLX = (PKLDRMODLX)kldrHlpAlloc(cb); … … 367 366 * (The table entry consists of a pascal string followed by a 16-bit ordinal.) 368 367 */ 369 pMod->pszName = kldrModLXDoNameTableLookupByOrdinal(pModLX->pbResNameTab,370 pModLX->pbLoaderSectionLast - pModLX->pbResNameTab + 1,371 0);368 pMod->pszName = (const char *)kldrModLXDoNameTableLookupByOrdinal(pModLX->pbResNameTab, 369 pModLX->pbLoaderSectionLast - pModLX->pbResNameTab + 1, 370 0); 372 371 if (!pMod->pszName) 373 372 return KLDR_ERR_LX_NO_SONAME; … … 467 466 if ((pModLX->paObjs[i].o32_flags & (OBJREAD | OBJWRITE | OBJEXEC | OBJRSRC)) == OBJRSRC) 468 467 pMod->aSegments[i].enmProt = KLDRPROT_READONLY; 469 / /pMod->aSegments[i].f16bit = !(pModLX->paObjs[i].o32_flags & OBJBIGDEF)470 //pMod->aSegments[i].fIOPL = !(pModLX->paObjs[i].o32_flags & OBJIOPL)471 //pMod->aSegments[i].fConforming = !(pModLX->paObjs[i].o32_flags & OBJCONFORM)468 /*pMod->aSegments[i].f16bit = !(pModLX->paObjs[i].o32_flags & OBJBIGDEF) 469 pMod->aSegments[i].fIOPL = !(pModLX->paObjs[i].o32_flags & OBJIOPL) 470 pMod->aSegments[i].fConforming = !(pModLX->paObjs[i].o32_flags & OBJCONFORM) */ 472 471 } 473 472 … … 883 882 { 884 883 PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData; 885 / / int rc;884 /* int rc; */ 886 885 887 886 kldrModLXResolveBaseAddress(pModLX, &BaseAddress); … … 927 926 static int kldrModLXGetImport(PKLDRMOD pMod, const void *pvBits, uint32_t iImport, char *pszName, size_t cchName) 928 927 { 929 PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData;928 /*PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData;*/ 930 929 const uint8_t * pb = NULL; 931 930 int rc; … … 1011 1010 static int kldrModLXEnumDbgInfo(PKLDRMOD pMod, const void *pvBits, PFNKLDRENUMDBG pfnCallback, void *pvUser) 1012 1011 { 1013 / /PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData;1012 /*PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData;*/ 1014 1013 1015 1014 /* … … 1257 1256 1258 1257 for (i = pIter->LX_nIter; i > 0; i--, pbDst += pIter->LX_nBytes) 1259 memcpy(pbDst, &pIter->LX_Iterdata, pIter->LX_nBytes);1258 kLdrHlpMemCopy(pbDst, &pIter->LX_Iterdata, pIter->LX_nBytes); 1260 1259 pIter = (struct LX_Iter *)((char*)pIter + 4 + pIter->LX_nBytes); 1261 1260 } … … 1340 1339 if (cbSrc < 0) 1341 1340 return KLDR_ERR_LX_BAD_ITERDATA2; 1342 memset(pbDst, pbSrc[2], cb);1341 kLdrHlpMemSet(pbDst, pbSrc[2], cb); 1343 1342 pbDst += cb; 1344 1343 pbSrc += 3; … … 1506 1505 /* 16-bit copy (unaligned) */ 1507 1506 if (cb & 1) 1508 *pbDst++ = *pb Dst++;1507 *pbDst++ = *pbSrc++; 1509 1508 for (cb >>= 1; cb > 0; cb--, pbDst += 2, pbSrc += 2) 1510 1509 *(uint16_t *)pbDst = *(const uint16_t *)pbSrc; … … 1514 1513 /* 32-bit copy (unaligned) */ 1515 1514 if (cb & 1) 1516 *pbDst++ = *pb Dst++;1515 *pbDst++ = *pbSrc++; 1517 1516 if (cb & 2) 1518 1517 { … … 1877 1876 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser) 1878 1877 { 1879 / /PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData;1880 //int rc;1878 /*PKLDRMODLX pModLX = (PKLDRMODLX)pMod->pvData; 1879 int rc;*/ 1881 1880 1882 1881 /** @todo Implement this. */ -
trunk/kLdr/kLdrModNative.c
r2878 r2883 33 33 #include "kLdrInternal.h" 34 34 #ifdef __OS2__ 35 # define INCL_BASE 35 36 # include <os2.h> 36 37 38 # ifndef LIBPATHSTRICT 39 # define LIBPATHSTRICT 3 40 # endif 41 extern APIRET DosQueryHeaderInfo(HMODULE hmod, ULONG ulIndex, PVOID pvBuffer, ULONG cbBuffer, ULONG ulSubFunction); 42 # define QHINF_EXEINFO 1 /* NE exeinfo. */ 43 # define QHINF_READRSRCTBL 2 /* Reads from the resource table. */ 44 # define QHINF_READFILE 3 /* Reads from the executable file. */ 45 # define QHINF_LIBPATHLENGTH 4 /* Gets the libpath length. */ 46 # define QHINF_LIBPATH 5 /* Gets the entire libpath. */ 47 # define QHINF_FIXENTRY 6 /* NE only */ 48 # define QHINF_STE 7 /* NE only */ 49 # define QHINF_MAPSEL 8 /* NE only */ 50 37 51 #elif defined(__WIN__) 38 //# include "kLdrModPE.h"39 52 # undef IMAGE_NT_SIGNATURE 40 53 # undef IMAGE_DOS_SIGNATURE … … 42 55 # ifndef IMAGE_SCN_TYPE_NOLOAD 43 56 # define IMAGE_SCN_TYPE_NOLOAD 0x00000002 44 #endif 45 57 # endif 46 58 47 59 /*#elif defined(__NT__) … … 162 174 HMODULE hmod; 163 175 164 rc = DosLoadModule(NULL, 0, pszFilename, &hmod);176 rc = DosLoadModule(NULL, 0, (PCSZ)pszFilename, &hmod); 165 177 if (rc) 166 178 return rc; … … 213 225 214 226 /* get the filename. */ 215 rc = DosQueryModuleName( hmod, sizeof(szFilename), szFilename);227 rc = DosQueryModuleName((HMODULE)uHandle, sizeof(szFilename), szFilename); 216 228 if (rc) 217 229 { … … 308 320 */ 309 321 #ifdef __OS2__ 310 pModNative->hmod = hmod;322 pModNative->hmod = (HMODULE)uHandle; 311 323 312 324 /* just fake a segment for now. */ … … 514 526 rc = DosQueryProcAddr(pModNative->hmod, 515 527 pszSymbol ? 0 : iSymbol, 516 pszSymbol,528 (PCSZ)pszSymbol, 517 529 &pfn); 518 530 if (rc) … … 525 537 rc = DosQueryProcType(pModNative->hmod, 526 538 pszSymbol ? 0 : iSymbol, 527 pszSymbol,539 (PCSZ)pszSymbol, 528 540 &ulProcType); 529 541 if (rc) … … 567 579 568 580 /** @todo implement export enumeration on OS/2. */ 581 (void)pModNative; 569 582 return ERROR_NOT_SUPPORTED; 570 583 … … 653 666 654 667 /** @todo implement export enumeration on OS/2. */ 668 (void)pModNative; 655 669 return ERROR_NOT_SUPPORTED; 656 670 … … 675 689 const IMAGE_IMPORT_DESCRIPTOR *); 676 690 pszImportName = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pImpDesc->Name, const char *); 677 cchImportName = strlen(pszImportName);691 cchImportName = kLdrHlpStrLen(pszImportName); 678 692 if (cchImportName < cchName) 679 693 { … … 704 718 705 719 /** @todo implement export enumeration on OS/2. */ 720 (void)pModNative; 706 721 return -1; 707 722 … … 743 758 744 759 /** @todo implement export enumeration on OS/2. */ 760 (void)pModNative; 745 761 return ERROR_NOT_SUPPORTED; 746 762 … … 765 781 766 782 /** @todo implement export enumeration on OS/2. */ 783 (void)pModNative; 767 784 return ERROR_NOT_SUPPORTED; 768 785 … … 789 806 790 807 /** @todo implement export enumeration on OS/2. */ 808 (void)pModNative; 791 809 return ERROR_NOT_SUPPORTED; 792 810 … … 820 838 case IMAGE_DEBUG_TYPE_UNKNOWN: 821 839 case IMAGE_DEBUG_TYPE_FPO: 822 case IMAGE_DEBUG_TYPE_COFF: / /stabs dialect??840 case IMAGE_DEBUG_TYPE_COFF: /*stabs dialect??*/ 823 841 case IMAGE_DEBUG_TYPE_MISC: 824 842 case IMAGE_DEBUG_TYPE_EXCEPTION: … … 863 881 864 882 /** @todo implement export enumeration on OS/2. */ 883 (void)pModNative; 865 884 return KLDR_ERR_NO_DEBUG_INFO; 866 885 -
trunk/kLdr/kLdrModPE.c
r2878 r2883 58 58 */ 59 59 #define KLDRMODPE_RVA2TYPE(pvBits, uRVA, type) \ 60 ( (type) ((uintptr_t)(pvBits) + (u RVA)) )60 ( (type) ((uintptr_t)(pvBits) + (uintptr_t)(uRVA)) ) 61 61 62 62 /** @def KLDRMODPE_VALID_RVA … … 119 119 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 120 120 static int kldrModPEDoImports(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 121 static int kldrModPEDoImportsFor32BitArch(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);122 static int kldrModPEDoImportsFor64BitArch(PKLDRMODPE pModPE, void *pvMapping, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);123 121 static int kldrModPEDoCallDLL(PKLDRMODPE pModPE, unsigned uOp, uintptr_t uHandle); 124 122 static int kldrModPEDoCallTLS(PKLDRMODPE pModPE, unsigned uOp, uintptr_t uHandle); … … 188 186 189 187 /* sanity checks. */ 190 if ( s.FileHdr.NumberOfSections > 1024*1024188 if ( s.FileHdr.NumberOfSections > 4096 191 189 || ( s.FileHdr.SizeOfOptionalHeader != sizeof(IMAGE_OPTIONAL_HEADER32) 192 190 && s.FileHdr.SizeOfOptionalHeader != sizeof(IMAGE_OPTIONAL_HEADER64)) … … 309 307 for (i = 0; i < pModPE->Hdrs.FileHeader.NumberOfSections; i++) 310 308 { 311 c har *pch;309 const char *pch; 312 310 313 311 /* unused */ … … 316 314 317 315 /* name */ 318 pMod->aSegments[i + 1].pchName = pch = &pModPE->aShdrs[i].Name[0];316 pMod->aSegments[i + 1].pchName = pch = (const char *)&pModPE->aShdrs[i].Name[0]; 319 317 cb = IMAGE_SIZEOF_SHORT_NAME; 320 318 while ( cb > 0 … … 607 605 { 608 606 PKLDRMOD pMod = pModPE->pMod; 609 size_t cb = (size_t)pMod->pOps->pfnSize(pModPE->pMod);610 607 int rc; 611 608 uint32_t i; … … 1029 1026 const IMAGE_IMPORT_DESCRIPTOR *); 1030 1027 pszImportName = KLDRMODPE_RVA2TYPE(pvBits, pImpDesc->Name, const char *); 1031 cchImportName = strlen(pszImportName);1028 cchImportName = kLdrHlpStrLen(pszImportName); 1032 1029 if (cchImportName < cchName) 1033 1030 { … … 1154 1151 case IMAGE_DEBUG_TYPE_UNKNOWN: 1155 1152 case IMAGE_DEBUG_TYPE_FPO: 1156 case IMAGE_DEBUG_TYPE_COFF: / /stabs dialect??1153 case IMAGE_DEBUG_TYPE_COFF: /*stabs dialect??*/ 1157 1154 case IMAGE_DEBUG_TYPE_MISC: 1158 1155 case IMAGE_DEBUG_TYPE_EXCEPTION: … … 1440 1437 /* 5 - 32-bit MIPS JMPADDR, no implemented. */ 1441 1438 case IMAGE_REL_BASED_MIPS_JMPADDR: 1442 *u.pu32 = *u.pu32 & 0xc00000001439 *u.pu32 = (*u.pu32 & 0xc0000000) 1443 1440 | ((uint32_t)((*u.pu32 << 2) + (uint32_t)Delta) >> 2); 1444 1441 break; … … 1582 1579 { 1583 1580 const IMAGE_IMPORT_BY_NAME *pName = KLDRMODPE_RVA2TYPE(pvMapping, pThunk->u1.Ordinal, const IMAGE_IMPORT_BY_NAME *); 1584 rc = pfnGetImport(pMod, iImp, NIL_KLDRMOD_SYM_ORDINAL, pName->Name, &Value, &fKind, pvUser);1581 rc = pfnGetImport(pMod, iImp, NIL_KLDRMOD_SYM_ORDINAL, (const char *)pName->Name, &Value, &fKind, pvUser); 1585 1582 } 1586 1583 else -
trunk/kLdr/kLdrRdrFile.c
r2869 r2883 43 43 # include <ntstatus.h> 44 44 45 / // @todo find a non-conflicting header with NTSTATUS, NTAPI, ++45 /** @todo find a non-conflicting header with NTSTATUS, NTAPI, ++ */ 46 46 typedef LONG NTSTATUS; 47 47 #define NT_SUCCESS(x) ((x)>=0) … … 233 233 static int kldrRdrFileRefresh(PKLDRRDR pRdr, void *pvBase, uint32_t cSegments, PCKLDRSEG paSegments); 234 234 static int kldrRdrFileGenericRefresh(PKLDRRDR pRdr, PKLDRRDRFILEPREP pPrep, uint32_t cSegments, PCKLDRSEG paSegments); 235 static int kldrRdrFileMap(PKLDRRDR pRdr, void * ppvBase, uint32_t cSegments, PCKLDRSEG paSegments, unsigned fFixed);235 static int kldrRdrFileMap(PKLDRRDR pRdr, void **ppvBase, uint32_t cSegments, PCKLDRSEG paSegments, unsigned fFixed); 236 236 static int kldrRdrFileGenericMap(PKLDRRDR pRdr, PKLDRRDRFILEPREP pPrep, uint32_t cSegments, PCKLDRSEG paSegments, unsigned fFixed); 237 237 static size_t kldrRdrFilePageSize(PKLDRRDR pRdr); … … 683 683 ViewSize = paSegments[i].cbFile; 684 684 fPageProt = kldrRdrFileGetNtMapProt(paSegments[i].enmProt); 685 / /STATUS_MAPPED_ALIGNMENT686 //STATUS_CONFLICTING_ADDRESSES687 // STATUS_INVALID_VIEW_SIZE685 /* STATUS_MAPPED_ALIGNMENT 686 STATUS_CONFLICTING_ADDRESSES 687 STATUS_INVALID_VIEW_SIZE */ 688 688 Status = NtMapViewOfSection(pPrep->hSection, NtCurrentProcess(), 689 689 &pv, … … 699 699 && 0/*later*/) 700 700 { 701 / /ULONG OldPageProt = 0;702 //NtProtectVirtualMemory(NtCurrentProcess(), &pv, &ViewSize, ,701 /*ULONG OldPageProt = 0; 702 NtProtectVirtualMemory(NtCurrentProcess(), &pv, &ViewSize, , */ 703 703 } 704 704 } … … 1085 1085 return rc; 1086 1086 1087 rc = DosQueryPathInfo( pszFilename, FIL_QUERYFULLNAME, szFilename, sizeof(szFilename));1087 rc = DosQueryPathInfo((PCSZ)pszFilename, FIL_QUERYFULLNAME, szFilename, sizeof(szFilename)); 1088 1088 if (rc) 1089 1089 {
Note:
See TracChangeset
for help on using the changeset viewer.