gnu: libgpg-error: Fix building on aarch64-linux.
* gnu/packages/patches/gnupg.scm (libgpg-error)[source]: Add patch. * gnu/packages/patches/libgpg-error-aarch64-logging-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.master
parent
8bc7331091
commit
1bf7ef856b
|
@ -845,6 +845,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \
|
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \
|
||||||
%D%/packages/patches/libgnome-encoding.patch \
|
%D%/packages/patches/libgnome-encoding.patch \
|
||||||
%D%/packages/patches/libgnomeui-utf8.patch \
|
%D%/packages/patches/libgnomeui-utf8.patch \
|
||||||
|
%D%/packages/patches/libgpg-error-aarch64-logging-fix.patch \
|
||||||
%D%/packages/patches/libgxps-CVE-2017-11590.patch \
|
%D%/packages/patches/libgxps-CVE-2017-11590.patch \
|
||||||
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
|
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
|
||||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||||
|
|
|
@ -76,7 +76,8 @@
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0jfsfnh9bxlxiwxws60yah4ybjw2hshmvqp31pri4m4h8ivrbnry"))))
|
"0jfsfnh9bxlxiwxws60yah4ybjw2hshmvqp31pri4m4h8ivrbnry"))
|
||||||
|
(patches (search-patches "libgpg-error-aarch64-logging-fix.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(home-page "https://gnupg.org")
|
(home-page "https://gnupg.org")
|
||||||
(synopsis "Library of error values for GnuPG components")
|
(synopsis "Library of error values for GnuPG components")
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=patch;h=791177de023574223eddf7288eb7c5a0721ac623
|
||||||
|
|
||||||
|
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);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.8.0.rc3
|
||||||
|
|
Reference in New Issue