Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Feb 2023 16:56:00 GMT
From:      Cy Schubert <cy@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 38557f2f4558 - main - shells/ksh*: Permanently fix LLVM15 build
Message-ID:  <202302151656.31FGu0dC017138@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by cy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=38557f2f4558bb032842d36050b7ce7dd1a3bfd3

commit 38557f2f4558bb032842d36050b7ce7dd1a3bfd3
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2023-02-15 15:18:07 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2023-02-15 16:55:03 +0000

    shells/ksh*: Permanently fix LLVM15 build
    
    Fix aso atomics broken by LLVM:
    
    /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c
    /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c:839:10: error: incompatible integer to pointer conversion passing 'uint64_t' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
                    return _aso_casptr((void**)p, o, n);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ./FEATURE/aso:19:66: note: expanded from macro '_aso_casptr'
                                                                          ^~~~~~~~~~~
    /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/src/lib/libast/aso/aso.c:839:10: error: incompatible integer to pointer conversion passing 'uint64_t' (aka 'unsigned long') to parameter of type 'void *' [-Wint-conversion]
                    return _aso_casptr((void**)p, o, n);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ./FEATURE/aso:19:78: note: expanded from macro '_aso_casptr'
                                                                                      ^~~~~~~~~~~
    2 errors generated.
    mamake [lib/libast]: *** exit code 1 making aso.o
    mamake: *** exit code 1 making lib/libast
    mamake: *** exit code 1 making all
    package: creating flat view
    package: make failed at Fri Feb 10 06:00:01 UTC 2023 in /wrkdirs/usr/ports/shells/ksh/work/ksh-1.0.4/arch/freebsd14.amd64-64
    *** Error code 1
---
 shells/ksh-devel/Makefile                             |  2 +-
 shells/ksh-devel/files/patch-src_lib_libast_aso_aso.c | 11 +++++++++++
 shells/ksh/Makefile                                   |  2 +-
 shells/ksh/files/patch-src_lib_libast_aso_aso.c       | 11 +++++++++++
 4 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/shells/ksh-devel/Makefile b/shells/ksh-devel/Makefile
index 7f2844d1855d..29496a0e319c 100644
--- a/shells/ksh-devel/Makefile
+++ b/shells/ksh-devel/Makefile
@@ -50,7 +50,7 @@ KSH93D_DESC=		Install to ${PREFIX}/bin/ksh93d (development)
 
 CFLAGS+=	-DMAP_TYPE
 LDFLAGS+=	-lm
-MAKE_ENV=	CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses -Wno-int-conversion" CFLAGS="${CFLAGS}"
+MAKE_ENV=	CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses" CFLAGS="${CFLAGS}"
 
 STATIC_MAKE_ENV=	LDFLAGS+=-static
 
diff --git a/shells/ksh-devel/files/patch-src_lib_libast_aso_aso.c b/shells/ksh-devel/files/patch-src_lib_libast_aso_aso.c
new file mode 100644
index 000000000000..6ab5be771f7a
--- /dev/null
+++ b/shells/ksh-devel/files/patch-src_lib_libast_aso_aso.c
@@ -0,0 +1,11 @@
+--- src/lib/libast/aso/aso.c.orig	2023-01-11 01:32:04.000000000 -0800
++++ src/lib/libast/aso/aso.c	2023-02-15 06:41:07.380213000 -0800
+@@ -836,7 +836,7 @@
+ 
+ #if defined(_aso_casptr)
+ 	if (!state.lockf)
+-		return _aso_casptr((void**)p, o, n);
++		return _aso_cas64((void**)p, o, n);
+ #endif
+ 	k = lock(state.data, 0, p);
+ 	if (*(void* volatile*)p == o)
diff --git a/shells/ksh/Makefile b/shells/ksh/Makefile
index e006024685ed..ca0d38165128 100644
--- a/shells/ksh/Makefile
+++ b/shells/ksh/Makefile
@@ -44,7 +44,7 @@ KSH93N_DESC=		Install to ${PREFIX}/bin/ksh93n (new)
 
 CFLAGS+=	-DMAP_TYPE
 LDFLAGS+=	-lm
-MAKE_ENV=	CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses -Wno-int-conversion" CFLAGS="${CFLAGS}"
+MAKE_ENV=	CCFLAGS="-Wno-unused-value -Wno-parentheses -Wno-logical-op-parentheses" CFLAGS="${CFLAGS}"
 
 STATIC_MAKE_ENV=	LDFLAGS+=-static
 
diff --git a/shells/ksh/files/patch-src_lib_libast_aso_aso.c b/shells/ksh/files/patch-src_lib_libast_aso_aso.c
new file mode 100644
index 000000000000..891c022d470e
--- /dev/null
+++ b/shells/ksh/files/patch-src_lib_libast_aso_aso.c
@@ -0,0 +1,11 @@
+--- src/lib/libast/aso/aso.c.orig	2022-10-21 20:05:14.000000000 -0700
++++ src/lib/libast/aso/aso.c	2023-02-15 06:39:08.156515000 -0800
+@@ -836,7 +836,7 @@
+ 
+ #if defined(_aso_casptr)
+ 	if (!state.lockf)
+-		return _aso_casptr((void**)p, o, n);
++		return _aso_cas64((void**)p, o, n);
+ #endif
+ 	k = lock(state.data, 0, p);
+ 	if (*(void* volatile*)p == o)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202302151656.31FGu0dC017138>