2022-06-08 10:19:02

by Alexander Sverdlin

[permalink] [raw]
Subject: Re: [PATCH] mips: vdso: Allow passing build path options

Hello Matija, Thomas,

On 04/04/2022 10:36, Matija Glavinic Pecotic wrote:
> vdso image is not reproducible in different build directories as build
> path defines vdso image contents via .notes, build ID. Build ID is
> hashed across all sections (prior stripping), debug sections included.
> With debug sections containing build paths, hash is impacted. Finally
> vmlinux is not reproducible as it will differ in vdso_data.
>
> For users wanting reproducible builds, irrespective of build path, it
> is unwanted behavior. Issue is sorted out by passing related options
> via KAFLAGS, KCFLAGS, however due to mips' picking out specific/subset
> options, these are not getting passed through.
>
> Allow related option to be taken if user specified them.
>
> Signed-off-by: Matija Glavinic Pecotic <[email protected]>

Reviewed-by: Alexander Sverdlin <[email protected]>

> ---
> arch/mips/vdso/Makefile | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
> index f72658b3a53f..b8296ef2bfcf 100644
> --- a/arch/mips/vdso/Makefile
> +++ b/arch/mips/vdso/Makefile
> @@ -35,8 +35,12 @@ cflags-vdso := $(ccflags-vdso) \
> -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
> -mrelax-pic-calls $(call cc-option, -mexplicit-relocs) \
> -fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
> - $(call cc-option, -fno-asynchronous-unwind-tables)
> + $(call cc-option, -fno-asynchronous-unwind-tables) \
> + $(filter -ffile-prefix-map%,$(KBUILD_CFLAGS)) \
> + $(filter -fmacro-prefix-map%,$(KBUILD_CFLAGS)) \
> + $(filter -fdebug-prefix-map%,$(KBUILD_CFLAGS))
> aflags-vdso := $(ccflags-vdso) \
> + $(filter --debug-prefix-map%,$(KBUILD_AFLAGS)) \
> -D__ASSEMBLY__ -Wa,-gdwarf-2
>
> ifneq ($(c-gettimeofday-y),)

--
Best regards,
Alexander Sverdlin.