[Webkit-unassigned] [Bug 252308] REGRESSION(256816 at main): [CMake] Build not reproducible due to __TIMESTAMP__ macro in generated file

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 15 16:25:21 PST 2023


https://bugs.webkit.org/show_bug.cgi?id=252308

Elliott Williams <emw at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |emw at apple.com

--- Comment #2 from Elliott Williams <emw at apple.com> ---
(In reply to Michael Catanzaro from comment #1)
> Indeed, __TIMESTAMP__ is only deterministic when the source file is not
> generated, because it's based on last modification of the source file. The
> new comment in JSCBytecodeCacheVersion.h is also wrong except on Apple ports.
> 
> The solution here should be to do the same thing Apple does: cat
> JSCBuiltins.o with CachedTypes.o and then hash that.

> They also use build version, but I'm not sure why and that can probably be ignored. 

We did this for extra safety, in case our production build environment was using a cached JSCBuiltins.o and CachedTypes.o *and* there was some binary incompatibility elsewhere in JSC.

> This would
> likely be a good newcomers bug as it can be done entirely from CMake with no
> need to touch the source code files.

FWIW, I tried to do the same change in CMake, and got stuck because the generated ninja build doesn't support inter-dependencies between object files in the same target. But I think we could make CMake hash the modification time relatively easy and restore the old semantics.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230216/caa73251/attachment.htm>


More information about the webkit-unassigned mailing list