Bug 259119

Summary: clang-cl can't link WebCore.dll of Windows Release build
Product: WebKit Reporter: Fujii Hironori <Hironori.Fujii>
Component: WebCore Misc.Assignee: Fujii Hironori <Hironori.Fujii>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=191626
Bug Depends on:    
Bug Blocks: 171618    
Attachments:
Description Flags
PerformanceTestsResults.html (localPath needs to adjust)
none
perf test result (--repeat=2)
none
perf results of 4e68a14 (266055@main) and patched
none
perf results of 4e68a14 (266055@main) and patched none

Description Fujii Hironori 2023-07-11 13:43:34 PDT
clang-cl can't link WebCore.dll of Windows Release build.

set CC=clang-cl
set CXX=clang-cl
perl .\Tools\Scripts\build-webkit --release --no-fatal-warnings

FAILED: bin64/WebCore.dll lib64/WebCore.lib 
cmd.exe /C "cd . && "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_dll --intdir=Source\WebCore\CMakeFiles\WebCore.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo @CMakeFiles\WebCore.rsp  /out:bin64\WebCore.dll /implib:lib64\WebCore.lib /pdb:bin64\WebCore.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /INCREMENTAL:NO /INCREMENTAL:NO  /DELAYLOAD:d3d9.dll /DELAYLOAD:dxva2.dll /DELAYLOAD:evr.dll /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll  && cd ."
LINK: command "C:\PROGRA~1\LLVM\bin\lld-link.exe /nologo @CMakeFiles\WebCore.rsp /out:bin64\WebCore.dll /implib:lib64\WebCore.lib /pdb:bin64\WebCore.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /INCREMENTAL:NO /INCREMENTAL:NO /DELAYLOAD:d3d9.dll /DELAYLOAD:dxva2.dll /DELAYLOAD:evr.dll /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll /MANIFEST /MANIFESTFILE:bin64\WebCore.dll.manifest" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &, class JSC::JSGlobalObject *, class JSC::JSValue, class JSC::TypeInfo const &, struct JSC::ClassInfo const *, unsigned char, unsigned int)
>>> referenced by Source\WebCore\CMakeFiles\WebCore.dir\page\UserMessageHandlerDescriptor.cpp.obj
>>> referenced by Source\WebCore\CMakeFiles\WebCore.dir\page\UserMessageHandlersNamespace.cpp.obj
>>> referenced by Source\WebCore\CMakeFiles\WebCore.dir\__\__\WebCore\DerivedSources\unified-sources\UnifiedSource-f8afad56-19.cpp.obj
Comment 1 Fujii Hironori 2023-07-11 18:56:42 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15767
Comment 2 Fujii Hironori 2023-07-12 21:58:36 PDT
I fixed this problem in 206542@main (bug#191626), but it was reverted by 213160@main (bug#196315).
Comment 3 Fujii Hironori 2023-07-13 17:51:57 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15827
Comment 4 Fujii Hironori 2023-07-13 17:54:09 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15828
Comment 5 Fujii Hironori 2023-07-15 00:06:44 PDT
Created attachment 467048 [details]
PerformanceTestsResults.html (localPath needs to adjust)

perf test results of 266055@main and the patched.
https://github.com/WebKit/WebKit/commit/b452a308b06b3789c14e95adbd4045b056700b6a
Comment 6 Fujii Hironori 2023-07-17 00:23:36 PDT
Created attachment 467058 [details]
perf test result (--repeat=2)

The perf test is too flaky to say anything.
Comment 7 Radar WebKit Bug Importer 2023-07-18 13:44:26 PDT
<rdar://problem/112490125>
Comment 8 Fujii Hironori 2023-07-18 23:24:42 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15924
Comment 9 Fujii Hironori 2023-07-24 14:55:32 PDT
Created attachment 467107 [details]
perf results of 4e68a14 (266055@main) and patched

Patch: https://github.com/WebKit/WebKit/commit/a4c9a727e28a869d97086499c25134f295e66178
Comment 10 Fujii Hironori 2023-07-26 18:25:47 PDT
Pull request: https://github.com/WebKit/WebKit/pull/16124
Comment 11 Fujii Hironori 2023-07-27 12:56:25 PDT
Created attachment 467136 [details]
perf results of 4e68a14 (266055@main) and patched

Patch: https://github.com/WebKit/WebKit/commit/2d121324ea753ee0e1b2f30815867ff8270761b8
Comment 12 EWS 2023-08-15 17:36:56 PDT
Committed 266932@main (5bd7a22a5bc3): <https://commits.webkit.org/266932@main>

Reviewed commits have been landed. Closing PR #16124 and removing active labels.