Changeset 47685 in vbox for trunk/src/bldprogs/VBoxDef2LazyLoad.cpp
- Timestamp:
- Aug 13, 2013 10:19:25 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 87893
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bldprogs/VBoxDef2LazyLoad.cpp
r46559 r47685 374 374 " lea rsi, [g_hMod wrt rip] ; phLdrMod\n" 375 375 " lea rdi, [.szLib wrt rip] ; pszFilename\n" 376 " sub rsp, 08h\n" 376 377 " call IMP2(SUPR3HardenedLdrLoadAppPriv)\n" 378 " add rsp, 08h\n" 377 379 "\n" 378 380 "%%elifdef ASM_CALL64_MSC\n" … … 381 383 " lea rdx, [g_hMod wrt rip] ; phLdrMod\n" 382 384 " lea rcx, [.szLib wrt rip] ; pszFilename\n" 383 " sub rsp, 2 0h\n"385 " sub rsp, 28h\n" 384 386 " call IMP2(SUPR3HardenedLdrLoadAppPriv)\n" 385 " add rsp, 2 0h\n"387 " add rsp, 28h\n" 386 388 "\n" 387 389 "%%elifdef RT_ARCH_X86\n" 390 " sub rsp, 0ch\n" 388 391 " push 0 ; pErrInfo\n" 389 392 " push 0 ; fFlags (local load)\n" … … 391 394 " push .szLib ; pszFilename\n" 392 395 " call IMP2(SUPR3HardenedLdrLoadAppPriv)\n" 393 " add esp, 1 0h\n"396 " add esp, 1ch\n" 394 397 "%%else\n" 395 398 " %%error \"Unsupported architecture\"\n" … … 427 430 " push rcx\n" 428 431 " push rdx\n" 432 " push r12\n" 429 433 " %%ifdef ASM_CALL64_GCC\n" 430 434 " push rsi\n" 431 435 " push rdi\n" 436 " mov r12, rsp\n" 432 437 " %%else\n" 438 " mov r12, rsp\n" 433 439 " sub rsp, 20h\n" 434 440 " %%endif\n" 441 " and rsp, 0fffffff0h ; Try make sure the stack is aligned\n" 435 442 "\n" 436 443 " call NAME(LazyLoading) ; returns handle in rcx\n" … … 451 458 ".symok:\n" 452 459 "\n" 460 " mov rsp, r12\n" 453 461 " %%ifdef ASM_CALL64_GCC\n" 454 462 " pop rdi\n" 455 463 " pop rsi\n" 456 " %%else\n"457 " add rsp, 20h\n"458 464 " %%endif\n" 465 " pop r12\n" 459 466 " pop rdx\n" 460 467 " pop rcx\n" … … 471 478 " push ecx\n" 472 479 " push edx\n" 480 " and esp, 0fffffff0h\n" 473 481 "\n" 474 482 ".loaded:\n" … … 480 488 " mov ecx, [g_hMod]\n" 481 489 " call IMP2(RTLdrGetSymbol)\n" 482 " add esp, 12\n"483 490 " or eax, eax\n" 484 491 ".badsym:\n" … … 487 494 " jmp .badsym\n" 488 495 ".symok:\n" 496 " lea esp, [ebp - 0ch]\n" 489 497 " pop edx\n" 490 498 " pop ecx\n"
Note:
See TracChangeset
for help on using the changeset viewer.