[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 2/2] x86/efi: split compiler vs linker support
So that an ELF binary with support for EFI services will be built when the compiler supports the MS ABI, regardless of the linker support for PE. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- Changes since v1: - New in this version. --- xen/arch/x86/Makefile | 11 ++++++----- xen/arch/x86/efi/Makefile | 6 +++--- xen/arch/x86/xen.lds.S | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 2172a07071..7736d37d4c 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -163,11 +163,12 @@ EFI_LDFLAGS += --minor-image-version=$(XEN_SUBVERSION) EFI_LDFLAGS += --major-os-version=2 --minor-os-version=0 EFI_LDFLAGS += --major-subsystem-version=2 --minor-subsystem-version=0 -# Check if the build system supports PE. -XEN_BUILD_PE := $(shell $(CC) $(filter-out $(CFLAGS-y) .%.d,$(CFLAGS)) -c efi/check.c -o efi/check.o 2>/dev/null && echo y) -export XEN_BUILD_PE := $(if $(XEN_BUILD_PE),$(shell $(LD) -mi386pep --subsystem=10 -o efi/check.efi efi/check.o 2>/dev/null && echo y)) -ifeq ($(XEN_BUILD_PE),y) -CFLAGS += -DXEN_BUILD_PE +# Check if the compiler supports the MS ABI. +export XEN_BUILD_EFI := $(shell $(CC) $(filter-out $(CFLAGS-y) .%.d,$(CFLAGS)) -c efi/check.c -o efi/check.o 2>/dev/null && echo y) +# Check if the linker supports PE. +XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(shell $(LD) -mi386pep --subsystem=10 -o efi/check.efi efi/check.o 2>/dev/null && echo y)) +ifeq ($(XEN_BUILD_EFI),y) +CFLAGS += -DXEN_BUILD_EFI endif $(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A VIRT_START$$,,p') diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile index 918383b325..3816de2738 100644 --- a/xen/arch/x86/efi/Makefile +++ b/xen/arch/x86/efi/Makefile @@ -6,6 +6,6 @@ CFLAGS += -fshort-wchar boot.init.o: buildid.o obj-y := stub.o -obj-$(XEN_BUILD_PE) := boot.init.o compat.o relocs-dummy.o runtime.o -extra-$(XEN_BUILD_PE) += buildid.o -nocov-$(XEN_BUILD_PE) += stub.o +obj-$(XEN_BUILD_EFI) := boot.init.o compat.o relocs-dummy.o runtime.o +extra-$(XEN_BUILD_EFI) += buildid.o +nocov-$(XEN_BUILD_EFI) += stub.o diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 4a59467986..6e9bda5109 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -304,7 +304,7 @@ SECTIONS } :text #endif -#ifndef XEN_BUILD_PE +#ifndef XEN_BUILD_EFI efi = .; #endif -- 2.17.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |