RFR: 8284661: Reproducible assembly builds without relative linking [v3]

Magnus Ihse Bursie ihse at openjdk.java.net
Mon Apr 11 21:07:53 UTC 2022


On Mon, 11 Apr 2022 15:41:20 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>
>
> Andrew Leonard has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8284661: Reproducible assembly builds without relative linking
>   
>   Signed-off-by: Andrew Leonard <anleonar at redhat.com>

Looks like there is way too few .S files in this patch.


$ find . -name "*.S"
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_atan2_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_atan_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_tanh_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_tan_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_pow_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_cbrt_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_log_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_log10_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_cosh_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_log1p_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_exp_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_hypot_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_expm1_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_sinh_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_cos_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_acos_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_asin_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_sin_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_exp_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_expm1_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_cos_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_asin_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_hypot_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_sinh_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_sin_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_acos_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_log1p_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_log10_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_tanh_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_atan_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_tan_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_log_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_s_pow_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_cosh_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_cbrt_linux_x86.S
./jdk.incubator.vector/linux/native/libjsvml/jsvml_d_atan2_linux_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_tanh_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_tanh_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log10_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_exp_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log10_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cos_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_log1p_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_sin_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_tan_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_pow_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cosh_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cosh_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log1p_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_atan_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_atan_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_tan_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_pow_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_hypot_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_sin_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_hypot_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_asin_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_asin_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_expm1_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cos_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_sinh_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_sinh_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_cbrt_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_acos_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_log_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_acos_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_cbrt_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_atan2_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_exp_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_d_atan2_windows_x86.S
./jdk.incubator.vector/windows/native/libjsvml/jsvml_s_expm1_windows_x86.S
./hotspot/os_cpu/linux_arm/linux_arm_32.S
./hotspot/os_cpu/linux_x86/linux_x86_32.S
./hotspot/os_cpu/linux_x86/linux_x86_64.S
./hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.S
./hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.S
./hotspot/os_cpu/linux_aarch64/threadLS_linux_aarch64.S
./hotspot/os_cpu/bsd_x86/bsd_x86_32.S
./hotspot/os_cpu/bsd_x86/bsd_x86_64.S
./hotspot/os_cpu/bsd_aarch64/copy_bsd_aarch64.S


(You can leave out the windows files)

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

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



More information about the build-dev mailing list