The build of shells/ksh93 fails on FreeBSD 10/i386 (using clang). Note: there's no such problem on amd64 or earlier versions of FreeBSD. I'd provide my own build log, but here's the official one: http://beefy1.isc.freebsd.org/bulk/10i386-default/latest-per-pkg/ksh93-20120801_1.log (search for "hashalloc.c:154:4") Fix: I tested the following patch on 10.0/amd64, 10.0/i386 and 9.2/amd64, without problems so far. The current alpha version of ksh93/ast-ksh contains a slightly different fix (#ifdefs for platforms with clang and 4-byte-pointers). As my patch is shorter and does not use additional #ifdefs, I prefer it over the "official" solution. I reported this patch to the ast-developers mailing list: http://lists.research.att.com/pipermail/ast-developers/2013q4/003799.html Patch via HTTP: http://burggraben.net/hacks/ksh_fbsd10_i386.gz $ svn status A files/patch-src-lib-libast-hash-hashalloc.c A files/patch-src-lib-libast-string-tokscan.c Regards, Christoph--da1ZYXR0hD4fLe5pdP3fC1MDnlvTjhVh9J1DtADLCOpRMV9g Content-Type: text/plain; name="file.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="file.diff" Index: files/patch-src-lib-libast-hash-hashalloc.c =================================================================== --- files/patch-src-lib-libast-hash-hashalloc.c (revision 0) +++ files/patch-src-lib-libast-hash-hashalloc.c (working copy) @@ -0,0 +1,20 @@ +--- src/lib/libast/hash/hashalloc.c.orig 2013-12-28 22:09:43.000000000 +0100 ++++ src/lib/libast/hash/hashalloc.c 2013-12-28 22:43:14.000000000 +0100 +@@ -49,6 +49,7 @@ + va_list* vp = va; + Hash_region_f region = 0; + void* handle; ++ va_listarg tmpval; + + va_start(ap, ref); + +@@ -151,7 +152,8 @@ + va_copy(*vp, ap); + vp++; + } +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + break; + case 0: + if (vp > va) Index: files/patch-src-lib-libast-string-tokscan.c =================================================================== --- files/patch-src-lib-libast-string-tokscan.c (revision 0) +++ files/patch-src-lib-libast-string-tokscan.c (working copy) @@ -0,0 +1,20 @@ +--- ./src/lib/libast/string/tokscan.c.orig 2013-12-28 22:16:20.000000000 +0100 ++++ ./src/lib/libast/string/tokscan.c 2013-12-28 22:43:28.000000000 +0100 +@@ -188,6 +188,7 @@ + char** p_string; + char* prv_f = 0; + va_list prv_ap; ++ va_listarg tmpval; + + va_start(ap, fmt); + if (!*s || *s == '\n') +@@ -233,7 +234,8 @@ + prv_f = f; + f = va_arg(ap, char*); + va_copy(prv_ap, ap); +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + continue; + case 'c': + p_char = va_arg(ap, char*);
Responsible Changed From-To: freebsd-ports-bugs->sunpoet Over to maintainer (via the GNATS Auto Assign Tool)
Author: sunpoet Date: Fri Feb 28 01:49:19 2014 New Revision: 346423 URL: http://svnweb.freebsd.org/changeset/ports/346423 QAT: https://qat.redports.org/buildarchive/r346423/ Log: - Fix build on i386 PR: ports/185256 Submitted by: Christoph Moench-Tegeder <cmt@burggraben.net> Added: head/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c (contents, props changed) head/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c (contents, props changed) Added: head/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c Fri Feb 28 01:49:19 2014 (r346423) @@ -0,0 +1,20 @@ +--- src/lib/libast/hash/hashalloc.c.orig 2013-12-28 22:09:43.000000000 +0100 ++++ src/lib/libast/hash/hashalloc.c 2013-12-28 22:43:14.000000000 +0100 +@@ -49,6 +49,7 @@ + va_list* vp = va; + Hash_region_f region = 0; + void* handle; ++ va_listarg tmpval; + + va_start(ap, ref); + +@@ -151,7 +152,8 @@ + va_copy(*vp, ap); + vp++; + } +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + break; + case 0: + if (vp > va) Added: head/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c Fri Feb 28 01:49:19 2014 (r346423) @@ -0,0 +1,20 @@ +--- ./src/lib/libast/string/tokscan.c.orig 2013-12-28 22:16:20.000000000 +0100 ++++ ./src/lib/libast/string/tokscan.c 2013-12-28 22:43:28.000000000 +0100 +@@ -188,6 +188,7 @@ + char** p_string; + char* prv_f = 0; + va_list prv_ap; ++ va_listarg tmpval; + + va_start(ap, fmt); + if (!*s || *s == '\n') +@@ -233,7 +234,8 @@ + prv_f = f; + f = va_arg(ap, char*); + va_copy(prv_ap, ap); +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + continue; + case 'c': + p_char = va_arg(ap, char*); _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Committed. Thanks!
Author: sunpoet Date: Sun Mar 2 20:04:52 2014 New Revision: 346795 URL: http://svnweb.freebsd.org/changeset/ports/346795 QAT: https://qat.redports.org/buildarchive/r346795/ Log: MFH: r346423 - Fix build on i386 PR: ports/185256 Submitted by: Christoph Moench-Tegeder <cmt@burggraben.net> Approved by: portmgr (bdrewery, via IRC) Added: branches/2014Q1/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c - copied unchanged from r346423, head/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c branches/2014Q1/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c - copied unchanged from r346423, head/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c Modified: Directory Properties: branches/2014Q1/ (props changed) Copied: branches/2014Q1/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c (from r346423, head/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2014Q1/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c Sun Mar 2 20:04:52 2014 (r346795, copy of r346423, head/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c) @@ -0,0 +1,20 @@ +--- src/lib/libast/hash/hashalloc.c.orig 2013-12-28 22:09:43.000000000 +0100 ++++ src/lib/libast/hash/hashalloc.c 2013-12-28 22:43:14.000000000 +0100 +@@ -49,6 +49,7 @@ + va_list* vp = va; + Hash_region_f region = 0; + void* handle; ++ va_listarg tmpval; + + va_start(ap, ref); + +@@ -151,7 +152,8 @@ + va_copy(*vp, ap); + vp++; + } +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + break; + case 0: + if (vp > va) Copied: branches/2014Q1/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c (from r346423, head/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2014Q1/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c Sun Mar 2 20:04:52 2014 (r346795, copy of r346423, head/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c) @@ -0,0 +1,20 @@ +--- ./src/lib/libast/string/tokscan.c.orig 2013-12-28 22:16:20.000000000 +0100 ++++ ./src/lib/libast/string/tokscan.c 2013-12-28 22:43:28.000000000 +0100 +@@ -188,6 +188,7 @@ + char** p_string; + char* prv_f = 0; + va_list prv_ap; ++ va_listarg tmpval; + + va_start(ap, fmt); + if (!*s || *s == '\n') +@@ -233,7 +234,8 @@ + prv_f = f; + f = va_arg(ap, char*); + va_copy(prv_ap, ap); +- va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++ tmpval = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, tmpval); + continue; + case 'c': + p_char = va_arg(ap, char*); _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"