[Buildroot] [PATCH RFC] package/binutils: build deterministic archives by default

Arnout Vandecappelle arnout at mind.be
Sun Oct 3 10:14:28 UTC 2021



On 30/09/2021 00:00, Romain Naour wrote:
> The option --enable-deterministic-archives that build deterministic
> archives is supported by binutils since binutils 2.23 [1][2].

  Should we make this dependent on BR2_REPRODUCIBLE? AFAICS it sets the date 
fields in static libraries to zero.

  Is this going to fix a reproducibility issue detected by the autobuilders?

  Regards,
  Arnout

> 
> See "Static libraries" chapter [3].
> https://reproducible-builds.org/docs/archives/
> 
> Enable this option for target and host variant.
> 
> It was added to Yocto Morty (2.2) in 2016 [4].
> 
> [1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=2e30cb575a1d2b1eb8f776356ed59b0722a943d1
> [2] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=9cb80f72d8b8b2f59562692d9385cd5a533e9b3f
> [3] https://reproducible-builds.org/docs/archives
> [4] https://github.com/openembedded/openembedded-core/commit/df0d525c02780b5a0bd7a177a249c55f41797476
> 
> Signed-off-by: Romain Naour <romain.naour at gmail.com>
> ---
>   package/binutils/binutils.mk | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
> index 8ec76134bc..c5c685ac85 100644
> --- a/package/binutils/binutils.mk
> +++ b/package/binutils/binutils.mk
> @@ -57,6 +57,7 @@ BINUTILS_CONF_OPTS = \
>   	--target=$(GNU_TARGET_NAME) \
>   	--enable-install-libiberty \
>   	--enable-build-warnings=no \
> +	--enable-deterministic-archives \
>   	$(BINUTILS_DISABLE_GDB_CONF_OPTS) \
>   	$(BINUTILS_EXTRA_CONFIG_OPTIONS)
>   
> @@ -93,6 +94,7 @@ HOST_BINUTILS_CONF_OPTS = \
>   	--disable-shared \
>   	--enable-static \
>   	--with-sysroot=$(STAGING_DIR) \
> +	--enable-deterministic-archives \
>   	--enable-poison-system-directories \
>   	--without-debuginfod \
>   	$(BINUTILS_DISABLE_GDB_CONF_OPTS) \
> 


More information about the buildroot mailing list