Update to 3.0.8 (from git).

Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
Peter Jones 2018-03-20 16:21:11 -04:00
parent f458757d86
commit b673d4c9f5
26 changed files with 465 additions and 91 deletions

View File

@ -1,7 +1,7 @@
From 99d94682de590719f9333fcf091910a9581b44c0 Mon Sep 17 00:00:00 2001 From 99d94682de590719f9333fcf091910a9581b44c0 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Thu, 13 Jul 2017 08:43:16 -0400 Date: Thu, 13 Jul 2017 08:43:16 -0400
Subject: [PATCH 01/22] [PATCH] Disable AVX instruction set on IA32 and x86_64 Subject: [PATCH 01/25] [PATCH] Disable AVX instruction set on IA32 and x86_64
platforms platforms
If gnu-efi is compiled with "-march=native" on a host that supports AVX, both If gnu-efi is compiled with "-march=native" on a host that supports AVX, both
@ -40,5 +40,5 @@ index 16f1fd21848..446e676dc14 100755
CFLAGS += -march=mips64r2 CFLAGS += -march=mips64r2
ARCH3264 = -mabi=64 ARCH3264 = -mabi=64
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 08a46615c70f5af195443fcf5d0fd425fa329096 Mon Sep 17 00:00:00 2001 From 08a46615c70f5af195443fcf5d0fd425fa329096 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Mon, 7 Aug 2017 13:32:54 -0400 Date: Mon, 7 Aug 2017 13:32:54 -0400
Subject: [PATCH 02/22] Use ARFLAGS when invoking ar. Subject: [PATCH 02/25] Use ARFLAGS when invoking ar.
The use of ARFLAGS makes these flags overridable. The use of ARFLAGS makes these flags overridable.
The '-U' option is already added to ARFLAGS in Make.defaults. The '-U' option is already added to ARFLAGS in Make.defaults.
@ -26,5 +26,5 @@ index b8d1ce70d48..0e6410dac55 100644
clean: clean:
rm -f libefi.a *~ $(OBJS) */*.o rm -f libefi.a *~ $(OBJS) */*.o
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 15bcddc996694c904b3848c83031da5cd3a4719e Mon Sep 17 00:00:00 2001 From 15bcddc996694c904b3848c83031da5cd3a4719e Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Mon, 6 Nov 2017 09:06:31 -0500 Date: Mon, 6 Nov 2017 09:06:31 -0500
Subject: [PATCH 03/22] Stripped diff for makefile Subject: [PATCH 03/25] Stripped diff for makefile
This patch allows one to run make outside the source tree This patch allows one to run make outside the source tree
with make -f <makefile>. with make -f <makefile>.
@ -27,5 +27,5 @@ index 646de6f7044..37592bd6930 100644
VPATH = $(SRCDIR) VPATH = $(SRCDIR)
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 39ce220cb6fde14bedf2ef61695f3d20726e41ef Mon Sep 17 00:00:00 2001 From 39ce220cb6fde14bedf2ef61695f3d20726e41ef Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Mon, 6 Nov 2017 09:26:05 -0500 Date: Mon, 6 Nov 2017 09:26:05 -0500
Subject: [PATCH 04/22] Make sure stdint.h is always used with MSVC on Subject: [PATCH 04/25] Make sure stdint.h is always used with MSVC on
ARM/ARM64, since all the versions of Visual Studio that support ARM or ARM64 ARM/ARM64, since all the versions of Visual Studio that support ARM or ARM64
have that header. Without this, uint64_t would be defined to unsigned long, have that header. Without this, uint64_t would be defined to unsigned long,
which is 32-bits in the Microsoft world. which is 32-bits in the Microsoft world.
@ -90,5 +90,5 @@ index 06f6ea1aeb8..40a5a9cd428 100644
// ANSI C 1999/2000 stdint.h integer width declarations // ANSI C 1999/2000 stdint.h integer width declarations
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 787b53a66cbbec6b10d47264b9eea9b24bc4e34c Mon Sep 17 00:00:00 2001 From 787b53a66cbbec6b10d47264b9eea9b24bc4e34c Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Mon, 6 Nov 2017 09:34:14 -0500 Date: Mon, 6 Nov 2017 09:34:14 -0500
Subject: [PATCH 05/22] Add EFI_DRIVER_ENTRY_POINT support for MSVC/ARM64 Subject: [PATCH 05/25] Add EFI_DRIVER_ENTRY_POINT support for MSVC/ARM64
Similar to what we do for other MSVC architectures. Similar to what we do for other MSVC architectures.
@ -40,5 +40,5 @@ index 182a2109062..bdaa5238e84 100644
#define LOAD_INTERNAL_DRIVER(_if, type, name, entry) \ #define LOAD_INTERNAL_DRIVER(_if, type, name, entry) \
(_if)->LoadInternal(type, name, entry) (_if)->LoadInternal(type, name, entry)
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From b1d426ce67cbeaa1a8ec7d9b8d0d8071ae4563b4 Mon Sep 17 00:00:00 2001 From b1d426ce67cbeaa1a8ec7d9b8d0d8071ae4563b4 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Mon, 6 Nov 2017 09:38:38 -0500 Date: Mon, 6 Nov 2017 09:38:38 -0500
Subject: [PATCH 06/22] Move memcpy/memset definition to global init.c Subject: [PATCH 06/25] Move memcpy/memset definition to global init.c
Following up on previous patch, I think we should move Following up on previous patch, I think we should move
memcpy/memset definitions to the global init.c, since MSVC does memcpy/memset definitions to the global init.c, since MSVC does
@ -211,5 +211,5 @@ index 4b118656d7c..6c5e1fa5217 100644
- return dest; - return dest;
-} -}
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From f99001cd7d4c27d1b365b70ac45b14f84ee46237 Mon Sep 17 00:00:00 2001 From f99001cd7d4c27d1b365b70ac45b14f84ee46237 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Mon, 6 Nov 2017 09:44:21 -0500 Date: Mon, 6 Nov 2017 09:44:21 -0500
Subject: [PATCH 07/22] Bump revision from VERSION = 3.0.6 to VERSION = 3.0.7 Subject: [PATCH 07/25] Bump revision from VERSION = 3.0.6 to VERSION = 3.0.7
Signed-off-by: Nigel Croxon <ncroxon@redhat.com> Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
@ -22,5 +22,5 @@ index 37592bd6930..a9f7e134e14 100644
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SRCDIR = $(dir $(MKFILE_PATH)) SRCDIR = $(dir $(MKFILE_PATH))
-- --
2.14.3 2.15.0

