diff --git a/gnu-efi-3.0.3.tar.bz2 b/gnu-efi-3.0.3.tar.bz2 deleted file mode 100644 index 5b0ef6b..0000000 --- a/gnu-efi-3.0.3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c530f21a15fd9c214dd92d29a6caa20fac989289267512020b6da1f5e6f5b4cb -size 142229 diff --git a/gnu-efi-3.0.5.tar.bz2 b/gnu-efi-3.0.5.tar.bz2 new file mode 100644 index 0000000..76af9b5 --- /dev/null +++ b/gnu-efi-3.0.5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd8fcd5914f18fc0e4ba948ab03b00013e528504f529c60739b748f6ef130b22 +size 151844 diff --git a/gnu-efi-add-missing-unions.patch b/gnu-efi-add-missing-unions.patch deleted file mode 100644 index a46ff2b..0000000 --- a/gnu-efi-add-missing-unions.patch +++ /dev/null @@ -1,34 +0,0 @@ -From fbcdcf56e84232421873169ef41d554ba9c67cd8 Mon Sep 17 00:00:00 2001 -From: Nigel Croxon -Date: Wed, 19 Aug 2015 07:28:45 -0400 -Subject: [PATCH] Add the missing URI device path to the unions. - -Signed-off-by: Gary Ching-Pang Lin -SIgned-off-by: Nigel Croxon ---- - inc/efidevp.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/inc/efidevp.h b/inc/efidevp.h -index 38923d9..b20c839 100644 ---- a/inc/efidevp.h -+++ b/inc/efidevp.h -@@ -491,6 +491,7 @@ typedef union { - MAC_ADDR_DEVICE_PATH MacAddr; - IPv4_DEVICE_PATH Ipv4; - IPv6_DEVICE_PATH Ipv6; -+ URI_DEVICE_PATH Uri; - INFINIBAND_DEVICE_PATH InfiniBand; - UART_DEVICE_PATH Uart; - -@@ -525,6 +526,7 @@ typedef union { - MAC_ADDR_DEVICE_PATH *MacAddr; - IPv4_DEVICE_PATH *Ipv4; - IPv6_DEVICE_PATH *Ipv6; -+ URI_DEVICE_PATH *Uri; - INFINIBAND_DEVICE_PATH *InfiniBand; - UART_DEVICE_PATH *Uart; - --- -2.7.1 - diff --git a/gnu-efi-ar-stable-order.patch b/gnu-efi-ar-stable-order.patch new file mode 100644 index 0000000..e7685ab --- /dev/null +++ b/gnu-efi-ar-stable-order.patch @@ -0,0 +1,34 @@ +From 61859152d807ff7f6afabc0bb6072399e6396f8a Mon Sep 17 00:00:00 2001 +From: Nigel Croxon +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 +Signed-off-by: Nigel Croxon +--- + 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 + diff --git a/gnu-efi-fix-switch-warning.patch b/gnu-efi-fix-switch-warning.patch new file mode 100644 index 0000000..6df7e86 --- /dev/null +++ b/gnu-efi-fix-switch-warning.patch @@ -0,0 +1,29 @@ +From 8d8a3b5dfff1b7ee09673ffb6be764f29ede9d60 Mon Sep 17 00:00:00 2001 +From: Nigel Croxon +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 +Signed-off-by: Nigel Croxon +--- + 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 + diff --git a/gnu-efi.changes b/gnu-efi.changes index 9216d53..9e5b9ba 100644 --- a/gnu-efi.changes +++ b/gnu-efi.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Fri Jun 2 01:55:41 UTC 2017 - glin@suse.com + +- Update to gnu-efi 3.0.5 + + Allow gcc to emit warnings for unsafe usage of setjmp/longjmp + + GCC 4.8 (and others) const warnings + + GNU ar warning about deterministic mode + + Add Debugger protocol support + + Add EBC (EFI Byte Code) protocol support + + Add support for PCI Root Bridge I/O protocol + + Add support for some UEFI 2.0 protocols + + Add GUID for SMBIOS 3 entry point structure + + adds definitions to efiprot.h for EFI_EDID_ACTIVE_PROTOCOL, + EFI_EDID_DISCOVERED_PROTOCOL, EFI_EDID_OVERRIDE_PROTOCOL + + Protocol struct/type/define renaming to match spec naming + convention + + Add support for EFI_RNG_PROTOCOL to the library + + Moved LOADED_IMAGE_PROTOCOL definitions into efiprot.h with + other protocol definitions + + Added definitions for EFI HASH PROTOCOL + + Add definitions for EFI_COMPONENT_NAME_PROTOCOL and + EFI_COMPONENT_NAME2_PROTOCOL + + Global GUID for DRIVER_BINDING_PROTOCOL + + Add definitions for EFI_DRIVER_BINDING_PROTOCOL + + make "-Wall -Wextra" work + + make "-Werror=old-style-declaration" work + + Don't pass a pointer-to-(LoadedImage *) as a void ** + + make "-Werror=unused-but-set-variable" work + + make "-Werror=unused-parameter" not fail + + arm: fix linker script for building efi binaries + + ARM/AARCH64: define C99 types explicitly when building against + older standard + + Add ARM .note.gnu.build-id input section to a dedicated output + section + + Replace ARM arithmetic support routines with EDK2 versions + + Relicense ARM and AARCH64 source files as both BSD and GPL + + lib/arm/setjmp.S: Use %function instead of @function + + Add the missing URI device path to the unions +- Add gnu-efi-fix-switch-warning.patch to fix gcc7 warning +- Add gnu-efi-ar-stable-order.patch to keep the object files in a + stable order (bsc#978586) +- Drop upstreamed patch gnu-efi-add-missing-unions.patch + ------------------------------------------------------------------- Fri Feb 26 07:12:02 UTC 2016 - glin@suse.com diff --git a/gnu-efi.spec b/gnu-efi.spec index 49b86bd..2810bb5 100644 --- a/gnu-efi.spec +++ b/gnu-efi.spec @@ -1,7 +1,7 @@ # # spec file for package gnu-efi # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: gnu-efi -Version: 3.0.3 +Version: 3.0.5 Release: 0 Summary: Library for EFI Applications License: BSD-3-Clause and GPL-2.0+ @@ -25,7 +25,8 @@ 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-add-missing-unions.patch +Patch1: gnu-efi-fix-switch-warning.patch +Patch2: gnu-efi-ar-stable-order.patch BuildRequires: kernel-source BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: ia64 %ix86 x86_64 aarch64 %arm @@ -38,6 +39,7 @@ environment. %prep %setup -q %patch1 -p1 +%patch2 -p1 %build ##########################