Changeset 3579 for trunk/kStuff/kLdr/tstkLdrMod.c
- Timestamp:
- Sep 2, 2007, 11:40:41 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kStuff/kLdr/tstkLdrMod.c
r3571 r3579 30 30 *******************************************************************************/ 31 31 #include <k/kLdr.h> 32 #include <k/kErr.h> 33 #include <k/kErrors.h> 34 32 35 #include <stdarg.h> 33 36 #include <stdio.h> … … 116 119 rc = kLdrModGetBits(pMod, pvBits2, (KUPTR)pvBits, BasicTestsGetImport, NULL); 117 120 if (rc) 118 return Failure("failed to get image bits, rc=%d (%s) (a)", rc, k LdrErrStr(rc));121 return Failure("failed to get image bits, rc=%d (%s) (a)", rc, kErrName(rc)); 119 122 if (TestMemComp(pvBits2, pvBits, cbImage)) 120 123 return Failure("relocation test failed, mismatching bits (a)"); … … 125 128 rc = kLdrModRelocateBits(pMod, pvBits2, 0x1000, (KUPTR)pvBits, BasicTestsGetImport, NULL); 126 129 if (rc) 127 return Failure("failed to relocate, rc=%d (%s) (b1)", rc, k LdrErrStr(rc));130 return Failure("failed to relocate, rc=%d (%s) (b1)", rc, kErrName(rc)); 128 131 rc = kLdrModRelocateBits(pMod, pvBits2, (KUPTR)pvBits, 0x1000, BasicTestsGetImport, NULL); 129 132 if (rc) 130 return Failure("failed to relocate, rc=%d (%s) (b2)", rc, k LdrErrStr(rc));133 return Failure("failed to relocate, rc=%d (%s) (b2)", rc, kErrName(rc)); 131 134 if (TestMemComp(pvBits2, pvBits, cbImage)) 132 135 return Failure("relocation test failed, mismatching bits (b)"); … … 138 141 rc = kLdrModRelocateBits(pMod, pvBits, 0x1000000, (KUPTR)pvBits, BasicTestsGetImport, NULL); 139 142 if (rc) 140 return Failure("failed to relocate, rc=%d (%s) (c1)", rc, k LdrErrStr(rc));143 return Failure("failed to relocate, rc=%d (%s) (c1)", rc, kErrName(rc)); 141 144 memset(pvBits2, 0xfe, cbImage); 142 145 rc = kLdrModGetBits(pMod, pvBits2, 0x1000000, BasicTestsGetImport, NULL); 143 146 if (rc) 144 return Failure("failed to get image bits, rc=%d (%s) (c1)", rc, k LdrErrStr(rc));147 return Failure("failed to get image bits, rc=%d (%s) (c1)", rc, kErrName(rc)); 145 148 if (TestMemComp(pvBits2, pvBits, cbImage)) 146 149 return Failure("relocation test failed, mismatching bits (c1)"); … … 149 152 rc = kLdrModRelocateBits(pMod, pvBits, ~(KUPTR)0x1010000, 0x1000000, BasicTestsGetImport, NULL); 150 153 if (rc) 151 return Failure("failed to relocate, rc=%d (%s) (c2)", rc, k LdrErrStr(rc));154 return Failure("failed to relocate, rc=%d (%s) (c2)", rc, kErrName(rc)); 152 155 memset(pvBits2, 0xef, cbImage); 153 156 rc = kLdrModGetBits(pMod, pvBits2, ~(KUPTR)0x1010000, BasicTestsGetImport, NULL); 154 157 if (rc) 155 return Failure("failed to get image bits, rc=%d (%s) (c2)", rc, k LdrErrStr(rc));158 return Failure("failed to get image bits, rc=%d (%s) (c2)", rc, kErrName(rc)); 156 159 if (TestMemComp(pvBits2, pvBits, cbImage)) 157 160 return Failure("relocation test failed, mismatching bits (c2)"); … … 160 163 rc = kLdrModRelocateBits(pMod, pvBits, MY_BASEADDRESS, ~(KUPTR)0x1010000, BasicTestsGetImport, NULL); 161 164 if (rc) 162 return Failure("failed to relocate, rc=%d (%s) (c3)", rc, k LdrErrStr(rc));165 return Failure("failed to relocate, rc=%d (%s) (c3)", rc, kErrName(rc)); 163 166 memset(pvBits2, 0xef, cbImage); 164 167 rc = kLdrModGetBits(pMod, pvBits2, MY_BASEADDRESS, BasicTestsGetImport, NULL); 165 168 if (rc) 166 return Failure("failed to get image bits, rc=%d (%s) (c3)", rc, k LdrErrStr(rc));169 return Failure("failed to get image bits, rc=%d (%s) (c3)", rc, kErrName(rc)); 167 170 if (TestMemComp(pvBits2, pvBits, cbImage)) 168 171 return Failure("relocation test failed, mismatching bits (c3)"); … … 171 174 rc = kLdrModRelocateBits(pMod, pvBits, ~(KUPTR)0 / 2 - 0x10000, MY_BASEADDRESS, BasicTestsGetImport, NULL); 172 175 if (rc) 173 return Failure("failed to relocate, rc=%d %(s) (c4)", rc, k LdrErrStr(rc));176 return Failure("failed to relocate, rc=%d %(s) (c4)", rc, kErrName(rc)); 174 177 memset(pvBits2, 0xdc, cbImage); 175 178 rc = kLdrModGetBits(pMod, pvBits2, ~(KUPTR)0 / 2 - 0x10000, BasicTestsGetImport, NULL); 176 179 if (rc) 177 return Failure("failed to get image bits, rc=%d (%s) (c4)", rc, k LdrErrStr(rc));180 return Failure("failed to get image bits, rc=%d (%s) (c4)", rc, kErrName(rc)); 178 181 if (TestMemComp(pvBits2, pvBits, cbImage)) 179 182 return Failure("relocation test failed, mismatching bits (c4)"); … … 182 185 rc = kLdrModRelocateBits(pMod, pvBits, (KUPTR)pvBits, ~(KUPTR)0 / 2 - 0x10000, BasicTestsGetImport, NULL); 183 186 if (rc) 184 return Failure("failed to relocate, rc=%d (%s) (c5)", rc, k LdrErrStr(rc));187 return Failure("failed to relocate, rc=%d (%s) (c5)", rc, kErrName(rc)); 185 188 memset(pvBits2, 0xcd, cbImage); 186 189 rc = kLdrModGetBits(pMod, pvBits2, (KUPTR)pvBits, BasicTestsGetImport, NULL); 187 190 if (rc) 188 return Failure("failed to get image bits, rc=%d (%s) (c5)", rc, k LdrErrStr(rc));191 return Failure("failed to get image bits, rc=%d (%s) (c5)", rc, kErrName(rc)); 189 192 if (TestMemComp(pvBits2, pvBits, cbImage)) 190 193 return Failure("relocation test failed, mismatching bits (c5)"); … … 217 220 &uValue2, &fKind2); 218 221 if (rc) 219 return Failure("Couldn't find symbol %#x (%.*s) by ordinal. rc=%d (%s)", iSymbol, cchSymbol, pchSymbol, rc, k LdrErrStr(rc));222 return Failure("Couldn't find symbol %#x (%.*s) by ordinal. rc=%d (%s)", iSymbol, cchSymbol, pchSymbol, rc, kErrName(rc)); 220 223 if (uValue != uValue2) 221 224 return Failure("Symbol %#x (%.*s): Value mismatch %016" PRI_KLDRADDR " != %016" PRI_KLDRADDR " (enum!=query/ord) pvBits=%p", … … 233 236 NULL, NULL, &uValue2, &fKind2); 234 237 if (rc) 235 return Failure("Couldn't find symbol %#x (%.*s) by name. rc=%d (%s)", iSymbol, cchSymbol, pchSymbol, rc, k LdrErrStr(rc));238 return Failure("Couldn't find symbol %#x (%.*s) by name. rc=%d (%s)", iSymbol, cchSymbol, pchSymbol, rc, kErrName(rc)); 236 239 if (uValue != uValue2) 237 240 return Failure("Symbol %#x (%.*s): Value mismatch %016" PRI_KLDRADDR " != %016" PRI_KLDRADDR " (enum!=query/name) pvBits=%p", … … 294 297 rc = kLdrModGetImport(pMod, pvBits, i, szImportModule, sizeof(szImportModule)); 295 298 if (rc) 296 return Failure("failed to get import module name, rc=%d (%s). (%.260s)", rc, k LdrErrStr(rc), szImportModule);299 return Failure("failed to get import module name, rc=%d (%s). (%.260s)", rc, kErrName(rc), szImportModule); 297 300 printf("import #%d: '%s'\n", i, szImportModule); 298 301 } … … 307 310 rc = kLdrModGetStackInfo(pMod, pvBits, MY_BASEADDRESS, &StackInfo); 308 311 if (rc) 309 return Failure("kLdrModGetStackInfo failed with rc=%d (%s)", rc, k LdrErrStr(rc));312 return Failure("kLdrModGetStackInfo failed with rc=%d (%s)", rc, kErrName(rc)); 310 313 printf("Stack: Address=%016" PRI_KLDRADDR " LinkAddress=%016" PRI_KLDRADDR "\n" 311 314 " cbStack=%016" PRI_KLDRSIZE " cbStackThread=%016" PRI_KLDRSIZE "\n", … … 326 329 rc = kLdrModQueryMainEntrypoint(pMod, pvBits, MY_BASEADDRESS, &MainEPAddress); 327 330 if (rc) 328 return Failure("kLdrModQueryMainEntrypoint failed with rc=%d (%s)", rc, k LdrErrStr(rc));331 return Failure("kLdrModQueryMainEntrypoint failed with rc=%d (%s)", rc, kErrName(rc)); 329 332 printf("Entrypoint: %016" PRI_KLDRADDR "\n", MainEPAddress); 330 333 if (MainEPAddress == ~(KLDRADDR)42) … … 344 347 printf("NO Debugger Information\n"); 345 348 else 346 return Failure("kLdrModHasDbgInfo failed with rc=%d (%s)", rc, k LdrErrStr(rc));349 return Failure("kLdrModHasDbgInfo failed with rc=%d (%s)", rc, kErrName(rc)); 347 350 rc = kLdrModEnumDbgInfo(pMod, pvBits, BasicTestEnumDbgInfoCallback, NULL); 348 351 if (rc) 349 return Failure("kLdrModEnumDbgInfo failed with rc=%d (%s)", rc, k LdrErrStr(rc));352 return Failure("kLdrModEnumDbgInfo failed with rc=%d (%s)", rc, kErrName(rc)); 350 353 351 354 … … 379 382 rc = kLdrModEnumSymbols(pMod, pvBits, MY_BASEADDRESS, 0, BasicTestsEnumSymCallback, pvBits); 380 383 if (rc) 381 return Failure("kLdrModEnumSymbols failed with rc=%d (%s)", rc, k LdrErrStr(rc));384 return Failure("kLdrModEnumSymbols failed with rc=%d (%s)", rc, kErrName(rc)); 382 385 383 386 … … 488 491 rc = kLdrModGetBits(pMod, pvBits, (KUPTR)pvBits, BasicTestsGetImport, NULL); 489 492 if (rc) 490 return Failure("failed to get image bits, rc=%d (%s)", rc, k LdrErrStr(rc));493 return Failure("failed to get image bits, rc=%d (%s)", rc, kErrName(rc)); 491 494 492 495 /* … … 523 526 rc = kLdrModFixupMapping(pMod, BasicTestsGetImport, NULL); 524 527 if (rc) 525 return Failure("kLdrModFixupMapping (a) failed, rc=%d (%s)", rc, k LdrErrStr(rc));528 return Failure("kLdrModFixupMapping (a) failed, rc=%d (%s)", rc, kErrName(rc)); 526 529 527 530 rc = kLdrModReload(pMod); 528 531 if (rc) 529 return Failure("kLdrModReload (a) failed, rc=%d (%s)", rc, k LdrErrStr(rc));532 return Failure("kLdrModReload (a) failed, rc=%d (%s)", rc, kErrName(rc)); 530 533 531 534 rc = kLdrModReload(pMod); 532 535 if (rc) 533 return Failure("kLdrModReload (b) failed, rc=%d (%s)", rc, k LdrErrStr(rc));536 return Failure("kLdrModReload (b) failed, rc=%d (%s)", rc, kErrName(rc)); 534 537 535 538 rc = kLdrModFixupMapping(pMod, BasicTestsGetImport, NULL); 536 539 if (rc) 537 return Failure("kLdrModFixupMapping (b) failed, rc=%d (%s)", rc, k LdrErrStr(rc));540 return Failure("kLdrModFixupMapping (b) failed, rc=%d (%s)", rc, kErrName(rc)); 538 541 539 542 rc = kLdrModAllocTLS(pMod); 540 543 if (rc) 541 return Failure("kLdrModAllocTLS (a) failed, rc=%d (%s)", rc, k LdrErrStr(rc));544 return Failure("kLdrModAllocTLS (a) failed, rc=%d (%s)", rc, kErrName(rc)); 542 545 kLdrModFreeTLS(pMod); 543 546 544 547 rc = kLdrModAllocTLS(pMod); 545 548 if (rc) 546 return Failure("kLdrModAllocTLS (b) failed, rc=%d (%s)", rc, k LdrErrStr(rc));549 return Failure("kLdrModAllocTLS (b) failed, rc=%d (%s)", rc, kErrName(rc)); 547 550 kLdrModFreeTLS(pMod); 548 551 … … 553 556 rc = BasicTestsSub2(pMod, NULL); 554 557 if (rc) 555 return Failure("BasicTestsSub2 in Map2 failed, rc=%d (%s)", rc, k LdrErrStr(rc));558 return Failure("BasicTestsSub2 in Map2 failed, rc=%d (%s)", rc, kErrName(rc)); 556 559 return 0; 557 560 } … … 568 571 rc = kLdrModMap(pMod); 569 572 if (rc) 570 return Failure("kLdrModMap failed, rc=%d (%s)", rc, k LdrErrStr(rc));573 return Failure("kLdrModMap failed, rc=%d (%s)", rc, kErrName(rc)); 571 574 rc = BasicTestsSubMap2(pMod); 572 575 rc2 = kLdrModUnmap(pMod); 573 576 if (rc2) 574 577 { 575 Failure("kLdrModUnmap failed, rc=%d (%s)", rc2, k LdrErrStr(rc2));578 Failure("kLdrModUnmap failed, rc=%d (%s)", rc2, kErrName(rc2)); 576 579 rc = rc ? rc : rc2; 577 580 } … … 601 604 rc2 = kLdrModClose(pMod); 602 605 if (rc2) 603 Failure("failed to close '%s', rc=%d (%s)", pszFilename, rc, k LdrErrStr(rc));606 Failure("failed to close '%s', rc=%d (%s)", pszFilename, rc, kErrName(rc)); 604 607 if (rc2 && !rc) 605 608 rc = rc2; 606 609 } 607 610 else 608 Failure("Failed to open '%s', rc=%d (%s)", pszFilename, rc, k LdrErrStr(rc));611 Failure("Failed to open '%s', rc=%d (%s)", pszFilename, rc, kErrName(rc)); 609 612 return rc ? 1 : 0; 610 613 }
Note:
See TracChangeset
for help on using the changeset viewer.