[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/2] x86/efi: split compiler vs linker support
On Wed, Jul 18, 2018 at 08:41:30AM -0600, Jan Beulich wrote: > >>> On 18.07.18 at 12:27, <roger.pau@xxxxxxxxxx> wrote: > > 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> > > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > > --- > > 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 | 7 ++++--- > > xen/arch/x86/efi/Makefile | 6 +++--- > > xen/arch/x86/xen.lds.S | 2 +- > > 3 files changed, 8 insertions(+), 7 deletions(-) > > > > diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile > > index 172685fb41..1301f52c3b 100644 > > --- a/xen/arch/x86/Makefile > > +++ b/xen/arch/x86/Makefile > > @@ -163,9 +163,10 @@ 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)) > > +# 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)) > > CFLAGS-$(XEN_BUILD_PE) += -DXEN_BUILD_PE > > Rebasing (over patch 1) mistake? I think this wants to be > > CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI Indeed, sorry. I've pushed a new branch: git://xenbits.xen.org/people/royger/xen.git efi.v4 And updated the patch appended below. ---8<--- From 820fc00d1f1c7c691794f88f5b818fab81ac7127 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne <roger.pau@xxxxxxxxxx> Date: Wed, 18 Jul 2018 11:59:03 +0200 Subject: [PATCH v4 2/2] x86/efi: split compiler vs linker support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- 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 | 9 +++++---- xen/arch/x86/efi/Makefile | 6 +++--- xen/arch/x86/xen.lds.S | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 172685fb41..17e7d3fa34 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -163,10 +163,11 @@ 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)) -CFLAGS-$(XEN_BUILD_PE) += -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)) +CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI $(TARGET).efi: VIRT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A VIRT_START$$,,p') $(TARGET).efi: ALT_BASE = 0x$(shell $(NM) efi/relocs-dummy.o | sed -n 's, A ALT_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.18.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |