summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0015-binutils-enable-x86_64-pep-for-producing-EFI-binarie.patch
blob: bfde561dee9a65589981ef4386d27439c9acc44c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
From d5d783903e335302e562bac8da1a083338d75b25 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 29 Nov 2018 17:46:40 -0800
Subject: [PATCH 15/15] binutils : enable x86_64-pep for producing EFI binaries
 on x86-64

Add x86_64-pep emulation support to the set enabled for x86_64 targets
to enable the linker to produce Portable Executables for EFI binaries.

Enables building the x86-64 EFI variant of the Xen hypervisor for
the OpenXT Project.

Upstream-Status: Inappropriate [OE configuration specific]

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 bfd/config.bfd   | 2 +-
 ld/configure.tgt | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bfd/config.bfd b/bfd/config.bfd
index 3614ff79d4..aef144803a 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -694,7 +694,7 @@ case "${targ}" in
     ;;
   x86_64-*-linux-*)
     targ_defvec=x86_64_elf64_vec
-    targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+    targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec x86_64_pe_vec x86_64_pe_be_vec i386_pe_vec"
     want64=true
     ;;
   x86_64-*-nacl*)
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 347df6c3f6..1e37d747a9 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -257,8 +257,9 @@ x86_64-*-linux-gnux32)	targ_emul=elf32_x86_64
 			tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'`
 			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;;
 x86_64-*-linux-*)	targ_emul=elf_x86_64
-			targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om"
-			targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
+			targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pe i386pep"
+			targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om i386pep"
+			targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o"
 			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
 i[3-7]86-*-redox*)	targ_emul=elf_i386
 			targ_extra_emuls=elf_x86_64 ;;
-- 
2.20.1