[0.4.12][DLL] Fix 6 MSVC2010SP1 x86 dbg warnings LNK4104 CORE-18104

warnings can be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:

[3138/12848] Linking C shared module base\services\shsvcs\shsvcs.dll
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllInstall' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllRegisterServer' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllUnregisterServer' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllCanUnloadNow' should be PRIVATE
base\services\shsvcs\shsvcs.def : warning LNK4104: export of symbol 'DllGetClassObject' should be PRIVATE

[7287/12848] Linking C shared module drivers\multimedia\bdasup\bdasup.sys
drivers\multimedia\bdasup\bdasup.def : warning LNK4104: export of symbol 'DllInitialize' should be PRIVATE

The fix picks the parts of 0.4.13-dev-721-g b6135732d4 that are relevant for releases/0.4.12
and it intentionally leaves out similar issues in the MSXML3, OLE32 and RSAENH.
Ftr: MSVC2010 warns about those modules as well in similar manner, but whenever we tried to fix those,
we got into trouble with MSVC afterwards, see for example commit bff824b2 from 2015 (which explained the revert)
or the 2nd failed attempt via 0.4.15-dev-185-g cbe8a9f997 + 0.4.15-dev-186-g 38b438b0f6 + 0.4.15-dev-187-g 0ea110cda9 in 2020 (which didn't explain the revert).
Those 3 modules MSXML3, OLE32 and RSAENH won't get fixed (and both: MSVC2010 and GCC4.7.2 will continue to warn about them in master head)
until Hermes will find a way to solve CORE16380.

For the record: These glitches actually do affect also GCC4.7.2 builds, but that compiler does no similar checks/warns
until 0.4.13-dev-720-g 2becb000c8 which I do not intend to port back for now.
-----
And another interesting detail is, that for MSVC2010 the 0.4.11-release-126-g8105439 currently does not complain about
the LNK4104 in any module, but for 0.4.12-release-115-ga01cc94 (== before this commit) it does, although in both
revisions the spec-file of SHSVCS is 100% the same.
(Uneducated guess: Could that mean that 0.4.12-dev-1045-g 23373acbb9 played any role here maybe???)
Or the detection for MSVC2010 got activated by some other commit during 0.4.12-dev'ing.
This commit is contained in:
Hermès Bélusca-Maïto 2019-06-02 00:23:02 +02:00 committed by Joachim Henze
parent a01cc94a13
commit f030821bb6
6 changed files with 31 additions and 31 deletions

View File

@ -1,16 +1,16 @@
1 stdcall ThemeWatchForStart()
2 stdcall ThemeWaitForServiceReady(long)
#3 stub Stub3
#4 stub Stub4
#5 stub Stub5
#6 stub Stub6
#7 stub BadApplicationServiceMain
8 stdcall DllInstall(long wstr)
9 stdcall DllRegisterServer()
10 stdcall DllUnregisterServer()
#11 stub HardwareDetectionServiceMain
12 stdcall ThemeServiceMain(long ptr)
#13 stub CreateHardwareEventMoniker
14 stdcall DllCanUnloadNow()
15 stdcall DllGetClassObject(ptr ptr ptr)
#16 stub FUSCompatibilityEntryW
1 stdcall -noname ThemeWatchForStart()
2 stdcall -noname ThemeWaitForServiceReady(long)
3 stdcall -stub -noname ThemeUserLogoff()
4 stdcall -stub -noname ThemeUserLogon(ptr)
5 stdcall -stub -noname ThemeUserStartShell()
6 stdcall -stub -noname ThemeUserTSReconnect()
@ stdcall -stub BadApplicationServiceMain(long ptr)
@ stdcall -private DllInstall(long wstr)
@ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer()
@ stdcall -stub HardwareDetectionServiceMain(long ptr)
@ stdcall ThemeServiceMain(long ptr)
@ stdcall -stub CreateHardwareEventMoniker(ptr ptr ptr)
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stdcall -stub FUSCompatibilityEntryW(long long wstr long)

View File

@ -1,4 +1,4 @@
@ stdcall DllCanUnloadNow()
@ stdcall DllGetClassObject(ptr ptr ptr)
@ stdcall DllRegisterServer()
@ stdcall DllUnregisterServer()
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer()

View File

@ -13,8 +13,8 @@
@ stdcall DirectDrawEnumerateW(ptr ptr)
@ stdcall DirectDrawEnumerateExA(ptr ptr long)
@ stdcall DirectDrawEnumerateExW(ptr ptr long)
#@ stdcall DllCanUnloadNow()
#@ stdcall DllGetClassObject(ptr ptr ptr)
#@ stdcall -private DllCanUnloadNow()
#@ stdcall -private DllGetClassObject(ptr ptr ptr)
#@ stdcall GetDDSurfaceLocal
#@ stdcall GetOLEThunkData
#@ stdcall GetSurfaceFromDC

View File

@ -1,4 +1,4 @@
@ stdcall DllCanUnloadNow()
@ stdcall DllGetClassObject(ptr ptr ptr)
@ stdcall DllRegisterServer()
@ stdcall DllUnregisterServer()
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer()

View File

@ -1,4 +1,4 @@
@ stdcall DllCanUnloadNow()
@ stdcall DllGetClassObject(ptr ptr ptr)
@ stdcall DllRegisterServer()
@ stdcall DllUnregisterServer()
@ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer()

View File

@ -1,4 +1,4 @@
@ stdcall DllInitialize(ptr)
@ stdcall -private DllInitialize(ptr)
@ stdcall BdaCheckChanges(ptr)
@ stdcall BdaCommitChanges(ptr)
@ stdcall BdaCreateFilterFactory(ptr ptr ptr)