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
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user