forked from pool/gnu-efi
Accepting request 641271 from Base:System
OBS-URL: https://build.opensuse.org/request/show/641271 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnu-efi?expand=0&rev=29
This commit is contained in:
commit
ac508311b1
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef130b22
|
||||
size 151844
|
3
gnu-efi-3.0.8.tar.bz2
Normal file
3
gnu-efi-3.0.8.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:76006d8ea8d67bcf72f35d09d43e9ef6a69400d6d5d4bf64baf1ab7434e2b722
|
||||
size 154397
|
@ -1,34 +0,0 @@
|
||||
From 61859152d807ff7f6afabc0bb6072399e6396f8a Mon Sep 17 00:00:00 2001
|
||||
From: Nigel Croxon <ncroxon@redhat.com>
|
||||
Date: Thu, 1 Jun 2017 07:47:37 -0400
|
||||
Subject: [PATCH] This commit inserts the libefi.a objects in a stable order.
|
||||
|
||||
When building libefi.a with "make -jN", the object files in libefi.a
|
||||
will be inserted in a random order. Although it won't hurt the functionality,
|
||||
it could make the EFI image irreproducible and invalidate the detached
|
||||
signature after rebuilding libefi.a without any change in the source
|
||||
code.
|
||||
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
|
||||
---
|
||||
lib/Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/Makefile b/lib/Makefile
|
||||
index a687495..b8d1ce7 100644
|
||||
--- a/lib/Makefile
|
||||
+++ b/lib/Makefile
|
||||
@@ -74,7 +74,8 @@ all: libsubdirs libefi.a
|
||||
libsubdirs:
|
||||
for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
|
||||
|
||||
-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
|
||||
+libefi.a: $(OBJS)
|
||||
+ $(AR) rv -U $@ $^
|
||||
|
||||
clean:
|
||||
rm -f libefi.a *~ $(OBJS) */*.o
|
||||
--
|
||||
2.13.0
|
||||
|
@ -1,16 +0,0 @@
|
||||
--- Make.defaults.orig 2018-03-13 21:33:01.937164183 +0100
|
||||
+++ Make.defaults 2018-03-13 21:35:29.487916123 +0100
|
||||
@@ -75,6 +75,13 @@ ifeq ($(ARCH),amd64)
|
||||
override ARCH := x86_64
|
||||
endif
|
||||
|
||||
+ifeq ($(ARCH),armv6hl)
|
||||
+ override ARCH := arm
|
||||
+endif
|
||||
+ifeq ($(ARCH),armv7hl)
|
||||
+ override ARCH := arm
|
||||
+endif
|
||||
+
|
||||
#
|
||||
# Where to build the package
|
||||
#
|
@ -1,37 +0,0 @@
|
||||
From 97fe9c9eddb753c4e44accc0656822ff6a60bcb9 Mon Sep 17 00:00:00 2001
|
||||
From: Gary Lin <glin@suse.com>
|
||||
Date: Tue, 13 Jun 2017 16:39:17 +0800
|
||||
Subject: [PATCH] Fix EFI_PXE_BASE_CODE declaration
|
||||
|
||||
Declare EFI_PXE_BASE_CODE correctly
|
||||
|
||||
EFI_PXE_BASE_CODE was redefined in the early commit(*) to match the
|
||||
definition in EDK2. However, EFI_PXE_BASE_CODE wasn't declared
|
||||
correctly. Since EFI_PXE_BASE_CODE_PROTOCOL is already an alias of
|
||||
"struct _EFI_PXE_BASE_CODE_PROTOCOL", the additional struct in front of
|
||||
EFI_PXE_BASE_CODE_PROTOCOL actually confused the compiler and caused
|
||||
build fail. Remove the redundant struct to avoid confusion.
|
||||
|
||||
*751cbce3f640c7 Update global protocol GUIDs definitions to match EDK2
|
||||
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
---
|
||||
inc/efipxebc.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/inc/efipxebc.h b/inc/efipxebc.h
|
||||
index 580a6ef..035a853 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 EFI_PXE_BASE_CODE_PROTOCOL EFI_PXE_BASE_CODE;
|
||||
|
||||
//
|
||||
// Call Back Definitions
|
||||
--
|
||||
2.13.1
|
||||
|
151
gnu-efi-fix-strncpy-stpncpy-strncat.patch
Normal file
151
gnu-efi-fix-strncpy-stpncpy-strncat.patch
Normal file
@ -0,0 +1,151 @@
|
||||
From 85f1c797f6935223205159dd108e4871b2e55500 Mon Sep 17 00:00:00 2001
|
||||
From: Pete Batard <pete@akeo.ie>
|
||||
Date: Tue, 24 Apr 2018 13:45:11 +0100
|
||||
Subject: [PATCH 1/4] Fix conversion from 'UINTN' to 'UINT8' warnings
|
||||
|
||||
* MSVC generates two of the following in rtstr.c:
|
||||
warning C4244: 'function': conversion from 'UINTN' to 'UINT8', possible loss of data
|
||||
---
|
||||
lib/runtime/rtstr.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/runtime/rtstr.c b/lib/runtime/rtstr.c
|
||||
index 80ff489..dcc1a2a 100644
|
||||
--- a/lib/runtime/rtstr.c
|
||||
+++ b/lib/runtime/rtstr.c
|
||||
@@ -71,7 +71,7 @@ RtStrnCpy (
|
||||
{
|
||||
UINTN Size = RtStrnLen(Src, Len);
|
||||
if (Size != Len)
|
||||
- RtSetMem(Dest + Len, '\0', (Len - Size) * sizeof(CHAR16));
|
||||
+ RtSetMem(Dest + Len, '\0', (UINT8)((Len - Size) * sizeof(CHAR16)));
|
||||
RtCopyMem(Dest, Src, Size * sizeof(CHAR16));
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ RtStpnCpy (
|
||||
{
|
||||
UINTN Size = RtStrnLen(Src, Len);
|
||||
if (Size != Len)
|
||||
- RtSetMem(Dest + Len, '\0', (Len - Size) * sizeof(CHAR16));
|
||||
+ RtSetMem(Dest + Len, '\0', (UINT8)((Len - Size) * sizeof(CHAR16)));
|
||||
RtCopyMem(Dest, Src, Size * sizeof(CHAR16));
|
||||
return Dest + Size;
|
||||
}
|
||||
--
|
||||
2.19.0
|
||||
|
||||
|
||||
From 4889dc561f905406f3d0a648321589bd47703fdc Mon Sep 17 00:00:00 2001
|
||||
From: Gary Lin <glin@suse.com>
|
||||
Date: Tue, 9 Oct 2018 18:35:21 +0800
|
||||
Subject: [PATCH 2/4] Set '\0' properly in StrnCpy()
|
||||
|
||||
The arguments to SetMem() were wrong. Besides, SetMem() should start at
|
||||
"Dest + Size" since "Size" will be smaller than "Len" if they are not
|
||||
equal.
|
||||
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
---
|
||||
lib/runtime/rtstr.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/runtime/rtstr.c b/lib/runtime/rtstr.c
|
||||
index dcc1a2a..949f938 100644
|
||||
--- a/lib/runtime/rtstr.c
|
||||
+++ b/lib/runtime/rtstr.c
|
||||
@@ -71,7 +71,7 @@ RtStrnCpy (
|
||||
{
|
||||
UINTN Size = RtStrnLen(Src, Len);
|
||||
if (Size != Len)
|
||||
- RtSetMem(Dest + Len, '\0', (UINT8)((Len - Size) * sizeof(CHAR16)));
|
||||
+ RtSetMem(Dest + Size, (Len - Size) * sizeof(CHAR16), '\0');
|
||||
RtCopyMem(Dest, Src, Size * sizeof(CHAR16));
|
||||
}
|
||||
|
||||
--
|
||||
2.19.0
|
||||
|
||||
|
||||
From 38a9921bc39fea25b0ca62d6eb1595bf15d05839 Mon Sep 17 00:00:00 2001
|
||||
From: Gary Lin <glin@suse.com>
|
||||
Date: Thu, 11 Oct 2018 12:02:27 +0800
|
||||
Subject: [PATCH 3/4] Implement StrnCat() without StrnCpy()
|
||||
|
||||
StrnCpy() doesn't guarantee the dest string will be null-terminated, so
|
||||
we shouldn't use StrnCpy().
|
||||
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
---
|
||||
lib/runtime/rtstr.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/runtime/rtstr.c b/lib/runtime/rtstr.c
|
||||
index 949f938..fe65d96 100644
|
||||
--- a/lib/runtime/rtstr.c
|
||||
+++ b/lib/runtime/rtstr.c
|
||||
@@ -126,7 +126,7 @@ RtStrCat (
|
||||
}
|
||||
|
||||
#ifndef __GNUC__
|
||||
-#pragma RUNTIME_CODE(RtStrCat)
|
||||
+#pragma RUNTIME_CODE(RtStrnCat)
|
||||
#endif
|
||||
VOID
|
||||
RUNTIMEFUNCTION
|
||||
@@ -136,7 +136,12 @@ RtStrnCat (
|
||||
IN UINTN Len
|
||||
)
|
||||
{
|
||||
- RtStrnCpy(Dest+StrLen(Dest), Src, Len);
|
||||
+ UINTN DestSize, Size;
|
||||
+
|
||||
+ DestSize = StrLen(Dest);
|
||||
+ Size = RtStrnLen(Src, Len);
|
||||
+ RtCopyMem(Dest + DestSize, Src, Size * sizeof(CHAR16));
|
||||
+ Dest[DestSize + Size] = '\0';
|
||||
}
|
||||
|
||||
#ifndef __GNUC__
|
||||
--
|
||||
2.19.0
|
||||
|
||||
|
||||
From 134587ea094a4974e5773bf228f6436535f50f1a Mon Sep 17 00:00:00 2001
|
||||
From: Gary Lin <glin@suse.com>
|
||||
Date: Thu, 11 Oct 2018 16:10:26 +0800
|
||||
Subject: [PATCH 4/4] Set '\0' properly in StpnCpy()
|
||||
|
||||
The arguments to SetMem() were wrong. Besides, SetMem() should start at
|
||||
"Dest + Size" since "Size" will be smaller than "Len" if they are not
|
||||
equal.
|
||||
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
---
|
||||
lib/runtime/rtstr.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/runtime/rtstr.c b/lib/runtime/rtstr.c
|
||||
index fe65d96..73965ca 100644
|
||||
--- a/lib/runtime/rtstr.c
|
||||
+++ b/lib/runtime/rtstr.c
|
||||
@@ -94,7 +94,7 @@ RtStpCpy (
|
||||
}
|
||||
|
||||
#ifndef __GNUC__
|
||||
-#pragma RUNTIME_CODE(RtStrnCpy)
|
||||
+#pragma RUNTIME_CODE(RtStpnCpy)
|
||||
#endif
|
||||
CHAR16 *
|
||||
RUNTIMEFUNCTION
|
||||
@@ -107,7 +107,7 @@ RtStpnCpy (
|
||||
{
|
||||
UINTN Size = RtStrnLen(Src, Len);
|
||||
if (Size != Len)
|
||||
- RtSetMem(Dest + Len, '\0', (UINT8)((Len - Size) * sizeof(CHAR16)));
|
||||
+ RtSetMem(Dest + Size, (Len - Size) * sizeof(CHAR16), '\0');
|
||||
RtCopyMem(Dest, Src, Size * sizeof(CHAR16));
|
||||
return Dest + Size;
|
||||
}
|
||||
--
|
||||
2.19.0
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 8d8a3b5dfff1b7ee09673ffb6be764f29ede9d60 Mon Sep 17 00:00:00 2001
|
||||
From: Nigel Croxon <ncroxon@redhat.com>
|
||||
Date: Wed, 31 May 2017 06:53:49 -0400
|
||||
Subject: [PATCH] Add the fallthrough attribute to notify gcc7 that it's on
|
||||
purpose.
|
||||
|
||||
Signed-off-by: Gary Lin <glin@suse.com>
|
||||
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
|
||||
---
|
||||
lib/print.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/lib/print.c b/lib/print.c
|
||||
index b8a9d38..ed79c43 100644
|
||||
--- a/lib/print.c
|
||||
+++ b/lib/print.c
|
||||
@@ -1131,6 +1131,9 @@ Returns:
|
||||
case 'X':
|
||||
Item.Width = Item.Long ? 16 : 8;
|
||||
Item.Pad = '0';
|
||||
+#if __GNUC__ >= 7
|
||||
+ __attribute__ ((fallthrough));
|
||||
+#endif
|
||||
case 'x':
|
||||
ValueToHex (
|
||||
Item.Scratch,
|
||||
--
|
||||
2.13.0
|
||||
|
@ -1,3 +1,41 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 11 08:15:40 UTC 2018 - Gary Ching-Pang Lin <glin@suse.com>
|
||||
|
||||
- Add gnu-efi-fix-strncpy-stpncpy-strncat.patch to fix StrnCpy(),
|
||||
StpnCpy(), and StrnCat()
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 5 09:19:44 UTC 2018 - Gary Ching-Pang Lin <glin@suse.com>
|
||||
|
||||
- Update to gnu-efi 3.0.8
|
||||
+ Add debug helper applications
|
||||
+ Call ar in deterministic mode
|
||||
+ Nerf -Werror=pragma away
|
||||
+ Make ARCH overrideable on the command line
|
||||
+ Add %D to print device paths
|
||||
+ gnu-efi: add some more common string functions
|
||||
+ Fix typedef of EFI_PXE_BASE_CODE
|
||||
+ Work around -Werror=maybe-uninitialized not being very bright
|
||||
+ Fix arm build paths in the makefile
|
||||
+ Fix some types gcc doesn't like
|
||||
+ Move memcpy/memset definition to global init.c
|
||||
+ Use ARFLAGS when invoking ar
|
||||
+ Disable AVX instruction set on IA32 and x86_64 platforms
|
||||
+ Declare EFI_PXE_BASE_CODE correctly
|
||||
+ inserts the libefi.a objects in a stable order
|
||||
+ fallthrough attribute to notify gcc7
|
||||
+ x86-64/efibind: sanitize ms-abi cpp conditionals
|
||||
+ Add Exit() library function which calls BS->Exit()
|
||||
+ don't expect non-x86 compilers to compile x86 asm. also remove
|
||||
what looks like garbage inside an #if 0 block
|
||||
+ For compatibility with an upcoming EDK2 feature
|
||||
- Drop upstreamed patches
|
||||
+ gnu-efi-ar-stable-order.patch
|
||||
+ gnu-efi-fix-efi-pxe-base-code.patch
|
||||
+ gnu-efi-fix-switch-warning.patch
|
||||
- Drop gnu-efi-fix-armv6-and-armv7-detection.patch since upstream
|
||||
supports ARM officially
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 13 22:06:59 UTC 2018 - kasimir_@outlook.de
|
||||
|
||||
|
12
gnu-efi.spec
12
gnu-efi.spec
@ -17,18 +17,15 @@
|
||||
|
||||
|
||||
Name: gnu-efi
|
||||
Version: 3.0.5
|
||||
Version: 3.0.8
|
||||
Release: 0
|
||||
Summary: Library for EFI Applications
|
||||
License: BSD-3-Clause and GPL-2.0+
|
||||
License: BSD-3-Clause AND GPL-2.0-or-later
|
||||
Group: Development/Libraries/Other
|
||||
Url: http://sourceforge.net/projects/gnu-efi
|
||||
Source: http://sourceforge.net/projects/gnu-efi/files/gnu-efi-%{version}.tar.bz2
|
||||
Source1: %{name}-rpmlintrc
|
||||
Patch1: gnu-efi-fix-switch-warning.patch
|
||||
Patch2: gnu-efi-ar-stable-order.patch
|
||||
Patch3: gnu-efi-fix-efi-pxe-base-code.patch
|
||||
Patch4: gnu-efi-fix-armv6-and-armv7-detection.patch
|
||||
Patch1: %{name}-fix-strncpy-stpncpy-strncat.patch
|
||||
BuildRequires: kernel-source
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExclusiveArch: ia64 %ix86 x86_64 aarch64 %arm
|
||||
@ -41,9 +38,6 @@ environment.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p0
|
||||
|
||||
%build
|
||||
##########################
|
||||
|
Loading…
Reference in New Issue
Block a user