aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2021-04-26 15:24:28 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2021-04-26 15:24:28 +0000
commit27ff8d373e4d1ed2e6a049015109d23171e4bc1d (patch)
treec3155ac533e23257541382f2d9b083e046f7d563
parent89f594d34d596b815e06a4643f444824d0f27e67 (diff)
downloadports-27ff8d373e4d1ed2e6a049015109d23171e4bc1d.tar.gz
ports-27ff8d373e4d1ed2e6a049015109d23171e4bc1d.zip
shells/ast-ksh: fix build on powerpc64*
Bring back patches committed as part of r346423 to fix build issue: /wrkdirs/usr/ports/shells/ast-ksh/work/ast-ksh93v/src/lib/libast/hash/hashalloc.c:162:4: error: non-const lvalue reference to type '__builtin_va_list' cannot bind to a temporary of type 'va_list' (aka 'char *') va_copy(ap, va_listval(va_arg(ap, va_listarg))); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/sys/_stdarg.h:49:32: note: expanded from macro 'va_copy' #define va_copy(dest, src) __va_copy(dest, src) ^~~~~~~~~~~~~~~~~~~~ /usr/include/sys/_stdarg.h:47:58: note: expanded from macro '__va_copy' #define __va_copy(dest, src) __builtin_va_copy((dest), (src)) ^~~~~ 1 error generated. PR: 255308 Approved by: saper@saper.info (maintainer)
-rw-r--r--shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c20
-rw-r--r--shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c20
2 files changed, 40 insertions, 0 deletions
diff --git a/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c b/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c
new file mode 100644
index 000000000000..728e727803c4
--- /dev/null
+++ b/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c
@@ -0,0 +1,20 @@
+--- src/lib/libast/hash/hashalloc.c.orig 2021-04-21 15:44:15 UTC
++++ src/lib/libast/hash/hashalloc.c
+@@ -49,6 +49,7 @@ hashalloc(Hash_table_t* ref, ...)
+ va_list* vp = va;
+ Hash_region_f region = 0;
+ void* handle;
++ va_listarg tmpval;
+
+ va_start(ap, ref);
+
+@@ -159,7 +160,8 @@ hashalloc(Hash_table_t* ref, ...)
+ va_copy(ap, np);
+ }
+ #else
+- va_copy(ap, va_listval(va_arg(ap, va_listarg)));
++ tmpval = va_listval(va_arg(ap, va_listarg));
++ va_copy(ap, tmpval);
+ #endif
+ break;
+ case 0:
diff --git a/shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c b/shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c
new file mode 100644
index 000000000000..45ca85c6f644
--- /dev/null
+++ b/shells/ast-ksh/files/patch-src_lib_libast_string_tokscan.c
@@ -0,0 +1,20 @@
+--- src/lib/libast/string/tokscan.c.orig 2021-04-21 15:45:06 UTC
++++ src/lib/libast/string/tokscan.c
+@@ -197,6 +197,7 @@ tokscan(register char* s, char** nxt, const char* fmt,
+ char** p_string;
+ char* prv_f = 0;
+ va_list prv_ap;
++ va_listarg tmpval;
+
+ va_start(ap, fmt);
+ if (!*s || *s == '\n')
+@@ -250,7 +251,8 @@ tokscan(register char* s, char** nxt, const char* fmt,
+ va_copy(ap, np);
+ }
+ #else
+- va_copy(ap, va_listval(va_arg(ap, va_listarg)));
++ tmpval = va_listval(va_arg(ap, va_listarg));
++ va_copy(ap, tmpval);
+ #endif
+ continue;
+ case 'c':