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

Subsystems: extensible firmware interface (efi), the rest

STALE2951d

3 messages, 3 authors, 2018-08-21 · open the first message on its own page

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

From: Alistair Strachan <hidden>
Date: 2018-08-09 16:40:54

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").

Cc: Stefan Agner <stefan@agner.ch>
Cc: Ard Biesheuvel <redacted>
Cc: Will Deacon <redacted>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: linux-efi at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Alistair Strachan <redacted>
---
 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
 
-- 
2.18.0.597.ga71716f1ad-goog

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

From: Stefan Agner <stefan@agner.ch>
Date: 2018-08-11 08:49:31

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@agner.ch>
quoted hunk
Cc: Stefan Agner <stefan@agner.ch>
Cc: Ard Biesheuvel <redacted>
Cc: Will Deacon <redacted>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: linux-efi at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Alistair Strachan <redacted>
---
 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

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

From: Ard Biesheuvel <hidden>
Date: 2018-08-21 13:34:58

On 11 August 2018 at 10:49, Stefan Agner [off-list ref] wrote:
On 09.08.2018 18:40, Alistair Strachan wrote:
quoted
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@agner.ch>

Thanks. I will queue this after the merge window closes
quoted
Cc: Stefan Agner <stefan@agner.ch>
Cc: Ard Biesheuvel <redacted>
Cc: Will Deacon <redacted>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: linux-efi at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Alistair Strachan <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help