[PATCH v2] Makefile: Pass relative paths to the compiler.

Anup Patel anup at brainfault.org
Wed Dec 1 19:46:58 PST 2021


On Mon, Nov 29, 2021 at 7:25 AM Vagrant Cascadian
<vagrant at reproducible-builds.org> wrote:
>
> Upstream commit 12753d22563f7d2d01f2c6644c7b66b06eb5c90f introduced
> uses of __FILE__ which may result in the build path getting embedded
> into the resulting binary.
>
> https://reproducible-builds.org/docs/build-path/
>
> Signed-off-by: Vagrant Cascadian <vagrant at reproducible-builds.org>
> Cc: Xiang W <wxjstz at 126.com>
> Cc: Anup Patel <anup at brainfault.org>

Now that we have sbi_panic() and SBI_ASSERT() in-place (Jessica's patch), we
don't need to change the top-level Makefile because __FILE__ is not
used anywhere
in sources.

Going forward, we should avoid taking patches that use __FILE__ so that we don't
break reproducible builds.

Regards,
Anup

> ---
> Changes since v1:
>
> * Pass relative paths to the compiler instead of using
>   -ffile-prefix-map to strip out the full paths, as suggested by Xiang
>   W.
>
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 8623c1c..d017534 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -361,7 +361,7 @@ compile_cc_dep = $(CMD_PREFIX)mkdir -p `dirname $(1)`; \
>                -MM $(2) >> $(1) || rm -f $(1)
>  compile_cc = $(CMD_PREFIX)mkdir -p `dirname $(1)`; \
>              echo " CC        $(subst $(build_dir)/,,$(1))"; \
> -            $(CC) $(CFLAGS) $(call dynamic_flags,$(1),$(2)) -c $(2) -o $(1)
> +            $(CC) $(CFLAGS) $(call dynamic_flags,$(1),$(2)) -c $(subst $(src_dir)/,,$(2)) -o $(1)
>  compile_as_dep = $(CMD_PREFIX)mkdir -p `dirname $(1)`; \
>              echo " AS-DEP    $(subst $(build_dir)/,,$(1))"; \
>              printf %s `dirname $(1)`/ > $(1) && \
> --
> 2.30.2
>



More information about the opensbi mailing list