View File

@ -1,8 +1,12 @@
From 31fc2f9972aca147948a32ed6beba0d20e1e76e8 Mon Sep 17 00:00:00 2001 From d039cd620b8a270d9b231691c9b31d6824f18c08 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Nigel Croxon <ncroxon@redhat.com>
Date: Wed, 15 Mar 2017 17:33:39 -0400 Date: Wed, 10 Jan 2018 10:28:36 -0500
Subject: [PATCH 20/22] Make ia32 use our own div asm on gnu C as well. Subject: [PATCH 08/25] Currently we have DivU64x32 on ia32, but it tries to
call __umoddi3 and __udivdi3 from libgcc, which we don't have. This fixes it
to use our implementation in that case.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
lib/ia32/math.c | 4 ++-- lib/ia32/math.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
@ -30,5 +34,5 @@ index 81f51bf45e4..fce7a8d4875 100644
"shll $1, %0\n\t" "shll $1, %0\n\t"
"rcll $1, 4%0\n\t" "rcll $1, 4%0\n\t"
-- --
2.14.3 2.15.0

View File

@ -0,0 +1,148 @@
From 2cc0b085fb82e80d43cc08c8376dff9f9532a72d Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Sat, 27 Jan 2018 20:29:05 +0000
Subject: [PATCH 09/25] gnuefi: preserve .gnu.hash sections (unbreaks elilo on
IA-64)
Gentoo has slightly modified linker defaults: --hash-style=gnu
This means all ELF files in system have '.gnu.hash' section
but no '.hash' section.
gnuefi's ldscript did not account for it and as a result
one symbol 'ImageBase' did not resolve locally for elilo.so
and caused 'elilo' to fail to load by ia64 EFI:
Loading.: Gentoo (try new elilo)
ImageAddress: pointer is outside of image
ImageAddress: pointer is outside of image
Those two relocations come from crt0-efi-ia64.S PE32 entry point
fdescr:
```
#define IMAGE_REL_BASED_DIR64<->10
.section .reloc, "a"
data4 _start_plabel // Page RVA
data4 12 // Block Size (2*4+2*2)
data2 (IMAGE_REL_BASED_DIR64<<12) + 0 // reloc for plabel's entry point
data2 (IMAGE_REL_BASED_DIR64<<12) + 8 // reloc for plabel's global pointer
```
These refer ImageBase.
The change adds '.gnu.hash' collection (follows existing '.hash'
collection).
Tested on IA-64 by successfully booting elilo-3.16.
Bug: https://bugs.gentoo.org/575300
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
README.gnuefi | 8 +++++++-
gnuefi/elf_ia32_efi.lds | 4 +++-
gnuefi/elf_ia32_fbsd_efi.lds | 4 +++-
gnuefi/elf_ia64_efi.lds | 4 +++-
gnuefi/elf_x86_64_efi.lds | 4 +++-
gnuefi/elf_x86_64_fbsd_efi.lds | 4 +++-
6 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/README.gnuefi b/README.gnuefi
index a7feec0ba28..512698c28b4 100644
--- a/README.gnuefi
+++ b/README.gnuefi
@@ -231,11 +231,17 @@ and page sized.These eight sections are used to group together the much
greater number of sections that are typically present in ELF object files.
Specifically:
- .hash
+ .hash (and/or .gnu.hash)
Collects the ELF .hash info (this section _must_ be the first
section in order to build a shared object file; the section is
not actually loaded or used at runtime).
+ GNU binutils provides a mechanism to generate different hash info
+ via --hash-style=<sysv|gnu|both> option. In this case output
+ shared object will contain .hash section, .gnu.hash section or
+ both. In order to generate correct output linker script preserves
+ both types of hash sections.
+
.text
Collects all sections containing executable code.
diff --git a/gnuefi/elf_ia32_efi.lds b/gnuefi/elf_ia32_efi.lds
index 6cc4ce1b8c7..f27fe5fc6e6 100644
--- a/gnuefi/elf_ia32_efi.lds
+++ b/gnuefi/elf_ia32_efi.lds
@@ -5,7 +5,9 @@ SECTIONS
{
. = 0;
ImageBase = .;
- .hash : { *(.hash) } /* this MUST come first! */
+ /* .hash and/or .gnu.hash MUST come first! */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
. = ALIGN(4096);
.text :
{
diff --git a/gnuefi/elf_ia32_fbsd_efi.lds b/gnuefi/elf_ia32_fbsd_efi.lds
index 77d6fade1a5..cd309e24f7f 100644
--- a/gnuefi/elf_ia32_fbsd_efi.lds
+++ b/gnuefi/elf_ia32_fbsd_efi.lds
@@ -5,7 +5,9 @@ SECTIONS
{
. = 0;
ImageBase = .;
- .hash : { *(.hash) } /* this MUST come first! */
+ /* .hash and/or .gnu.hash MUST come first! */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
. = ALIGN(4096);
.text :
{
diff --git a/gnuefi/elf_ia64_efi.lds b/gnuefi/elf_ia64_efi.lds
index baca9623b57..190792a0c94 100644
--- a/gnuefi/elf_ia64_efi.lds
+++ b/gnuefi/elf_ia64_efi.lds
@@ -5,7 +5,9 @@ SECTIONS
{
. = 0;
ImageBase = .;
- .hash : { *(.hash) } /* this MUST come first! */
+ /* .hash and/or .gnu.hash MUST come first! */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
. = ALIGN(4096);
.text :
{
diff --git a/gnuefi/elf_x86_64_efi.lds b/gnuefi/elf_x86_64_efi.lds
index 942d1f3eff7..7be59023510 100644
--- a/gnuefi/elf_x86_64_efi.lds
+++ b/gnuefi/elf_x86_64_efi.lds
@@ -6,7 +6,9 @@ SECTIONS
{
. = 0;
ImageBase = .;
- .hash : { *(.hash) } /* this MUST come first! */
+ /* .hash and/or .gnu.hash MUST come first! */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
. = ALIGN(4096);
.eh_frame :
{
diff --git a/gnuefi/elf_x86_64_fbsd_efi.lds b/gnuefi/elf_x86_64_fbsd_efi.lds
index 6fd2031c13b..fe1f3342cae 100644
--- a/gnuefi/elf_x86_64_fbsd_efi.lds
+++ b/gnuefi/elf_x86_64_fbsd_efi.lds
@@ -6,7 +6,9 @@ SECTIONS
{
. = 0;
ImageBase = .;
- .hash : { *(.hash) } /* this MUST come first! */
+ /* .hash and/or .gnu.hash MUST come first! */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
. = ALIGN(4096);
.eh_frame :
{
--
2.15.0

View File

@ -0,0 +1,161 @@
From 0e6995a96b0f5867c8d85fbd251cfbc295a3fc4d Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Sun, 28 Jan 2018 16:44:21 +0000
Subject: [PATCH 10/25] gnu-efi: fix lib/ia64/setjmp.S IA-64 build failure
The build failed as:
lib/ia64/setjmp.S:171: Error: Unknown opcode `ldf.nt1 f26=[r10],8'
lib/ia64/setjmp.S:178: Error: Operand 1 of `ldf.fill.nt1' should be a floating-point register
The change syncs longjmp definition with
edk2/EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/Ipf/setjmp.s
pulling in:
- branch in the end of function
- registers used wrong instruction for float restore
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
lib/ia64/setjmp.S | 61 +++++++++++++++++++++++++++----------------------------
1 file changed, 30 insertions(+), 31 deletions(-)
diff --git a/lib/ia64/setjmp.S b/lib/ia64/setjmp.S
index c806fbc82b6..bbb29d8b8f5 100644
--- a/lib/ia64/setjmp.S
+++ b/lib/ia64/setjmp.S
@@ -16,11 +16,11 @@ BASIS,
.globl setjmp
.type setjmp, @function
setjmp:
- alloc loc = ar.pfs, 1, 2, 1, 0
+ alloc loc0 = ar.pfs, 1, 2, 1, 0
;;
mov r14 = ar.unat
mov r15 = ar.bsp
- add r10 = 0x10 * 20, in0
+ add r10 = 0x10*20, in0
;;
stf.spill.nta [in0] = f2, 0x10
st8.spill.nta [r10] = r4, 8
@@ -98,29 +98,25 @@ setjmp:
.globl longjmp
.type longjmp, @function
- .regstk
+ .regstk 2, 0, 0, 0
longjmp:
- add r10 = 0x10 * 20 + 8*14, in0
- movl r2 = ~(((1<<14) - 1) << 16) | 3)
+ add r10 = 0x10*20 + 8*14, in0
+ movl r2 = ~((((1<<14) - 1) << 16) | 3)
;;
ld8.nt1 r14 = [r10], -8*2
mov r15 = ar.bspstore
;;
ld8.nt1 r17 = [r10], -8
mov r16 = ar.rsc
- cmp.leu p6 = r14, r15
+ cmp.leu p6 = r14, r15
;;
ld8.nt1 r18 = [r10], -8
ld8.nt1 r25 = [r10], -8
- and r2 = r16, r2
+ and r2 = r16, r2
;;
- ldf.fill.nt1 f2 = [in0], 0x10
+ ldf.fill.nt1 f2 = [in0], 0x10
ld8.nt1 r24 = [r10], -8
- mov b5 = r25
- ;;
- mov ar.rsc = r2
- ld8.nt1 r23 = [r10], -8
- mov b5 = r25
+ mov b5 = r25
;;
mov ar.rsc = r2
ld8.nt1 r23 = [r10], -8
@@ -137,51 +133,51 @@ _skip_flushrs:
mov r31 = ar.rnat
loadrs
;;
- ldf.fill.nt1 f4 = [in0], 0x10
+ ldf.fill.nt1 f4 = [in0], 0x10
ld8.nt1 r22 = [r10], -8
- dep r2 = -1, r14, 3, 6
+ dep r2 = -1, r14, 3, 6
;;
- ldf.fill.nt1 f5 = [in0], 0x10
- ld8.nt1 f21 = [r10], -8
- cmp p6 = r2, r15
+ ldf.fill.nt1 f5 = [in0], 0x10
+ ld8.nt1 r21 = [r10], -8
+ cmp.ltu p6 = r2, r15
;;
ld8.nt1 r20 = [r10], -0x10
(p6) ld8.nta r31 = [r2]
- mov b3 = r23
+ mov b3 = r23
;;
ldf.fill.nt1 f16 = [in0], 0x10
- ld8.fill.nt1 r7 = [r10], -8
- mov b2 = r22
+ ld8.fill.nt1 r7 = [r10], -8
+ mov b2 = r22
;;
ldf.fill.nt1 f17 = [in0], 0x10
- ld8.fill.nt1 r6 = [r10], -8
- mov b1 = r21
+ ld8.fill.nt1 r6 = [r10], -8
+ mov b1 = r21
;;
ldf.fill.nt1 f18 = [in0], 0x10
- ld8.fill.nt1 r5 = [r10], -8
- mov b0 = r20
+ ld8.fill.nt1 r5 = [r10], -8
+ mov b0 = r20
;;
ldf.fill.nt1 f19 = [in0], 0x10
- ld8.fill.nt1 r4 = [r10], 8*13
+ ld8.fill.nt1 r4 = [r10], 8*13
;;
ldf.fill.nt1 f20 = [in0], 0x10
ld8.nt1 r19 = [r10], 0x10
;;
ldf.fill.nt1 f21 = [in0], 0x10
- ldf.nt1 f26 = [r10], 8
+ ld8.nt1 r26 = [r10], 8
mov ar.pfs = r19
;;
ldf.fill.nt1 f22 = [in0], 0x10
ld8.nt1 r27 = [r10], 8
- mov pr = r26, -1
+ mov pr = r26, -1
;;
- ldf.fill.nt1 r23 = [in0], 0x10
+ ldf.fill.nt1 f23 = [in0], 0x10
ld8.nt1 r28 = [r10], -17*8 - 0x10
mov ar.lc = r27
;;
ldf.fill.nt1 f24 = [in0], 0x10
ldf.fill.nt1 f25 = [in0], 0x10
- mov r8 = in1
+ mov r8 = in1
;;
ldf.fill.nt1 f26 = [in0], 0x10
ldf.fill.nt1 f31 = [r10], -0x10
@@ -192,9 +188,12 @@ _skip_flushrs:
ldf.fill.nt1 f28 = [in0]
ldf.fill.nt1 f29 = [r10], 0x10*3 + 8*4
;;
- ld8.fill.nt1 sp = [r10]
+ ld8.fill.nt1 sp = [r10]
mov ar.unat = r18
;;
mov ar.bspstore = r14
mov ar.rnat = r31
;;
+ invala
+ mov ar.rsc = r16
+ br.ret.sptk b0
--
2.15.0

View File

@ -1,13 +1,14 @@
From 3fa80d0d7b103975b765fa936c24d05544985805 Mon Sep 17 00:00:00 2001 From a46a62b12b58139c31d4288384808365c4053bf2 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Thu, 2 Feb 2017 14:00:59 -0500 Date: Tue, 13 Mar 2018 15:20:21 -0400
Subject: [PATCH 08/22] Fix some types gcc doesn't like Subject: [PATCH 11/25] Fix some types gcc doesn't like
Most of these come from building on i386 with -Wextra, but they're still Most of these come from building on i386 with -Wextra, but they're still
incorrect everywhere else; they just happen to have identical typedefs incorrect everywhere else; they just happen to have identical typedefs
at other places, so the compiler doesn't care. at other places, so the compiler doesn't care.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
apps/AllocPages.c | 2 +- apps/AllocPages.c | 2 +-
apps/FreePages.c | 2 +- apps/FreePages.c | 2 +-
@ -68,5 +69,5 @@ index b2ff4fa2f87..cc5aa2dc57b 100644
// //
// CONTAINING_RECORD - returns a pointer to the structure // CONTAINING_RECORD - returns a pointer to the structure
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 6082de48568bb85b4878fe7934ede76821114d34 Mon Sep 17 00:00:00 2001 From 5fa13d4609ae6187f68928c6e0834cdf716442f9 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Thu, 2 Feb 2017 14:31:25 -0500 Date: Tue, 13 Mar 2018 15:20:22 -0400
Subject: [PATCH 09/22] Fix arm build paths in the makefile Subject: [PATCH 12/25] Fix arm build paths in the makefile
Previous work was apparently done with arm-linux-gnueabi-gcc as a Previous work was apparently done with arm-linux-gnueabi-gcc as a
cross-builder, but our armv7 builders have native gcc with the target as cross-builder, but our armv7 builders have native gcc with the target as
@ -9,6 +9,7 @@ armv7hl-linux-gnueabi, so we need to munge the arch there to get our arm
path. path.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
Make.defaults | 4 ++-- Make.defaults | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
@ -33,5 +34,5 @@ index 446e676dc14..6d300fb0f24 100755
# FreeBSD (and possibly others) reports amd64 instead of x86_64 # FreeBSD (and possibly others) reports amd64 instead of x86_64
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From d7e380f0ebf2292ddcd534c407483450b74a9f12 Mon Sep 17 00:00:00 2001 From e861bb3861cca6c6d7b4d42fa915e9e9fa3dc9fc Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Thu, 2 Feb 2017 15:23:55 -0500 Date: Tue, 13 Mar 2018 15:20:23 -0400
Subject: [PATCH 10/22] Work around -Werror=maybe-uninitialized not being very Subject: [PATCH 13/25] Work around -Werror=maybe-uninitialized not being very
bright. bright.
The compiler doesn't believe the loop always executes at least once, The compiler doesn't believe the loop always executes at least once,
@ -9,6 +9,7 @@ even though the data in the first array entry doesn't satisfy the exit
condition. So just initialize the thing to shut it up. condition. So just initialize the thing to shut it up.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
apps/route80h.c | 2 +- apps/route80h.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@ -27,5 +28,5 @@ index e1f62f06824..5272dd3cd44 100644
uint16_t vendor; uint16_t vendor;
uint16_t device; uint16_t device;
-- --
2.14.3 2.15.0

View File

@ -1,13 +1,14 @@
From 2e07ce1876051106659a5a0d742ee26437806da9 Mon Sep 17 00:00:00 2001 From 25cebcee2ae0b92829841321220ec9837479c118 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Thu, 2 Feb 2017 15:25:48 -0500 Date: Tue, 13 Mar 2018 15:20:24 -0400
Subject: [PATCH 11/22] Fix a sign error in the debughook example app Subject: [PATCH 14/25] Fix a sign error in the debughook example app
On ISO C90 on i386 4294967294 is a signed integer, and so x can't be On ISO C90 on i386 4294967294 is a signed integer, and so x can't be
greater (or equal) to that. Make it an unsigned and choose a better type greater (or equal) to that. Make it an unsigned and choose a better type
for the variable. for the variable.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
apps/debughook.c | 4 ++-- apps/debughook.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
@ -35,5 +36,5 @@ index 93cd0cf7eb0..78e4a767b1d 100644
__asm__ __volatile__("pause"); __asm__ __volatile__("pause");
#elif defined(__aarch64__) #elif defined(__aarch64__)
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 44c9ce3c94d26ab4b8f778827bcaded30dc1fa22 Mon Sep 17 00:00:00 2001 From 28b487d1ae66c7311e13c07c802276ea26f026e9 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Wed, 8 Feb 2017 15:28:18 -0500 Date: Tue, 13 Mar 2018 15:20:25 -0400
Subject: [PATCH 12/22] Fix typedef of EFI_PXE_BASE_CODE Subject: [PATCH 15/25] Fix typedef of EFI_PXE_BASE_CODE
Commit 751cbce3 fixed up a bunch of types to better match the edk2 Commit 751cbce3 fixed up a bunch of types to better match the edk2
definitions and the names in the UEFI Spec, but while doing so definitions and the names in the UEFI Spec, but while doing so
@ -27,6 +27,7 @@ This patch changes both _EFI_PXE_BASE_CODE and EFI_PXE_BASE_CODE
typedefs to inherit from struct _EFI_PXE_BASE_CODE_PROTOCOL. typedefs to inherit from struct _EFI_PXE_BASE_CODE_PROTOCOL.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
inc/efipxebc.h | 2 +- inc/efipxebc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@ -45,5 +46,5 @@ index 035a853a7ef..3760c7cbb78 100644
// //
// Call Back Definitions // Call Back Definitions
-- --
2.14.3 2.15.0

View File

@ -1,8 +1,12 @@
From 34365c8c021a32150935d0af3087195e3e99eef9 Mon Sep 17 00:00:00 2001 From f0bf464a37d740a9539e8356a2e8611da63455df Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Fri, 10 Feb 2017 15:16:42 -0500 Date: Tue, 13 Mar 2018 15:20:26 -0400
Subject: [PATCH 13/22] make clang not complain about -fno-merge-all-constants Subject: [PATCH 16/25] make clang not complain about -fno-merge-all-constants
Make clang not complain about -fno-merge-all-constants
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
Make.defaults | 5 +++-- Make.defaults | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-) 1 file changed, 3 insertions(+), 2 deletions(-)
@ -24,5 +28,5 @@ index 6d300fb0f24..a457190aa3a 100755
ARFLAGS += -U ARFLAGS += -U
-- --
2.14.3 2.15.0

View File

@ -1,9 +1,12 @@
From cc5794a36021be063f069529d99f63ecd8e66a18 Mon Sep 17 00:00:00 2001 From 5abc3858a25fa6774c6e2d89cc5d1d14a9c9f7cb Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Fri, 10 Feb 2017 16:14:12 -0500 Date: Tue, 13 Mar 2018 15:20:27 -0400
Subject: [PATCH 14/22] Fix another place clang complains about Subject: [PATCH 17/25] Fix another place clang complains about
Fix another place clang complains about.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
lib/guid.c | 2 +- lib/guid.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@ -22,5 +25,5 @@ index 8daa505ed97..6498e9063cf 100644
// //
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 4e69cb7426ae7bd9e8e27e4195d41e64b722da95 Mon Sep 17 00:00:00 2001 From 9485c65f6d28b71ff697849c1c8d47fd077ccd07 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Mon, 31 Jul 2017 15:01:02 -0400 Date: Tue, 13 Mar 2018 15:20:28 -0400
Subject: [PATCH 15/22] gnu-efi: add some more common string functions. Subject: [PATCH 18/25] gnu-efi: add some more common string functions.
This adds bounded string helper functions: This adds bounded string helper functions:
@ -13,6 +13,7 @@ StpnCpy()
And the unbounded function StpCpy(). And the unbounded function StpCpy().
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
lib/runtime/rtstr.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++-- lib/runtime/rtstr.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++--
lib/str.c | 53 ++++++++++++++++++++++++++++++ lib/str.c | 53 ++++++++++++++++++++++++++++++
@ -340,5 +341,5 @@ index c073ead97a7..49d0b4d3ae0 100644
RUNTIMEFUNCTION RUNTIMEFUNCTION
RtStrSize ( RtStrSize (
-- --
2.14.3 2.15.0

View File

@ -1,9 +1,12 @@
From ea1bc0d8cdb3005cdf1718083eb49075b60c8b97 Mon Sep 17 00:00:00 2001 From 28793041d7f26a6771837967c495f3ae7ba1134a Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Mon, 31 Jul 2017 15:03:26 -0400 Date: Tue, 13 Mar 2018 15:20:29 -0400
Subject: [PATCH 16/22] Add %D to print device paths Subject: [PATCH 19/25] Add %D to print device paths
Add %D to print device paths.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
lib/print.c | 13 +++++++++++++ lib/print.c | 13 +++++++++++++
1 file changed, 13 insertions(+) 1 file changed, 13 insertions(+)
@ -40,5 +43,5 @@ index ed79c43825b..35e43c03db5 100644
FloatToString ( FloatToString (
Item.Scratch, Item.Scratch,
-- --
2.14.3 2.15.0

View File

@ -1,9 +1,12 @@
From 290e12e22869d3041816f8938b97a4fa849cdc3c Mon Sep 17 00:00:00 2001 From 2c624c22fe873099d398e86b9f09cffcae9f0af8 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Fri, 22 Sep 2017 12:57:23 -0400 Date: Tue, 13 Mar 2018 15:20:30 -0400
Subject: [PATCH 17/22] Make ARCH overrideable on the command line Subject: [PATCH 20/25] Make ARCH overrideable on the command line
Make ARCH overrideable on the command line.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
Make.defaults | 4 ++-- Make.defaults | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
@ -24,5 +27,5 @@ index a457190aa3a..4aa57ac5f7c 100755
# Get ARCH from the compiler if cross compiling # Get ARCH from the compiler if cross compiling
ifneq ($(CROSS_COMPILE),) ifneq ($(CROSS_COMPILE),)
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From f0a9b5d76db9842206faaf7e3d19b13c7e969f6c Mon Sep 17 00:00:00 2001 From 5ec879ace760faacfa940a1933e0339e8f3811bd Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Fri, 22 Sep 2017 15:26:05 -0400 Date: Tue, 13 Mar 2018 15:20:31 -0400
Subject: [PATCH 18/22] apps: Add bltgrid and lfbgrid, and add error checks to Subject: [PATCH 21/25] apps: Add bltgrid and lfbgrid, and add error checks to
modelist modelist
This adds bltgrid and lfbgrid, which draw checkerboards using GOP's This adds bltgrid and lfbgrid, which draw checkerboards using GOP's
@ -9,6 +9,7 @@ Blt() and linear framebuffer, respectively, and adds some error checks
to modelist.efi. to modelist.efi.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
apps/bltgrid.c | 131 +++++++++++++++++++++++++++++++++++++++++++ apps/bltgrid.c | 131 +++++++++++++++++++++++++++++++++++++++++++
apps/lfbgrid.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ apps/lfbgrid.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@ -442,5 +443,5 @@ index 5fffd4254c8..4e26444c469 100644
TARGET_RTDRIVERS = TARGET_RTDRIVERS =
-- --
2.14.3 2.15.0

View File

@ -1,8 +1,12 @@
From caef829abc431a694d6e231705eb013366658865 Mon Sep 17 00:00:00 2001 From be57aadba6092027d21c04d4ededb2e83abe9016 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Tue, 7 Mar 2017 10:11:19 -0500 Date: Tue, 13 Mar 2018 15:20:32 -0400
Subject: [PATCH 19/22] Nerf -Werror=pragma away Subject: [PATCH 22/25] Nerf -Werror=pragma away
Nerf -Werror=-pragma away
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
Make.defaults | 2 ++ Make.defaults | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
@ -21,5 +25,5 @@ index 4aa57ac5f7c..ed4b60c2423 100755
CFLAGS += -mfixed-range=f32-f127 CFLAGS += -mfixed-range=f32-f127
endif endif
-- --
2.14.3 2.15.0

View File

@ -1,7 +1,7 @@
From 5cbaa179424c239263cf460db1cd5e19db856df2 Mon Sep 17 00:00:00 2001 From 656e495d515b0fc1f01add164aa4bba9a49ceb31 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Tue, 28 Mar 2017 17:59:55 -0400 Date: Tue, 13 Mar 2018 15:20:34 -0400
Subject: [PATCH 21/22] Call ar in deterministic mode. Subject: [PATCH 23/25] Call ar in deterministic mode.
We need the x86_64 and i686 builds of .a's to be the same, and that We need the x86_64 and i686 builds of .a's to be the same, and that
means we need to not have timestamps. Also force the timestamps on disk means we need to not have timestamps. Also force the timestamps on disk
@ -49,6 +49,7 @@ just to discover the problem isn't even in there.
Related: rhbz#1310782 Related: rhbz#1310782
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
Make.defaults | 2 +- Make.defaults | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@ -67,5 +68,5 @@ index ed4b60c2423..ba743f17893 100755
LDFLAGS += -nostdlib --warn-common --no-undefined --fatal-warnings \ LDFLAGS += -nostdlib --warn-common --no-undefined --fatal-warnings \
--build-id=sha1 --build-id=sha1
-- --
2.14.3 2.15.0

View File

@ -1,8 +1,12 @@
From 1d249b810b22c601c4b9e3a684443be841cd1b56 Mon Sep 17 00:00:00 2001 From b030bfce35fe4b9a4eec88442e2027e4d6ec60de Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com> From: Peter Jones <pjones@redhat.com>
Date: Mon, 8 Jan 2018 16:50:34 -0500 Date: Tue, 13 Mar 2018 15:20:35 -0400
Subject: [PATCH 22/22] Add debug helper applications Subject: [PATCH 24/25] Add debug helper applications
Add debug helper applications.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
--- ---
apps/setdbg.c | 37 +++++++++++++++++++++++++++++++++++++ apps/setdbg.c | 37 +++++++++++++++++++++++++++++++++++++
apps/unsetdbg.c | 37 +++++++++++++++++++++++++++++++++++++ apps/unsetdbg.c | 37 +++++++++++++++++++++++++++++++++++++
@ -111,5 +115,5 @@ index 4e26444c469..4e1b69a38c8 100644
TARGET_RTDRIVERS = TARGET_RTDRIVERS =
-- --
2.14.3 2.15.0

View File

@ -0,0 +1,26 @@
From fc5af9e47fb63fbadf6acd218abc60352ce41e31 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com>
Date: Wed, 14 Mar 2018 14:54:51 -0400
Subject: [PATCH 25/25] Bump revision from VERSION = 3.0.7 to VERSION = 3.0.8
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index a9f7e134e14..4e58e029e7f 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@
# SUCH DAMAGE.
#
-VERSION = 3.0.7
+VERSION = 3.0.8
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SRCDIR = $(dir $(MKFILE_PATH))
--
2.15.0

View File

@ -1,6 +1,6 @@
Summary: Development Libraries and headers for EFI Summary: Development Libraries and headers for EFI
Name: gnu-efi Name: gnu-efi
Version: 3.0.7 Version: 3.0.8
%global tarball_version 3.0.6 %global tarball_version 3.0.6
Release: 1%{?dist}%{?buildid} Release: 1%{?dist}%{?buildid}
Epoch: 1 Epoch: 1
@ -28,21 +28,24 @@ Patch0004: 0004-Make-sure-stdint.h-is-always-used-with-MSVC-on-ARM-A.patch
Patch0005: 0005-Add-EFI_DRIVER_ENTRY_POINT-support-for-MSVC-ARM64.patch Patch0005: 0005-Add-EFI_DRIVER_ENTRY_POINT-support-for-MSVC-ARM64.patch
Patch0006: 0006-Move-memcpy-memset-definition-to-global-init.c.patch Patch0006: 0006-Move-memcpy-memset-definition-to-global-init.c.patch
Patch0007: 0007-Bump-revision-from-VERSION-3.0.6-to-VERSION-3.0.7.patch Patch0007: 0007-Bump-revision-from-VERSION-3.0.6-to-VERSION-3.0.7.patch
Patch0008: 0008-Fix-some-types-gcc-doesn-t-like.patch Patch0008: 0008-Currently-we-have-DivU64x32-on-ia32-but-it-tries-to-.patch
Patch0009: 0009-Fix-arm-build-paths-in-the-makefile.patch Patch0009: 0009-gnuefi-preserve-.gnu.hash-sections-unbreaks-elilo-on.patch
Patch0010: 0010-Work-around-Werror-maybe-uninitialized-not-being-ver.patch Patch0010: 0010-gnu-efi-fix-lib-ia64-setjmp.S-IA-64-build-failure.patch
Patch0011: 0011-Fix-a-sign-error-in-the-debughook-example-app.patch Patch0011: 0011-Fix-some-types-gcc-doesn-t-like.patch
Patch0012: 0012-Fix-typedef-of-EFI_PXE_BASE_CODE.patch Patch0012: 0012-Fix-arm-build-paths-in-the-makefile.patch
Patch0013: 0013-make-clang-not-complain-about-fno-merge-all-constant.patch Patch0013: 0013-Work-around-Werror-maybe-uninitialized-not-being-ver.patch
Patch0014: 0014-Fix-another-place-clang-complains-about.patch Patch0014: 0014-Fix-a-sign-error-in-the-debughook-example-app.patch
Patch0015: 0015-gnu-efi-add-some-more-common-string-functions.patch Patch0015: 0015-Fix-typedef-of-EFI_PXE_BASE_CODE.patch
Patch0016: 0016-Add-D-to-print-device-paths.patch Patch0016: 0016-make-clang-not-complain-about-fno-merge-all-constant.patch
Patch0017: 0017-Make-ARCH-overrideable-on-the-command-line.patch Patch0017: 0017-Fix-another-place-clang-complains-about.patch
Patch0018: 0018-apps-Add-bltgrid-and-lfbgrid-and-add-error-checks-to.patch Patch0018: 0018-gnu-efi-add-some-more-common-string-functions.patch
Patch0019: 0019-Nerf-Werror-pragma-away.patch Patch0019: 0019-Add-D-to-print-device-paths.patch
Patch0020: 0020-Make-ia32-use-our-own-div-asm-on-gnu-C-as-well.patch Patch0020: 0020-Make-ARCH-overrideable-on-the-command-line.patch
Patch0021: 0021-Call-ar-in-deterministic-mode.patch Patch0021: 0021-apps-Add-bltgrid-and-lfbgrid-and-add-error-checks-to.patch
Patch0022: 0022-Add-debug-helper-applications.patch Patch0022: 0022-Nerf-Werror-pragma-away.patch
Patch0023: 0023-Call-ar-in-deterministic-mode.patch
Patch0024: 0024-Add-debug-helper-applications.patch
Patch0025: 0025-Bump-revision-from-VERSION-3.0.7-to-VERSION-3.0.8.patch
%define debug_package %{nil} %define debug_package %{nil}
@ -149,6 +152,9 @@ mv ia32/apps/{route80h.efi,modelist.efi} %{buildroot}/boot/efi/EFI/%{efidir}/ia3
%attr(0644,root,root) /boot/efi/EFI/%{efidir}/*/*.efi %attr(0644,root,root) /boot/efi/EFI/%{efidir}/*/*.efi
%changelog %changelog
* Tue Mar 20 2018 Peter Jones <pjones@redhat.com> - 3.0.8-1
- Update to 3.0.8 (from git).
* Tue Mar 13 2018 Peter Jones <pjones@redhat.com> - 3.0.7-1 * Tue Mar 13 2018 Peter Jones <pjones@redhat.com> - 3.0.7-1
- Update to 3.0.7 (from git) and add some pending patches we need. - Update to 3.0.7 (from git) and add some pending patches we need.