Re: [PATCH] efi/libstub: arm: support building with clang

From: Stefan Agner
Date: Sat Aug 11 2018 - 04:59:33 EST


On 09.08.2018 18:40, Alistair Strachan wrote:
> When building with CONFIG_EFI and CONFIG_EFI_STUB on ARM, the libstub
> Makefile would use -mno-single-pic-base without checking it was
> supported by the compiler. As the ARM (32-bit) clang backend does not
> support this flag, the build would fail.
>
> This changes the Makefile to check the compiler's support for
> -mno-single-pic-base before using it, similar to c1c386681bd7 ("ARM:
> 8767/1: add support for building ARM kernel with clang").

Looks good to me:

Reviewed-by: Stefan Agner <stefan@xxxxxxxx>

>
> Cc: Stefan Agner <stefan@xxxxxxxx>
> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> Cc: Will Deacon <will.deacon@xxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Russell King <linux@xxxxxxxxxxxxxxx>
> Cc: linux-efi@xxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Signed-off-by: Alistair Strachan <astrachan@xxxxxxxxxx>
> ---
> drivers/firmware/efi/libstub/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/libstub/Makefile
> b/drivers/firmware/efi/libstub/Makefile
> index a34e9290a699..91339d13f2a1 100644
> --- a/drivers/firmware/efi/libstub/Makefile
> +++ b/drivers/firmware/efi/libstub/Makefile
> @@ -13,7 +13,8 @@ cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -O2 \
>
> cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) -fpie
> cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \
> - -fno-builtin -fpic -mno-single-pic-base
> + -fno-builtin -fpic \
> + $(call cc-option,-mno-single-pic-base)
>
> cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt