Accepting request 253756 from Base:System

Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/253756
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnu-efi?expand=0&rev=22
This commit is contained in:
Dominique Leuenberger 2014-11-11 23:20:45 +00:00 committed by Git OBS Bridge
commit bd17b1cdf8
6 changed files with 232 additions and 7 deletions

View File

@ -0,0 +1,42 @@
From 6c10e225bc759d69af520a551b9d7b37f3ae0a82 Mon Sep 17 00:00:00 2001
From: Nigel Croxon <nigel.croxon@hp.com>
Date: Mon, 25 Aug 2014 08:51:23 -0400
Subject: [PATCH] From: David Decotigny <decot@googlers.com> Date: Thu, 31 Jul
2014 18:19:16 -0700 Subject: [PATCH 5/5] allow to use external stdarg.h
in cases we use gnu-efi together with other libs that define stdarg.h,
break the tie by telling gnu-efi to use that stdarg.h .
Signed-off-by: David Decotigny <decot@googlers.com>
Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
---
gnu-efi-3.0/inc/efistdarg.h | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/gnu-efi-3.0/inc/efistdarg.h b/gnu-efi-3.0/inc/efistdarg.h
index 440f9cd..bb04b31 100644
--- a/gnu-efi-3.0/inc/efistdarg.h
+++ b/gnu-efi-3.0/inc/efistdarg.h
@@ -19,10 +19,15 @@ Revision History
--*/
+#ifndef GNU_EFI_USE_EXTERNAL_STDARG
typedef __builtin_va_list va_list;
-#define va_start(v,l) __builtin_va_start(v,l)
-#define va_end(v) __builtin_va_end(v)
-#define va_arg(v,l) __builtin_va_arg(v,l)
-#define va_copy(d,s) __builtin_va_copy(d,s)
+# define va_start(v,l) __builtin_va_start(v,l)
+# define va_end(v) __builtin_va_end(v)
+# define va_arg(v,l) __builtin_va_arg(v,l)
+# define va_copy(d,s) __builtin_va_copy(d,s)
+#else
+# include <stdarg.h>
+#endif
+
#endif
--
1.8.4.5

113
gnu-efi-build-fix.patch Normal file
View File

