-
Bug
-
Resolution: Fixed
-
P4
-
21, 22, 23
-
b07
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8325642 | 21.0.3 | Andrew Leonard | P4 | Resolved | Fixed | b03 |
Native library debug files contain the full gcc system include paths, which then results in the native library being non-reproducible (via the CRC bytes), if built with differing gcc include path location.
This is especially noticeable when using a bespoke DevKit, with the intention of reproducible builds by using it, however the non-standard DevKit path to the includes immediately makes it non-reproducible.
eg. strings dump of libnet.debuginfo:
/home/andrew/jdk21u/build/devkit/result/aarch64-linux-gnu-to-aarch64-linux-gnu/aarch64-linux-gnu/sysroot/usr/include/sys
/home/andrew/jdk21u/build/devkit/result/aarch64-linux-gnu-to-aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/11.3.0/include
This is especially noticeable when using a bespoke DevKit, with the intention of reproducible builds by using it, however the non-standard DevKit path to the includes immediately makes it non-reproducible.
eg. strings dump of libnet.debuginfo:
/home/andrew/jdk21u/build/devkit/result/aarch64-linux-gnu-to-aarch64-linux-gnu/aarch64-linux-gnu/sysroot/usr/include/sys
/home/andrew/jdk21u/build/devkit/result/aarch64-linux-gnu-to-aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/11.3.0/include
- backported by
-
JDK-8325642 Library debug files contain non-reproducible full gcc include paths
- Resolved