Hello community, here is the log from the commit of package libgpg-error for openSUSE:Factory checked in at 2018-03-24 16:09:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libgpg-error (Old) and /work/SRC/openSUSE:Factory/.libgpg-error.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libgpg-error" Sat Mar 24 16:09:07 2018 rev:51 rq:590077 version:1.28 Changes: -------- --- /work/SRC/openSUSE:Factory/libgpg-error/libgpg-error.changes 2018-03-20 21:53:00.673558326 +0100 +++ /work/SRC/openSUSE:Factory/.libgpg-error.new/libgpg-error.changes 2018-03-24 16:09:10.168930466 +0100 @@ -1,0 +2,6 @@ +Thu Mar 22 10:15:51 UTC 2018 - guillaume.gar...@opensuse.org + +- Backport upstream patch to fix AArch64 build: + * fix_aarch64.patch + +------------------------------------------------------------------- New: ---- fix_aarch64.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libgpg-error.spec ++++++ --- /var/tmp/diff_new_pack.finjVA/_old 2018-03-24 16:09:11.556880432 +0100 +++ /var/tmp/diff_new_pack.finjVA/_new 2018-03-24 16:09:11.556880432 +0100 @@ -20,7 +20,7 @@ Version: 1.28 Release: 0 Summary: Library That Defines Common Error Values for All GnuPG Components -License: GPL-2.0+ and LGPL-2.1+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ Url: http://www.gnupg.org/ Source: ftp://ftp.gnupg.org/gcrypt/libgpg-error/%{name}-%{version}.tar.bz2 @@ -28,6 +28,8 @@ # 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 @@ -38,7 +40,7 @@ %package -n libgpg-error0 Summary: Library That Defines Common Error Values for All GnuPG Components # -License: GPL-2.0+ and LGPL-2.1+ +License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: Development/Libraries/C and C++ Provides: libgpg-error = %{version} Obsoletes: libgpg-error < %{version} @@ -51,7 +53,7 @@ %package devel Summary: Development package for libgpg-error # -License: GPL-2.0+ and LGPL-2.1+ and MIT +License: GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT Group: Development/Libraries/C and C++ Requires: glibc-devel Requires: libgpg-error0 = %{version} @@ -63,6 +65,7 @@ %prep %setup -q -n libgpg-error-%{version} +%patch0 -p1 %build %configure \ ++++++ fix_aarch64.patch ++++++ >From 791177de023574223eddf7288eb7c5a0721ac623 Mon Sep 17 00:00:00 2001 From: Werner Koch <w...@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 <jw...@jwilk.net> Signed-off-by: Werner Koch <w...@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); + } }