diff options
| author | Christopher Clark <christopher.w.clark@gmail.com> | 2018-07-30 00:55:21 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-09 23:47:56 +0100 |
| commit | 028a292001f64ad86c6b960a05ba1f6fd72199de (patch) | |
| tree | 1d70b89f7a8a12eb046b37a1f066b2ea1446b9c2 | |
| parent | a15cad08de6bd4aa1e311aa1c7d6e2cfd1edaeaa (diff) | |
| download | poky-028a292001f64ad86c6b960a05ba1f6fd72199de.tar.gz | |
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.
(From OE-Core rev: 3d493838f0284948a09693ad65656cb7afbb21cc)
Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils-2.31.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.31.inc b/meta/recipes-devtools/binutils/binutils-2.31.inc index ec9e9c330d..02d5bcab73 100644 --- a/meta/recipes-devtools/binutils/binutils-2.31.inc +++ b/meta/recipes-devtools/binutils/binutils-2.31.inc | |||
| @@ -35,6 +35,7 @@ SRC_URI = "\ | |||
| 35 | file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \ | 35 | file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \ |
| 36 | file://0014-Detect-64-bit-MIPS-targets.patch \ | 36 | file://0014-Detect-64-bit-MIPS-targets.patch \ |
| 37 | file://0015-sync-with-OE-libtool-changes.patch \ | 37 | file://0015-sync-with-OE-libtool-changes.patch \ |
| 38 | file://0016-add-i386pep-emulation-for-x86_64.patch \ | ||
| 38 | " | 39 | " |
| 39 | S = "${WORKDIR}/git" | 40 | S = "${WORKDIR}/git" |
| 40 | 41 | ||
diff --git a/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch b/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch new file mode 100644 index 0000000000..9f20784eba --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/0016-add-i386pep-emulation-for-x86_64.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | binutils : enable x86_64-pep for producing EFI binaries on x86-64 | ||
| 2 | |||
| 3 | Add x86_64-pep emulation support to the set enabled for x86_64 targets | ||
| 4 | to enable the linker to produce Portable Executables for EFI binaries. | ||
| 5 | |||
| 6 | Enables building the x86-64 EFI variant of the Xen hypervisor for | ||
| 7 | the OpenXT Project. | ||
| 8 | |||
| 9 | Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com> | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [OE configuration specific] | ||
| 12 | --- | ||
| 13 | diff --git a/bfd/config.bfd b/bfd/config.bfd | ||
| 14 | index c882421..dc705b6 100644 | ||
| 15 | --- a/bfd/config.bfd | ||
| 16 | +++ b/bfd/config.bfd | ||
| 17 | @@ -688,7 +688,7 @@ case "${targ}" in | ||
| 18 | ;; | ||
| 19 | x86_64-*-linux-*) | ||
| 20 | targ_defvec=x86_64_elf64_vec | ||
| 21 | - 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" | ||
| 22 | + 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" | ||
| 23 | want64=true | ||
| 24 | ;; | ||
| 25 | x86_64-*-nacl*) | ||
| 26 | diff --git a/ld/configure.tgt b/ld/configure.tgt | ||
| 27 | index a1db7ad..65a984a 100644 | ||
| 28 | --- a/ld/configure.tgt | ||
| 29 | +++ b/ld/configure.tgt | ||
| 30 | @@ -253,8 +253,9 @@ x86_64-*-linux-gnux32) targ_emul=elf32_x86_64 | ||
| 31 | tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` | ||
| 32 | tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;; | ||
| 33 | x86_64-*-linux-*) targ_emul=elf_x86_64 | ||
| 34 | - targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om" | ||
| 35 | - targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om" | ||
| 36 | + targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pe i386pep" | ||
| 37 | + targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om i386pep" | ||
| 38 | + targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" | ||
| 39 | tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; | ||
| 40 | i[3-7]86-*-redox*) targ_emul=elf_i386 | ||
| 41 | targ_extra_emuls=elf_x86_64 ;; | ||
