gnu-efi: fix incomplete typedef type
This commit is contained in:
parent
393fa4444f
commit
f49f9272d9
@ -1 +1,2 @@
|
||||
0e3e8057b3c0995e9b19444b95a7a52e efipxebc.h.patch
|
||||
1f719c9c135778aa6b087b89a1cc2423 gnu-efi-3.0.5.tar.bz2
|
||||
|
@ -1,5 +1,6 @@
|
||||
untrusted comment: verify with /etc/ports/opt.pub
|
||||
RWSE3ohX2g5d/f3/QKPdcxQbo+KCAW91V6TCduTHEa34HNvfuYghzgQDLZqvYnvqcY3TNrEPl41/6gYqtAAUOtuYFw9jsqA90Q8=
|
||||
SHA256 (Pkgfile) = 5e8a6a646df64ddf948395a632e4208bd19c22e35f48e0d775cc3076d6865a4e
|
||||
RWSE3ohX2g5d/Ux9f6PpZPdYH9RpcWPafqAEjx4Me0sLCp5GPpovt7uPta46Qau5u0i2r89ztLDx/S9Jl44DSKZR4CbEm8BpNwk=
|
||||
SHA256 (Pkgfile) = 9997380c0cce9dd0fe2cf2b7e2cb5e90884258b8e9c3bd011f116ef6a6d0fef3
|
||||
SHA256 (.footprint) = 4c1713571f194e4363e206df29718fff385f7e4848c3b8a3ce2d88bfc3b07905
|
||||
SHA256 (gnu-efi-3.0.5.tar.bz2) = bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef130b22
|
||||
SHA256 (efipxebc.h.patch) = de1b24cda86aa676ad43fe5ebd2e400533bb8961acc3da17b27815941e4a8fa7
|
||||
|
@ -1,14 +1,16 @@
|
||||
# Description: GNU EFI library
|
||||
# URL: http://gnu-efi.sf.net/
|
||||
# URL: https://sourceforge.net/projects/gnu-efi/
|
||||
# Maintainer: Thomas Penteker, tek at serverop dot de
|
||||
|
||||
name=gnu-efi
|
||||
version=3.0.5
|
||||
release=1
|
||||
source=(http://download.sourceforge.net/${name}/${name}-${version}.tar.bz2)
|
||||
release=2
|
||||
source=(http://download.sourceforge.net/$name/$name-$version.tar.bz2
|
||||
efipxebc.h.patch)
|
||||
|
||||
build() {
|
||||
cd $name-$version
|
||||
patch -p1 -i $SRC/efipxebc.h.patch
|
||||
sed -i "s|/usr/local|$PKG/usr|g" Make.defaults
|
||||
make
|
||||
make install
|
||||
|
48
gnu-efi/efipxebc.h.patch
Normal file
48
gnu-efi/efipxebc.h.patch
Normal file
@ -0,0 +1,48 @@
|
||||
https://github.com/vathpela/gnu-efi/commit/e4ca94374c7ece8ec0100075710af8638e42c203
|
||||
|
||||
From e4ca94374c7ece8ec0100075710af8638e42c203 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Jones <pjones@redhat.com>
|
||||
Date: Wed, 8 Feb 2017 15:28:18 -0500
|
||||
Subject: [PATCH] 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
|
||||
inadvertantly defined things thusly:
|
||||
|
||||
INTERFACE_DECL(_EFI_PXE_BASE_CODE_PROTOCOL);
|
||||
...
|
||||
typedef struct _EFI_PXE_BASE_CODE_PROTOCOL {
|
||||
...
|
||||
} EFI_PXE_BASE_CODE_PROTOCOL;
|
||||
...
|
||||
typedef struct _EFI_PXE_BASE_CODE_PROTOCOL _EFI_PXE_BASE_CODE;
|
||||
typedef struct EFI_PXE_BASE_CODE_PROTOCOL EFI_PXE_BASE_CODE;
|
||||
|
||||
Because EFI_BASE_CODE_PROTOCOL is declared with a typedef, and is
|
||||
therefore in the type namespace rather than the struct namespace, this
|
||||
results in EFI_PXE_BASE_CODE being a forward declaration of an
|
||||
incomplete type. The net result is that code which dereferences any
|
||||
field in the struct, even with the correct names, will not correctly
|
||||
build.
|
||||
|
||||
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>
|
||||
---
|
||||
inc/efipxebc.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/inc/efipxebc.h b/inc/efipxebc.h
|
||||
index 580a6ef..3760c7c 100644
|
||||
--- a/inc/efipxebc.h
|
||||
+++ b/inc/efipxebc.h
|
||||
@@ -419,7 +419,7 @@ typedef struct _EFI_PXE_BASE_CODE_PROTOCOL {
|
||||
// Use 'EFI_PXE_BASE_CODE_PROTOCOL_GUID' instead.
|
||||
|
||||
typedef struct _EFI_PXE_BASE_CODE_PROTOCOL _EFI_PXE_BASE_CODE;
|
||||
-typedef struct EFI_PXE_BASE_CODE_PROTOCOL EFI_PXE_BASE_CODE;
|
||||
+typedef struct _EFI_PXE_BASE_CODE_PROTOCOL EFI_PXE_BASE_CODE;
|
||||
|
||||
//
|
||||
// Call Back Definitions
|
Loading…
x
Reference in New Issue
Block a user