Bug 225581

Summary: [WinCairo][Clang] lld-link: error: undefined symbol: public: static class GenericTypedArrayView<>::tryCreate() in CryptoKeyRSAOpenSSL.cpp
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: WebCore Misc.Assignee: Fujii Hironori <Hironori.Fujii>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, jiewen_tan, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Fujii Hironori 2021-05-09 13:22:14 PDT
[WinCairo][Clang] lld-link: error: undefined symbol: public: static class GenericTypedArrayView<> in CryptoKeyRSAOpenSSL.cpp

Since r277142 (Bug 225294)

FAILED: bin64/WebKit.dll lib64/WebKit.lib 
cmd.exe /C "cd . && "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_dll --intdir=Source\WebKitLegacy\CMakeFiles\WebKitLegacy.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100177~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100177~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo @CMakeFiles\WebKitLegacy.rsp  /out:bin64\WebKit.dll /implib:lib64\WebKit.lib /pdb:bin64\WebKit.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /FORCE:MULTIPLE  /INCREMENTAL:NO  /DELAYLOAD:d3d9.dll /DELAYLOAD:dxva2.dll /DELAYLOAD:evr.dll /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll  && cmd.exe /C "cd /D C:\jenkins_slave\wincairo-master\WebKitBuild\Release\Source\WebKitLegacy && C:\Perl64\bin\perl.exe C:/jenkins_slave/WinCairo-master/WebKitLibraries/win/tools/scripts/version-stamp.pl C:/jenkins_slave/wincairo-master/WebKitBuild/Release/WebKitLegacy/DerivedSources C:/jenkins_slave/wincairo-master/WebKitBuild/Release/bin64/WebKit.dll""
LINK: command "C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo @CMakeFiles\WebKitLegacy.rsp /out:bin64\WebKit.dll /implib:lib64\WebKit.lib /pdb:bin64\WebKit.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /FORCE:MULTIPLE /INCREMENTAL:NO /DELAYLOAD:d3d9.dll /DELAYLOAD:dxva2.dll /DELAYLOAD:evr.dll /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll /MANIFEST /MANIFESTFILE:bin64\WebKit.dll.manifest" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: public: static class WTF::RefPtr<class JSC::GenericTypedArrayView<struct JSC::Uint8Adaptor>, struct WTF::RawPtrTraits<class JSC::GenericTypedArrayView<struct JSC::Uint8Adaptor>>, struct WTF::DefaultRefDerefTraits<class JSC::GenericTypedArrayView<struct JSC::Uint8Adaptor>>> __cdecl JSC::GenericTypedArrayView<struct JSC::Uint8Adaptor>::tryCreate(unsigned char const *, unsigned int)
>>> referenced by C:\jenkins_slave\WinCairo-master\Source\WebCore\crypto\openssl\CryptoKeyRSAOpenSSL.cpp:298
>>>               Source\WebCore\CMakeFiles\WebCore.dir\.\crypto\openssl\CryptoKeyRSAOpenSSL.cpp.obj:(private: virtual class WTF::Variant<struct WebCore::CryptoKeyAlgorithm, struct WebCore::CryptoAesKeyAlgorithm, struct WebCore::CryptoEcKeyAlgorithm, struct WebCore::CryptoHmacKeyAlgorithm, struct WebCore::CryptoRsaHashedKeyAlgorithm, struct WebCore::CryptoRsaKeyAlgorithm> __cdecl WebCore::CryptoKeyRSA::algorithm(void) const)
>>> referenced by C:\jenkins_slave\WinCairo-master\Source\WebCore\crypto\openssl\CryptoKeyRSAOpenSSL.cpp:290
>>>               Source\WebCore\CMakeFiles\WebCore.dir\.\crypto\openssl\CryptoKeyRSAOpenSSL.cpp.obj:(private: virtual class WTF::Variant<struct WebCore::CryptoKeyAlgorithm, struct WebCore::CryptoAesKeyAlgorithm, struct WebCore::CryptoEcKeyAlgorithm, struct WebCore::CryptoHmacKeyAlgorithm, struct WebCore::CryptoRsaHashedKeyAlgorithm, struct WebCore::CryptoRsaKeyAlgorithm> __cdecl WebCore::CryptoKeyRSA::algorithm(void) const)
[5136/5722] Building CXX object Source\WebKit\CMakeFiles\WebKit.dir\Platform\IPC\win\AttachmentWin.cpp.obj
[5137/5722] Building CXX object Source\WebKit\CMakeFiles\WebKit.dir\NetworkProcess\curl\NetworkProcessMainCurl.cpp.obj
ninja: build stopped: subcommand failed.
Comment 1 Fujii Hironori 2021-05-09 14:08:16 PDT
This issue happens only in WinCairo Release clang-cl builds.
MSVC and Debug builds don't seem to have this issue.
Comment 2 Fujii Hironori 2021-05-09 14:20:11 PDT
Created attachment 428135 [details]
Patch
Comment 3 Fujii Hironori 2021-05-09 14:21:44 PDT
Committed r277253 (237522@main): <https://commits.webkit.org/237522@main>
Comment 4 Radar WebKit Bug Importer 2021-05-09 14:22:17 PDT
<rdar://problem/77719634>