RFR: 8284437: Building from different users/workspace is not always deterministic [v2]
Andrew Leonard
aleonard at openjdk.java.net
Fri Apr 8 14:47:44 UTC 2022
On Wed, 6 Apr 2022 13:30:28 GMT, Andrew Leonard <aleonard at openjdk.org> wrote:
>> This PR fixes the non-deterministic behavior when building on linux with different userids or within
>> different workspace folders.
>> It fixes the following issues:
>> - MakeZipReproducible.java used to produce reproducible src.zip removes the optional zip "extra" field containing UID/GID.
>> - When absolute output paths are not allowed, enable the use of -fdebug-prefix-map to ensure debug symbol info does not contain the top level workspace folder.
>> - For reproducible builds ensure the gcc random symbol name generator is seeded using -frandom-seed.
>> - For reproducible builds when producing debug symbols use relative object paths for library linking to remove absolute MASM object paths.
>>
>> Signed-off-by: Andrew Leonard <anleonar at redhat.com>
>
> Andrew Leonard has updated the pull request incrementally with one additional commit since the last revision:
>
> Trigger checks
I am not sure why without the explicit .file directive that the FILE symbol in the ELF info contains an entry pointing to the .o object file, here's what it was before:
31712: 0000000000000000 0 FILE LOCAL DEFAULT ABS /home/andrew2/jdk/build/linux-aarch64-server-release/hotspot/variant-server/libjvm/objs/atomic_linux_aarch64.o
It's as if the lack of the .file has caused some tooling (linker?) to create this entry using the .o file path.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8124
More information about the build-dev
mailing list