mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> Tested-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
18cd4997d2
commit
93249f7fc1
3 files changed
+9
-8
No files matched your search
@@ -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')
|
||||
|
||||
@@ -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
|
||||
@@ -304,7 +304,7 @@ SECTIONS
|
||||
} :text
|
||||
#endif
|
||||
|
||||
#ifndef XEN_BUILD_PE
|
||||
#ifndef XEN_BUILD_EFI
|
||||
efi = .;
|
||||
#endif
|
||||
|
||||
|
||||