RFR: 8284661: Reproducible assembly builds without relative linking

Andrew Leonard aleonard at openjdk.java.net
Mon Apr 11 14:53:40 UTC 2022


On Mon, 11 Apr 2022 14:05:54 GMT, Andrew Leonard <aleonard at openjdk.org> wrote:

>> This PR removes the need for relative object file linking introduced by JDK-8284437 for linux libraries, by specifying
>> .file <relative source path> directives in the linux .S source files. The source files specify a .file ASSEMBLY_SRC_FILE
>> where ASSEMBLY_SRC_FILE is defined by the NativeCompliation.gmk.
>> 
>> Signed-off-by: Andrew Leonard <anleonar at redhat.com>
>
> Non-determinism in .debuginfo straight away makes .so libraries non-deterministic due to the embedded debuginfo CRC value.
> @erikj79 i'll try removing .debuginfo from the exceptions and try it...

> @andrew-m-leonard This change leaves the pathmap options intact, right? Because `clang` leaves absolute path names in the debug info regardless of what's in `.file`.

@mkartashev yes, that was in the already merged PR : https://github.com/openjdk/jdk/commit/4451257b1432e4180a16757aafca6141b8063772

So clang / MacOS needs deeper investigation, the AbsPathInImage test currently also excludes .dSYM folder.

-------------

PR: https://git.openjdk.java.net/jdk/pull/8177



More information about the build-dev mailing list