[PATCH] Makefile: Add flag for reprodubility compiler flags

Anup Patel anup at brainfault.org
Sun Jun 15 06:21:11 PDT 2025


On Thu, May 15, 2025 at 8:29 AM Khem Raj <raj.khem at gmail.com> wrote:
>
> Provides mechanism to remove absolute paths from binaries using
> -ffile-prefix-map
>
> It will help distros (e.g. yocto based ones ) which want to ship
> the .elf files but need to scrub absolute paths in objects
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>

LGTM.

Reviewed-by: Anup Patel <anup at brainfault.org>

Applied this patch to the riscv/opensbi repo.

Thanks,
Anup


> ---
>  Makefile | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index e90836c7..22d4ecff 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -174,6 +174,11 @@ else
>  USE_LD_FLAG    =       -fuse-ld=bfd
>  endif
>
> +REPRODUCIBLE ?= n
> +ifeq ($(REPRODUCIBLE),y)
> +REPRODUCIBLE_FLAGS             +=      -ffile-prefix-map=$(src_dir)=
> +endif
> +
>  # Check whether the linker supports creating PIEs
>  OPENSBI_LD_PIE := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) $(USE_LD_FLAG) -fPIE -nostdlib -Wl,-pie -x c /dev/null -o /dev/null >/dev/null 2>&1 && echo y || echo n)
>
> @@ -362,6 +367,7 @@ GENFLAGS    +=      $(firmware-genflags-y)
>
>  CFLAGS         =       -g -Wall -Werror -ffreestanding -nostdlib -fno-stack-protector -fno-strict-aliasing -ffunction-sections -fdata-sections
>  CFLAGS         +=      -fno-omit-frame-pointer -fno-optimize-sibling-calls
> +CFLAGS         +=      $(REPRODUCIBLE_FLAGS)
>  # Optionally supported flags
>  ifeq ($(CC_SUPPORT_VECTOR),y)
>  CFLAGS         +=      -DOPENSBI_CC_SUPPORT_VECTOR
> @@ -387,6 +393,7 @@ CPPFLAGS    +=      $(firmware-cppflags-y)
>  ASFLAGS                =       -g -Wall -nostdlib
>  ASFLAGS                +=      -fno-omit-frame-pointer -fno-optimize-sibling-calls
>  ASFLAGS                +=      -fPIE
> +ASFLAGS                +=      $(REPRODUCIBLE_FLAGS)
>  # Optionally supported flags
>  ifeq ($(CC_SUPPORT_SAVE_RESTORE),y)
>  ASFLAGS                +=      -mno-save-restore
>
> --
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi



More information about the opensbi mailing list