Changeset 57865 in vbox for trunk/src/VBox/Runtime
- Timestamp:
- Sep 23, 2015 1:42:40 AM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 102828
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/Makefile.kmk
r57813 r57865 1336 1336 VBoxRT_SDKS += VBOX_OPENSSL 1337 1337 VBoxRT_SDKS.win = $(VBOX_WINPSDK) $(VBOX_WINDDK) VBOX_NTDLL 1338 if1of ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING), darwin win$(VBOX_WITH_HARDENING)) 1338 if1of ($(KBUILD_TARGET), win) 1339 VBoxRT_INST = $(INST_DLL) $(INST_TESTCASE) $(VBOX_INST_TOOLS) 1340 else if1of ($(KBUILD_TARGET)$(VBOX_WITH_HARDENING), darwin win$(VBOX_WITH_HARDENING)) 1339 1341 VBoxRT_INST = $(INST_DLL) $(INST_TESTCASE) 1340 1342 endif … … 1452 1454 $$(VBoxRT_0_OUTDIR)/VBoxRT.def: \ 1453 1455 $(PATH_SUB_CURRENT)/r3/win/VBoxRT-$$(if-expr $$(KBUILD_TARGET_ARCH) == amd64,win64,win32).def \ 1454 $(PATH_SUB_CURRENT)/r3/win/$(if $(VBOX_OSE),VBoxRT-openssl-ose.def,VBoxRT-openssl.def) 1456 $(PATH_SUB_CURRENT)/r3/win/$(if $(VBOX_OSE),VBoxRT-openssl-ose.def,VBoxRT-openssl.def) \ 1457 $(if-expr "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" && defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES)\ 1458 ,$(PATH_SUB_CURRENT)/r3/win/VBoxRT-msvcr100-win32.def ,) #$(PATH_SUB_CURRENT)/r3/win/VBoxRT-msvcp100-win32.def 1455 1459 $(RM) -f -- $@ 1456 1460 $(REDIRECT) -wto $@ -- $(CAT_EXT) $^ … … 1459 1463 if1of (VBoxRT,$(DLLS)) 1460 1464 $(call VBOX_SET_VER_INFO_DLL,VBoxRT,VirtualBox Runtime) 1465 endif 1466 1467 1468 if defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES) && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" 1469 # 1470 # Hacks for running tests on NT 4. Really ugly! 1471 # 1472 # We put most of the CRT in VBoxRT because we cannot even load msvcr100.dll 1473 # or msvcp100.dll on NT4 because of kernel32.dll dependencies. More hacks 1474 # in RuntimeR3VccTricks. 1475 # 1476 TEMPLATE_VBoxR3RuntimeDllItself = xx 1477 TEMPLATE_VBoxR3RuntimeDllItself_EXTENDS = VBoxR3RuntimeDll 1478 TEMPLATE_VBoxR3RuntimeDllItself_LIBS.win.x86 = \ 1479 $(filter-out $(PATH_STAGE_LIB)/RuntimeR3VccTricks%, $(TEMPLATE_VBoxR3RuntimeDll_LIBS.win.x86)) 1480 TEMPLATE_VBoxR3RuntimeDllItself_SOURCES = \ 1481 r3/win/vcc100-kernel32-fakes.cpp \ 1482 r3/win/vcc100-kernel32-fakesA.asm \ 1483 r3/win/vcc100-msvcrt-fakes.cpp 1484 VBoxRT_TEMPLATE = VBoxR3RuntimeDllItself 1485 VBoxRT_TEMPLATE.win.x86 = VBoxR3RuntimeDllItself 1486 VBoxRT_DEFS.win.x86 = $(TEMPLATE_VBoxR3RuntimeDll_DEFS.win.x86) _CRTIMP_PURE="__declspec(dllexport)" 1487 VBoxRT_LDFLAGS.win.x86 = /IGNORE:4049 /IGNORE:4217 1488 VBoxRT_LIBS.win.x86 = \ 1489 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/oldnames.lib \ 1490 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/libcmt.lib \ 1491 $(PATH_TOOL_$(VBOX_VCC_TOOL_STEM)X86_LIB)/libcpmt.lib 1461 1492 endif 1462 1493 … … 2493 2524 r3/win/vcc100-kernel32-fakesA.asm 2494 2525 2526 if defined(VBOX_WITH_MORE_NT4_COMPAT_BINARIES) && "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "win.x86" # Ugly hacks... :-) 2527 RuntimeR3VccTricks_SOURCES += $(RuntimeR3VccTricks_0_OUTDIR)/dynobjs.lib 2528 RuntimeR3VccTricks_CLEAN = $(RuntimeR3VccTricks_0_OUTDIR)/dynobjs.lib 2529 RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED = \ 2530 2531 $$(RuntimeR3VccTricks_0_OUTDIR)/dynobjs.lib: \ 2532 $$(PATH_TOOL_$$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/msvcrt$(VBOX_VCC_CRT_TYPE).lib \ 2533 $$(PATH_TOOL_$$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \ 2534 $$(LIB_RUNTIME) \ 2535 $(MAKEFILE) | $$(dir $$@) 2536 $(RM) -f -- "$@" 2537 # $(REDIRECT) -C $(dir $@) -- $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib \ 2538 # $(PATH_TOOL_$(TEMPLATE_VBoxR3Dll_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \ 2539 # $(foreach file, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED), *$(file)) 2540 $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib [email protected] $< \ 2541 -MSVCR100.dll \ 2542 $(addprefix $(RuntimeR3VccTricks_0_OUTDIR)/, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED)) \ 2543 -chandler4gs.obj 2544 $(KBUILD_DEVTOOLS)/common/openwatcom/v1.9-r2/binnt/wlib -o=$@ \ 2545 $(LIB_RUNTIME) \ 2546 [email protected] 2547 $(RM) -f -- [email protected] $(addprefix $(RuntimeR3VccTricks_0_OUTDIR)/, $(RuntimeR3VccTricks_VBOX_LIBCMT_NEEDED)) 2548 endif 2549 2495 2550 2496 2551 # -
trunk/src/VBox/Runtime/common/path/RTPathGlob.cpp
r57696 r57865 45 45 #if defined(RT_OS_WINDOWS) 46 46 # include <Windows.h> 47 # include "../../r3/win/internal-r3-win.h" 47 48 48 49 #elif defined(RT_OS_OS2) … … 500 501 /* Since this is used at the start of a pattern, we assume 501 502 we've got more than enough buffer space. */ 503 AssertReturn(g_pfnGetSystemWindowsDirectoryW, VERR_SYMBOL_NOT_FOUND); 502 504 PRTUTF16 pwszTmp = (PRTUTF16)pszBuf; 503 UINT cch = GetSystemWindowsDirectoryW(pwszTmp, (UINT)(cbBuf / sizeof(WCHAR)));505 UINT cch = g_pfnGetSystemWindowsDirectoryW(pwszTmp, (UINT)(cbBuf / sizeof(WCHAR))); 504 506 if (cch >= 2) 505 507 { … … 547 549 { 548 550 Assert(pszBuf); Assert(cbBuf); 551 AssertReturn(g_pfnGetSystemWindowsDirectoryW, VERR_SYMBOL_NOT_FOUND); 549 552 RTUTF16 wszSystemRoot[MAX_PATH]; 550 UINT cchSystemRoot = GetSystemWindowsDirectoryW(wszSystemRoot, MAX_PATH);553 UINT cchSystemRoot = g_pfnGetSystemWindowsDirectoryW(wszSystemRoot, MAX_PATH); 551 554 if (cchSystemRoot > 0) 552 555 return RTUtf16ToUtf8Ex(wszSystemRoot, cchSystemRoot, &pszBuf, cbBuf, pcchValue); -
trunk/src/VBox/Runtime/r3/win/init-win.cpp
r57358 r57865 57 57 /** The native ntdll.dll handle. */ 58 58 DECLHIDDEN(HMODULE) g_hModNtDll = NULL; 59 /** GetSystemWindowsDirectoryW or GetWindowsDirectoryW (NT4). */ 60 DECLHIDDEN(PFNGETWINSYSDIR) g_pfnGetSystemWindowsDirectoryW = NULL; 59 61 60 62 … … 293 295 rc = rtR3InitNativeObtrusiveWorker(); 294 296 297 /* 298 * Resolve some kernel32.dll APIs we may need but aren't necessarily 299 * present in older windows versions. 300 */ 301 g_pfnGetSystemWindowsDirectoryW = (PFNGETWINSYSDIR)GetProcAddress(g_hModKernel32, "GetSystemWindowsDirectoryW"); 302 if (g_pfnGetSystemWindowsDirectoryW) 303 g_pfnGetSystemWindowsDirectoryW = (PFNGETWINSYSDIR)GetProcAddress(g_hModKernel32, "GetWindowsDirectoryW"); 304 295 305 return rc; 296 306 } -
trunk/src/VBox/Runtime/r3/win/internal-r3-win.h
r55401 r57865 93 93 extern DECLHIDDEN(HMODULE) g_hModNtDll; 94 94 extern DECLHIDDEN(OSVERSIONINFOEXW) g_WinOsInfoEx; 95 typedef UINT (WINAPI *PFNGETWINSYSDIR)(LPWSTR,UINT); 96 extern DECLHIDDEN(PFNGETWINSYSDIR) g_pfnGetSystemWindowsDirectoryW; 95 97 #endif 96 98 -
trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakes.cpp
r57358 r57865 30 30 *********************************************************************************************************************************/ 31 31 #include <iprt/cdefs.h> 32 #include <iprt/types.h> 32 33 33 34 #ifndef RT_ARCH_X86 … … 140 141 } 141 142 143 144 extern "C" int vcc100_kernel32_fakes_cpp(void) 145 { 146 return 42; 147 } 148 -
trunk/src/VBox/Runtime/r3/win/vcc100-kernel32-fakesA.asm
r42239 r57865 18 18 19 19 BEGINDATA 20 GLOBALNAME vcc100_kernel32_fakes_asm 20 21 21 22 MAKE_IMPORT_ENTRY DecodePointer, 4
Note:
See TracChangeset
for help on using the changeset viewer.