Compare commits

...

3 Commits
rawhide ... f28

Author SHA1 Message Date
Peter Jones 82a8166a45 Fix permissions on /boot/efi/...
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-30 12:35:54 -04:00
Peter Jones 46cd3e1a5d Fix permissions for /boot/efi/...
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-03-21 16:46:02 -04:00
Peter Jones b673d4c9f5 Update to 3.0.8 (from git).
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-03-20 16:21:11 -04:00
26 changed files with 472 additions and 94 deletions

View File

@ -1,7 +1,7 @@
From 99d94682de590719f9333fcf091910a9581b44c0 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com>
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
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
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: Nigel Croxon <ncroxon@redhat.com>
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 '-U' option is already added to ARFLAGS in Make.defaults.
@ -26,5 +26,5 @@ index b8d1ce70d48..0e6410dac55 100644
clean:
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: Nigel Croxon <ncroxon@redhat.com>
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
with make -f <makefile>.
@ -27,5 +27,5 @@ index 646de6f7044..37592bd6930 100644
VPATH = $(SRCDIR)
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 39ce220cb6fde14bedf2ef61695f3d20726e41ef Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com>
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
have that header. Without this, uint64_t would be defined to unsigned long,
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
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From 787b53a66cbbec6b10d47264b9eea9b24bc4e34c Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com>
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.
@ -40,5 +40,5 @@ index 182a2109062..bdaa5238e84 100644
#define LOAD_INTERNAL_DRIVER(_if, 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: Nigel Croxon <ncroxon@redhat.com>
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
memcpy/memset definitions to the global init.c, since MSVC does
@ -211,5 +211,5 @@ index 4b118656d7c..6c5e1fa5217 100644
- return dest;
-}
--
2.14.3
2.15.0

View File

