On Sat, 18 Sep 2021 15:15:10 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
> I did a CI build yesterday and again today on all three platforms and > compared the sdk between the two builds for each platform. On all three > platforms the results are the same: All files were identical except the > native jfxwebkit library. So there is something in the WebKit build that is > affected by an external input (perhaps the system date or similar). I can recreate this difference, but only on macOS. **Lesson learned:** When testing reproducible builds on a permanent system, never use the Gradle Daemon! I always get a different `libjfxwebkit.dylib` file when I run the build with `bash gradlew --no-daemon`. Shown below are the versions of the compilers I'm using: john@linux:~$ gcc --version gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 john@macos:~$ gcc --version Apple clang version 13.0.0 (clang-1300.0.29.3) john@win10:~$ gcc --version gcc (GCC) 11.2.0 When I dump each of the shared libraries with the following script, I get a text file with 10,413,716 lines, yet there are only 108 lines different between the two output files. #!/bin/bash # Dumps macOS shared libraries # Diffoscope fails due to missing '=' after '--arch-name' option: # llvm-objdump: error: unknown argument '--arch-name' llvm-objdump --arch-name=x86_64 --section="__TEXT,__text" --macho \ --demangle --no-leading-addr --no-show-raw-insn "$@" The differences are shown below: diff --git a/libjfxwebkit.5.txt b/libjfxwebkit.6.txt index 9d6932a..63f2b70 100644 --- a/libjfxwebkit.5.txt +++ b/libjfxwebkit.6.txt @@ -1,4 +1,4 @@ -libjfxwebkit.5.dylib: +libjfxwebkit.6.dylib: Contents of (__TEXT,__text) section __ZN6WebKit15StorageAreaImplD2Ev: pushq %rbp @@ -881412,30 +881412,22 @@ __ZN7WebCore30isCSSPropertyEnabledBySettingsENS_13CSSPropertyIDEPKNS_8SettingsE: movq %rsp, %rbp movb $1, %al testq %rsi, %rsi - je 0x319ee0 + je 0x319ee7 leal -258(%rdi), %ecx cmpw $37, %cx - ja 0x319eb7 + ja 0x319eb2 movzwl %cx, %ecx - leaq 79(%rip), %rdx + leaq 75(%rip), %rdx movslq (%rdx,%rcx,4), %rcx addq %rdx, %rcx jmpq *%rcx movb 466(%rsi), %al - andb $4, %al - shrb $2, %al - popq %rbp - retq + jmp 0x319ee2 + cmpw $43, %di + je 0x319edc movzwl %di, %ecx cmpl $366, %ecx - je 0x319ed5 - cmpw $43, %di - jne 0x319ee0 - movb 451(%rsi), %al - andb $4, %al - shrb $2, %al - popq %rbp - retq + jne 0x319ee7 movb 454(%rsi), %al andb $32, %al shrb $5, %al @@ -881446,46 +881438,52 @@ __ZN7WebCore30isCSSPropertyEnabledBySettingsENS_13CSSPropertyIDEPKNS_8SettingsE: shrb %al popq %rbp retq + movb 451(%rsi), %al + andb $4, %al + shrb $2, %al + popq %rbp + retq + nopl (%rax) + .long 4294967230 @ KIND_JUMP_TABLE32 + .long 4294967230 @ KIND_JUMP_TABLE32 + .long 4294967230 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967255 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967291 @ KIND_JUMP_TABLE32 + .long 4294967255 @ KIND_JUMP_TABLE32 + .long 4294967268 @ KIND_JUMP_TABLE32 + nopw %cs:(%rax,%rax) nop - .long 4294967226 @ KIND_JUMP_TABLE32 - .long 4294967226 @ KIND_JUMP_TABLE32 - .long 4294967226 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967269 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967280 @ KIND_JUMP_TABLE32 - .long 4294967269 @ KIND_JUMP_TABLE32 - .long 4294967282 @ KIND_JUMP_TABLE32 - nopl (%rax,%rax) __ZN7WebCore15getPropertyNameENS_13CSSPropertyIDE: leal -2(%rdi), %eax movzwl %ax, %eax @bmwiedemann Bernhard, does this look familiar? It appears to be similar to the [problem you fixed in WebKit][1] (twice). [1]: https://github.com/WebKit/WebKit/commits?author=bmwiedemann ------------- PR: https://git.openjdk.java.net/jfx/pull/446