Dominique Leuenberger 2018-04-16 10:43:35 +00:00 committed by Git OBS Bridge
commit 125e84d602
7 changed files with 22 additions and 64 deletions

View File

@ -1,53 +0,0 @@
From 791177de023574223eddf7288eb7c5a0721ac623 Mon Sep 17 00:00:00 2001
From: Werner Koch <wk@gnupg.org>
Date: Sun, 18 Mar 2018 17:39:43 +0100
Subject: [PATCH] core: Fix regression on arm64 due to invalid use of va_list.
* src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of
NULL.
--
Fix
Suggested-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Werner Koch <wk@gnupg.org>
---
src/logging.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/logging.c b/src/logging.c
index 1a4f620..d01f974 100644
--- a/src/logging.c
+++ b/src/logging.c
@@ -1090,9 +1090,10 @@ _gpgrt_log_flush (void)
/* Print a hexdump of (BUFFER,LENGTH). With FMT passed as NULL print
- * just the raw dump, with FMT being an empty string, print a trailing
- * linefeed, otherwise print an entire debug line with the expanded
- * FMT followed by a possible wrapped hexdump and a final LF. */
+ * just the raw dump (in this case ARG_PTR is not used), with FMT
+ * being an empty string, print a trailing linefeed, otherwise print
+ * an entire debug line with the expanded FMT followed by a possible
+ * wrapped hexdump and a final LF. */
void
_gpgrt_logv_printhex (const void *buffer, size_t length,
const char *fmt, va_list arg_ptr)
@@ -1150,7 +1151,16 @@ _gpgrt_log_printhex (const void *buffer, size_t length,
va_end (arg_ptr);
}
else
- _gpgrt_logv_printhex (buffer, length, NULL, NULL);
+ {
+ /* va_list is not necessary a pointer and thus we can't use NULL
+ * because that would conflict with platforms using a straight
+ * struct for it (e.g. arm64). We use a dummy variable instead;
+ * the static is a simple way zero it out so to not get
+ * complains about uninitialized use. */
+ static va_list dummy_argptr;
+
+ _gpgrt_logv_printhex (buffer, length, NULL, dummy_argptr);
+ }
}

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Wed Apr 11 08:51:39 UTC 2018 - kbabioch@suse.com
- Cleaned up spec file with spec-cleaner
-------------------------------------------------------------------
Wed Apr 11 08:48:50 UTC 2018 - kbabioch@suse.com
- Update to 1.29:
* The yat2m tool is during cross-compile now also installed on the
host platform.
* New option parser and associated functions similar to the one used
by GnuPG.
* New Base-64 encoder.
* Fixes regression in 1.28 for arm64 and w64 builds.
- Dropped fix_aarch64.patch (included upstream now)
-------------------------------------------------------------------
Thu Mar 22 10:15:51 UTC 2018 - guillaume.gardet@opensuse.org

View File

@ -17,7 +17,7 @@
Name: libgpg-error
Version: 1.28
Version: 1.29
Release: 0
Summary: Library That Defines Common Error Values for All GnuPG Components
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@ -28,9 +28,6 @@ Source1: ftp://ftp.gnupg.org/gcrypt/libgpg-error/%{name}-%{version}.tar.b
# http://www.gnupg.org/signature_key.en.html
Source2: %{name}.keyring
Source3: baselibs.conf
# FIX-UPSTREAM: https://github.com/gpg/libgpg-error/commit/791177de023574223eddf7288eb7c5a0721ac623
Patch0: fix_aarch64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This is a library that defines common error values for all GnuPG
@ -65,7 +62,6 @@ Files needed for software development using libgpg-error.
%prep
%setup -q -n libgpg-error-%{version}
%patch0 -p1
%build
%configure \
@ -74,7 +70,7 @@ Files needed for software development using libgpg-error.
make %{?_smp_mflags}
%install
make %{?_smp_mflags} DESTDIR=%{buildroot} install
%make_install
rm %{buildroot}%{_libdir}/libgpg-error.la
# Drop the lisp stuff, it depends on ASDF and CFFI
# which needs to be packaged first
@ -95,11 +91,9 @@ make check %{?_smp_mflags}
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gpgrt.info.gz
%files -n libgpg-error0 -f %{name}.lang
%defattr(-,root,root)
%{_libdir}/libgpg-error*.so.*
%files devel
%defattr(-,root,root)
%doc README NEWS ChangeLog COPYING.LIB COPYING AUTHORS ABOUT-NLS
%{_datadir}/aclocal/gpg-error.m4
%{_datadir}/aclocal/gpgrt.m4