RFR: 8294310: compare.sh fails on macos after JDK-8293550
Magnus Ihse Bursie
ihse at openjdk.org
Tue Sep 27 11:32:24 UTC 2022
On Mon, 26 Sep 2022 22:51:22 GMT, Erik Joelsson <erikj at openjdk.org> wrote:
> Since [JDK-8293550](https://bugs.openjdk.org/browse/JDK-8293550) we are adding adhoc signatures to all binaries on macos, and the compare script is no longer running cleanly. In order to compare binaries on macos, especially on aarch64, where signatures are mandatory, we will have to remove them first. They will never be exactly the same between two runs.
>
> This patch adds `codesign --remove-signature` to compare.sh before comparing any executables or libraries. Stripping the signature has to happen after running `strip` as strip will fail otherwise. I also had to add a special option to strip to avoid warnings.
>
> While enabling baseline compare runs for macosx-aarch64 in our CI, I discovered that were also not running testmake for aarch64, so I snuck in that change in jib-profiles.js here as well.
I'm a bit sad to see the exact bit-by-bit comparison on macOS go down the drain. :( Do you think we could export `MACOSX_CODESIGN_MODE` to `compare.sh.in`, and if it is `disabled`, then we do the traditional bit-by-bit comparison? That way we at least have some possible way to do this, even if the signing normally in place makes a complete match impossible.
-------------
PR: https://git.openjdk.org/jdk/pull/10435
More information about the build-dev
mailing list