[OE-core] [PATCH v4] binutils : enable x86_64-pep for producing EFI binaries on x86/x86-64

Christopher Clark christopher.w.clark at gmail.com
Fri Jul 27 20:16:47 UTC 2018


On x86 and x86_64 architectures, add the x86_64-pep emulation support
to the linker to enable production of Portable Executables for EFI
binaries.

Enables building the EFI variant of the Xen hypervisor.

Signed-off-by: Christopher Clark <christopher.clark6 at baesystems.com>
---

Changes in v4: unbreak non-x86/x86-64: only supply the configure flag
               "--enable-targets=" if also supplying a value to it.

 meta/recipes-devtools/binutils/binutils.inc | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc
index 37813dd..e269bdb 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -74,12 +74,17 @@ EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
                 --enable-deterministic-archives \
                 --enable-plugins \
                 ${LDGOLD} \
-                ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)}"
+                ${@bb.utils.contains('DISTRO_FEATURES', 'multiarch', '--enable-64-bit-bfd', '', d)} \
+                ${ENABLE_EXTRA_TARGETS}"
 
 LDGOLD_class-native = ""
 LDGOLD_class-crosssdk = ""
 LDGOLD ?= "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-gold=default --enable-threads', '--enable-gold --enable-ld=default --enable-threads', d)}"
 
+ARCH_EFI_EMULATION_x86-64 = "x86_64-pep"
+ARCH_EFI_EMULATION_x86 = "x86_64-pep"
+ENABLE_EXTRA_TARGETS ?= "${@ "--enable-targets=" + d.getVar('ARCH_EFI_EMULATION') if d.getVar('ARCH_EFI_EMULATION') else ""}"
+
 # This is necessary due to a bug in the binutils Makefiles
 # EXTRA_OEMAKE = "configure-build-libiberty all"
 
-- 
2.7.4




More information about the Openembedded-core mailing list