Reproducibility issue due to use of uname

It looks like u-boot 2022.07-rc1 introduced a reproducibility issue that is dependent on the running kernel.
I believe the commit that triggered this issue is:
f7691a6d736bec7915c227ac14076f9993a27367 sandbox: allow cross-compiling sandbox
While the use of uname in the Makefile goes back well before this commit, previously it had no apparent effect on the builds...
When building natively (e.g. CROSS_COMPILE is not set) with a 32-bit userland toolchain, but running a 64-bit kernel, 32-bit arm targets end up with BOOTAA64.EFI embedded in the binaries:
https://tests.reproducible-builds.org/debian/rb-pkg/experimental/armhf/diffo...
/EFI/BOOT/BOOTARM.EFI vs. /EFI/BOOT/BOOTAA64.EFI
live well, vagrant

On 6/9/22 18:06, Vagrant Cascadian wrote:
It looks like u-boot 2022.07-rc1 introduced a reproducibility issue that is dependent on the running kernel.
I believe the commit that triggered this issue is:
f7691a6d736bec7915c227ac14076f9993a27367 sandbox: allow cross-compiling sandbox
Thanks for reporting the issue.
Said patch does not change the value of MK_ARCH for CROSS_COMPILE="". So this is not the relevant patch.
While the use of uname in the Makefile goes back well before this commit, previously it had no apparent effect on the builds...
When building natively (e.g. CROSS_COMPILE is not set) with a 32-bit userland toolchain, but running a 64-bit kernel, 32-bit arm targets end up with BOOTAA64.EFI embedded in the binaries:
https://tests.reproducible-builds.org/debian/rb-pkg/experimental/armhf/diffo...
The EFI boot manager can boot according to boot options define as UEFI variables BOOTxxxx. We recently introduced support for booting via these variables if they only point to a block device without a filename. In this case we need to provide the name of the EFI binary. Only for the sandbox this should depend on host architecture.
I need to correct include/efi_default_filename.h to only use variable HOST_ARCH for the sandbox.
Best regards
Heinrich
/EFI/BOOT/BOOTARM.EFI vs. /EFI/BOOT/BOOTAA64.EFI
live well, vagrant
participants (2)
-
Heinrich Schuchardt
-
Vagrant Cascadian