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);
+    }
 }
 
 


Reply via email to