@ -1,7 +1,7 @@
From f99001cd7d4c27d1b365b70ac45b14f84ee46237 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com>
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>
---
@ -22,5 +22,5 @@ index 37592bd6930..a9f7e134e14 100644
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
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: Peter Jones <pjones@redhat.com>
Date: Wed, 15 Mar 2017 17:33:39 -0400
Subject: [PATCH 20/22] Make ia32 use our own div asm on gnu C as well.
From d039cd620b8a270d9b231691c9b31d6824f18c08 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <ncroxon@redhat.com>
Date: Wed, 10 Jan 2018 10:28:36 -0500
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 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@ -30,5 +34,5 @@ index 81f51bf45e4..fce7a8d4875 100644
"shll $1, %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>
Date: Thu, 2 Feb 2017 14:00:59 -0500
Subject: [PATCH 08/22] Fix some types gcc doesn't like
Date: Tue, 13 Mar 2018 15:20:21 -0400
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
incorrect everywhere else; they just happen to have identical typedefs
at other places, so the compiler doesn't care.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
apps/AllocPages.c | 2 +-
apps/FreePages.c | 2 +-
@ -68,5 +69,5 @@ index b2ff4fa2f87..cc5aa2dc57b 100644
//
// 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>
Date: Thu, 2 Feb 2017 14:31:25 -0500
Subject: [PATCH 09/22] Fix arm build paths in the makefile
Date: Tue, 13 Mar 2018 15:20:22 -0400
Subject: [PATCH 12/25] Fix arm build paths in the makefile
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
@ -9,6 +9,7 @@ armv7hl-linux-gnueabi, so we need to munge the arch there to get our arm
path.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
Make.defaults | 4 ++--
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
--
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>
Date: Thu, 2 Feb 2017 15:23:55 -0500
Subject: [PATCH 10/22] Work around -Werror=maybe-uninitialized not being very
Date: Tue, 13 Mar 2018 15:20:23 -0400
Subject: [PATCH 13/25] Work around -Werror=maybe-uninitialized not being very
bright.
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.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
apps/route80h.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@ -27,5 +28,5 @@ index e1f62f06824..5272dd3cd44 100644
uint16_t vendor;
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>
Date: Thu, 2 Feb 2017 15:25:48 -0500
Subject: [PATCH 11/22] Fix a sign error in the debughook example app
Date: Tue, 13 Mar 2018 15:20:24 -0400
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
greater (or equal) to that. Make it an unsigned and choose a better type
for the variable.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
apps/debughook.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@ -35,5 +36,5 @@ index 93cd0cf7eb0..78e4a767b1d 100644
__asm__ __volatile__("pause");
#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>
Date: Wed, 8 Feb 2017 15:28:18 -0500
Subject: [PATCH 12/22] Fix typedef of EFI_PXE_BASE_CODE
Date: Tue, 13 Mar 2018 15:20:25 -0400
Subject: [PATCH 15/25] Fix typedef of EFI_PXE_BASE_CODE
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
@ -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.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
inc/efipxebc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@ -45,5 +46,5 @@ index 035a853a7ef..3760c7cbb78 100644
//
// 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>
Date: Fri, 10 Feb 2017 15:16:42 -0500
Subject: [PATCH 13/22] make clang not complain about -fno-merge-all-constants
Date: Tue, 13 Mar 2018 15:20:26 -0400
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 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
@ -24,5 +28,5 @@ index 6d300fb0f24..a457190aa3a 100755
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>
Date: Fri, 10 Feb 2017 16:14:12 -0500
Subject: [PATCH 14/22] Fix another place clang complains about
Date: Tue, 13 Mar 2018 15:20:27 -0400
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: Nigel Croxon <ncroxon@redhat.com>
---
lib/guid.c | 2 +-
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>
Date: Mon, 31 Jul 2017 15:01:02 -0400
Subject: [PATCH 15/22] gnu-efi: add some more common string functions.
Date: Tue, 13 Mar 2018 15:20:28 -0400
Subject: [PATCH 18/25] gnu-efi: add some more common string functions.
This adds bounded string helper functions:
@ -13,6 +13,7 @@ StpnCpy()
And the unbounded function StpCpy().
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
lib/runtime/rtstr.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++--
lib/str.c | 53 ++++++++++++++++++++++++++++++
@ -340,5 +341,5 @@ index c073ead97a7..49d0b4d3ae0 100644
RUNTIMEFUNCTION
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>
Date: Mon, 31 Jul 2017 15:03:26 -0400
Subject: [PATCH 16/22] Add %D to print device paths
Date: Tue, 13 Mar 2018 15:20:29 -0400
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: Nigel Croxon <ncroxon@redhat.com>
---
lib/print.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
@ -40,5 +43,5 @@ index ed79c43825b..35e43c03db5 100644
FloatToString (
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>
Date: Fri, 22 Sep 2017 12:57:23 -0400
Subject: [PATCH 17/22] Make ARCH overrideable on the command line
Date: Tue, 13 Mar 2018 15:20:30 -0400
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: Nigel Croxon <ncroxon@redhat.com>
---
Make.defaults | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@ -24,5 +27,5 @@ index a457190aa3a..4aa57ac5f7c 100755
# Get ARCH from the compiler if cross compiling
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>
Date: Fri, 22 Sep 2017 15:26:05 -0400
Subject: [PATCH 18/22] apps: Add bltgrid and lfbgrid, and add error checks to
Date: Tue, 13 Mar 2018 15:20:31 -0400
Subject: [PATCH 21/25] apps: Add bltgrid and lfbgrid, and add error checks to
modelist
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.
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
apps/bltgrid.c | 131 +++++++++++++++++++++++++++++++++++++++++++
apps/lfbgrid.c | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@ -442,5 +443,5 @@ index 5fffd4254c8..4e26444c469 100644
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>
Date: Tue, 7 Mar 2017 10:11:19 -0500
Subject: [PATCH 19/22] Nerf -Werror=pragma away
Date: Tue, 13 Mar 2018 15:20:32 -0400
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 ++
1 file changed, 2 insertions(+)
@ -21,5 +25,5 @@ index 4aa57ac5f7c..ed4b60c2423 100755
CFLAGS += -mfixed-range=f32-f127
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>
Date: Tue, 28 Mar 2017 17:59:55 -0400
Subject: [PATCH 21/22] Call ar in deterministic mode.
Date: Tue, 13 Mar 2018 15:20:34 -0400
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
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
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
---
Make.defaults | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@ -67,5 +68,5 @@ index ed4b60c2423..ba743f17893 100755
LDFLAGS += -nostdlib --warn-common --no-undefined --fatal-warnings \
--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>
Date: Mon, 8 Jan 2018 16:50:34 -0500
Subject: [PATCH 22/22] Add debug helper applications
Date: Tue, 13 Mar 2018 15:20:35 -0400
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/unsetdbg.c | 37 +++++++++++++++++++++++++++++++++++++
@ -111,5 +115,5 @@ index 4e26444c469..4e1b69a38c8 100644
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,8 +1,8 @@
Summary: Development Libraries and headers for EFI
Name: gnu-efi
Version: 3.0.7
Version: 3.0.8
%global tarball_version 3.0.6
Release: 1%{?dist}%{?buildid}
Release: 2%{?dist}%{?buildid}
Epoch: 1
Group: Development/System
License: BSD
@ -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
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
Patch0008: 0008-Fix-some-types-gcc-doesn-t-like.patch
Patch0009: 0009-Fix-arm-build-paths-in-the-makefile.patch
Patch0010: 0010-Work-around-Werror-maybe-uninitialized-not-being-ver.patch
Patch0011: 0011-Fix-a-sign-error-in-the-debughook-example-app.patch
Patch0012: 0012-Fix-typedef-of-EFI_PXE_BASE_CODE.patch
Patch0013: 0013-make-clang-not-complain-about-fno-merge-all-constant.patch
Patch0014: 0014-Fix-another-place-clang-complains-about.patch
Patch0015: 0015-gnu-efi-add-some-more-common-string-functions.patch
Patch0016: 0016-Add-D-to-print-device-paths.patch
Patch0017: 0017-Make-ARCH-overrideable-on-the-command-line.patch
Patch0018: 0018-apps-Add-bltgrid-and-lfbgrid-and-add-error-checks-to.patch
Patch0019: 0019-Nerf-Werror-pragma-away.patch
Patch0020: 0020-Make-ia32-use-our-own-div-asm-on-gnu-C-as-well.patch
Patch0021: 0021-Call-ar-in-deterministic-mode.patch
Patch0022: 0022-Add-debug-helper-applications.patch
Patch0008: 0008-Currently-we-have-DivU64x32-on-ia32-but-it-tries-to-.patch
Patch0009: 0009-gnuefi-preserve-.gnu.hash-sections-unbreaks-elilo-on.patch
Patch0010: 0010-gnu-efi-fix-lib-ia64-setjmp.S-IA-64-build-failure.patch
Patch0011: 0011-Fix-some-types-gcc-doesn-t-like.patch
Patch0012: 0012-Fix-arm-build-paths-in-the-makefile.patch
Patch0013: 0013-Work-around-Werror-maybe-uninitialized-not-being-ver.patch
Patch0014: 0014-Fix-a-sign-error-in-the-debughook-example-app.patch
Patch0015: 0015-Fix-typedef-of-EFI_PXE_BASE_CODE.patch
Patch0016: 0016-make-clang-not-complain-about-fno-merge-all-constant.patch
Patch0017: 0017-Fix-another-place-clang-complains-about.patch
Patch0018: 0018-gnu-efi-add-some-more-common-string-functions.patch
Patch0019: 0019-Add-D-to-print-device-paths.patch
Patch0020: 0020-Make-ARCH-overrideable-on-the-command-line.patch
Patch0021: 0021-apps-Add-bltgrid-and-lfbgrid-and-add-error-checks-to.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}
@ -145,10 +148,17 @@ mv ia32/apps/{route80h.efi,modelist.efi} %{buildroot}/boot/efi/EFI/%{efidir}/ia3
%{_includedir}/efi
%files utils
%dir /boot/efi/EFI/%{efidir}/
%attr(0644,root,root) /boot/efi/EFI/%{efidir}/*/*.efi
%dir %attr(0700,root,root) /boot/efi/EFI/%{efidir}/
%dir %attr(0700,root,root) /boot/efi/EFI/%{efidir}/*/
%attr(0700,root,root) /boot/efi/EFI/%{efidir}/*/*.efi
%changelog
* Mon Apr 30 2018 Peter Jones <pjones@redhat.com> - 3.0.8-2
- Fix permissions on /boot/efi/...
* 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
- Update to 3.0.7 (from git) and add some pending patches we need.