@ -0,0 +1,113 @@
From 0a69c42779d1d28aa406fa2c435b180156ee3435 Mon Sep 17 00:00:00 2001
From: Fedora Ninjas <pjones@fedoraproject.org>
Date: Thu, 15 May 2014 21:29:25 -0400
Subject: [PATCH] Try to make this build.
---
Make.defaults
inc/Makefile
2 files changed, 12 insertions(+), 22 deletion(-)
diff -up a/gnuefi/Makefile b/gnuefi/Makefile
--- a/gnuefi/Makefile 2014-05-15 17:15:54.000000000 -0500
+++ b/gnuefi/Makefile 2014-05-19 14:02:29.048732554 -0500
@@ -52,19 +52,6 @@ reloc_aarch64.o: CFLAGS += -fno-jump-tab
TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
-INSTALLTARGETS = $(TARGETS)
-ifneq (,$(findstring FreeBSD,$(OS)))
- ifeq ($(ARCH),x86_64)
- INSTALLTARGETS += elf_$(ARCH)_fbsd_efi.lds
- else
- INSTALLTARGETS += elf_$(ARCH)_efi.lds
- endif
-else
- INSTALLTARGETS += elf_$(ARCH)_efi.lds
-endif
-
-LIBDIRINSTALL = $(INSTALLROOT)/$(LIBDIR)
-
all: $(TARGETS)
libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
@@ -72,14 +59,17 @@ libgnuefi.a: $(patsubst %,libgnuefi.a(%)
clean:
rm -f $(TARGETS) *~ *.o $(OBJS)
-$(LIBDIRINSTALL):
- mkdir -p $@
-
-.SECONDEXPANSION:
-
-$(LIBDIRINSTALL)/%: % | $$(dir $$@)
- $(INSTALL) -m 644 $< $(dir $@)
-
-install: $(addprefix $(LIBDIRINSTALL)/,$(INSTALLTARGETS))
+install:
+ mkdir -p $(INSTALLROOT)/$(LIBDIR)
+ $(INSTALL) -m 644 $(TARGETS) $(INSTALLROOT)/$(LIBDIR)
+ifneq (,$(findstring FreeBSD,$(OS)))
+ ifeq ($(ARCH),x86_64)
+ $(INSTALL) -m 644 elf_$(ARCH)_fbsd_efi.lds $(INSTALLROOT)/$(LIBDIR)
+ else
+ $(INSTALL) -m 644 elf_$(ARCH)_efi.lds $(INSTALLROOT)/$(LIBDIR)
+ endif
+else
+ $(INSTALL) -m 644 elf_$(ARCH)_efi.lds $(INSTALLROOT)/$(LIBDIR)
+endif
include $(SRCDIR)/../Make.rules
diff --git a/inc/Makefile b/inc/Makefile
index 526af22..71fded5 100644
--- a/inc/Makefile
+++ b/inc/Makefile
@@ -8,34 +8,20 @@ TOPDIR = $(SRCDIR)/..
CDIR=$(TOPDIR)/..
-INCDIRINSTALL = $(INSTALLROOT)$(PREFIX)/include/efi
-
-SRCHEADERS = $(wildcard $(SRCDIR)/*.h) \
- $(wildcard $(SRCDIR)/protocol/*.h) \
- $(wildcard $(SRCDIR)/$(ARCH)/*.h)
-ifeq ($(ARCH),ia64)
- SRCHEADERS += $(wildcard $(SRCDIR)/protocol/$(ARCH)/*.h)
-endif
-
-HEADERS = $(patsubst $(SRCDIR)/%,%,$(SRCHEADERS))
-
all:
clean:
- rm -f *~
-
-$(INCDIRINSTALL) \
-$(INCDIRINSTALL)/protocol \
-$(INCDIRINSTALL)/$(ARCH) \
-$(INCDIRINSTALL)/protocol/$(ARCH):
- mkdir -p $@
-
-.SECONDEXPANSION:
-
-$(INCDIRINSTALL)/%.h: %.h | $$(dir $$@)
- $(INSTALL) -m 644 $< $(dir $@)
-
-install: $(addprefix $(INCDIRINSTALL)/,$(HEADERS))
+install:
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+ $(INSTALL) -m 644 *.h $(INSTALLROOT)$(PREFIX)/include/efi
+ $(INSTALL) -m 644 protocol/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol
+ $(INSTALL) -m 644 $(ARCH)/*.h $(INSTALLROOT)$(PREFIX)/include/efi/$(ARCH)
+ifeq ($(ARCH),ia64)
+ mkdir -p $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+ $(INSTALL) -m 644 protocol/ia64/*.h $(INSTALLROOT)$(PREFIX)/include/efi/protocol/ia64
+endif
include $(SRCDIR)/../Make.rules
--
1.8.3.1

View File

@ -1,3 +1,69 @@
-------------------------------------------------------------------
Fri Sep 26 02:41:54 UTC 2014 - glin@suse.com
- Add gnu-efi-allow-external-stdarg.patch to allow the EFI programs
such as shim to use the external stdarg.h
-------------------------------------------------------------------
Mon Sep 22 08:56:19 UTC 2014 - glin@suse.com
- Update to gnu-efi 3.0w
+ Add support for 64-bit ARM (AArch64)
+ Add support for non-PE/COFF capable objcopy
+ Add support for cross compilation
+ Restrict GNU_EFI_USE_MS_ABI GCC version test to x86_64
+ Use Shell protocols to retrieve argc/argv, when available.
+ document format of LoadedImage::LoadOptions data
+ Use OpenProtocol instead of HandleProtocol
+ move cmdline parser to its own file
+ make cmdline parsing a 1st class citizen
+ Avoid buffer overflow while parsing the cmdline args
+ Fix cmdline parser
+ inc/efistdarg.h: Use gcc builtins instead of stdarg.h or
broken stubs
+ always observe EFIAPI calling convention when calling
STO.SetAttribute
+ Add VPoolPrint Function
+ Cleaned up compile warnings
+ a patch for "DevicePathToStr()" to display device path
according to UEFI 2 specification
+ Removed GPL code setjmp_ia32.S, setjmp_ia64.S, setjmp_x86_64.S
+ Remove incumbent GPL 'debian' subdiretory
+ Add support for the simple pointer and absolute pointer
protocols
+ Trying to recurse into subdirectories of object files may lead
to an error if the directory doesn't exist. Even when cleaning
+ Make install used to copy files unconditionnally to their
destination. However, if the destination is used by another
Makefile, it will always see modified files. "install" target
now only updates the files when they need to.
+ Patch GNU-EFI to remove the ELILO code
+ Initialize Status before calling GrowBuffer()
+ These changes allow manually overridden SRCDIR (current source
directory) and TOPDIR (top of source tree) to separate the
build directory from the source tree.
+ fix uninitialized variables warning
+ Implement VSPrint function, prints a formatted unicode string
to a buffer
+ Created lib/argify.c and inc/argify.h containing the function
argify. It contains verbatim copy of the comment at beginning
of file from elilo.
+ The information needed is not really the host architecture as
given by the kernel arch. The information actually needed is
the default target of gcc.
+ The information needed is not really the host architecture as
given by the kernel arch. The information actually needed is
the default target of gcc.
+ Added support for SetVariable to store volatile variable, and
SetNVVariable to store non volatile variable.
+ Atoi needs to have consistent declaration/definition.
+ Be more pedantic when linking, don't allow duplicate symbols,
abort upon first error.
+ Fix compilation on x86_64 without HAVE_USE_MS_ABI
+ Fix typo when disabling mno-mmx
- Add gnu-efi-build-fix.patch to fix Makefile
- Enable AArch64
-------------------------------------------------------------------
Wed Jul 17 09:18:03 UTC 2013 - glin@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package gnu-efi
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2014 SUSE LINUX Products 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,17 +17,19 @@
Name: gnu-efi
Version: 3.0u
Version: 3.0w
Release: 0
Summary: Library for EFI Applications
License: BSD-3-Clause and GPL-2.0+
Group: Development/Libraries/Other
Url: http://sourceforge.net/projects/gnu-efi
Source: http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0u.orig.tar.gz
Source: http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0w.orig.tar.gz
Source1: %{name}-rpmlintrc
Patch1: %{name}-build-fix.patch
Patch2: %{name}-allow-external-stdarg.patch
BuildRequires: kernel-source
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: ia64 %ix86 x86_64
ExclusiveArch: ia64 %ix86 x86_64 aarch64
%description
Library to develop EFI applications for IA-64 (IPF), IA-32 (x86) and x86_64
@ -41,6 +43,8 @@ Authors:
%prep
%setup -q -n gnu-efi-3.0
%patch1 -p1
%patch2 -p2
%build
##########################

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c0d450d5829204ca05dcb3b2aae772e52c379b7c7e09146759c6315606f934e
size 159662

3
gnu-efi_3.0w.orig.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d5c5ca168d25bb54ea936a25175d7626778001f788bddc60dbed103874583621
size 172913