On 2023/05/02 21:32:52 +0200, tux0r <[email protected]> wrote:
> zpaqfranz 58.2 fixes (among others) the HWSHA2 flag on OpenBSD/amd64.
`zpaqfranz autotest -hw -all' crashes on i386 from SIGILL (illegal
instruction) in sha256_transform_x86(). Glancing at the code hidden
behind #ifdef HWSHA2 it seems like it tries to support x86 but not
always.
it's also confusing since it claims in some comments that there's no
cpuid check "for performance" but in fact there is a cpuid check used
in some parts... it's a bit of a mess.
I guess that the rufus code (where it crashes on i386) is amd64 only
since it has a leading
RUFUS_ENABLE_GCC_ARCH("ssse3,sse4.1,sha")
i.e.
__attribute__((target ("ssse3,sse4.1,sha")))
on the other hand, the cpuid check seems to work "somehow" and so only
manually specifying -hw leads to a crash. `zpaqfranz autotest -all'
on i386 works fine.
An option would be to enable the HWSHA2 flag on amd64 only and leave
up to the users to specify -hw or not, depending on the machine at
hand.
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/archivers/zpaqfranz/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- Makefile 26 Apr 2023 08:36:39 -0000 1.16
+++ Makefile 3 May 2023 14:35:05 -0000
@@ -4,7 +4,7 @@ COMMENT = journaling archiver for increm
GH_ACCOUNT = fcorbelli
GH_PROJECT = zpaqfranz
-GH_TAGNAME = 58.1
+GH_TAGNAME = 58.2
CATEGORIES = archivers
MAINTAINER = tux0r <[email protected]>
@@ -18,9 +18,14 @@ WANTLIB = ${COMPILER_LIBCXX} c m
USE_WXNEEDED = Yes
+CPPFLAGS += -Dunix
+.if ${MACHINE_ARCH:Mamd64}
+CPPFLAGS += -DHWSHA2
+.endif
+
do-build:
cd ${WRKSRC} && ${SET_ENV} ${MAKE_ENV} \
- ${CXX} ${CXXFLAGS} -Dunix -o zpaqfranz zpaqfranz.cpp -lm -lpthread
+ ${CXX} ${CXXFLAGS} ${CPPFLAGS} -o zpaqfranz zpaqfranz.cpp -lm
-lpthread
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/zpaqfranz ${PREFIX}/bin/
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/archivers/zpaqfranz/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 26 Apr 2023 08:36:39 -0000 1.13
+++ distinfo 3 May 2023 10:29:41 -0000
@@ -1,2 +1,2 @@
-SHA256 (zpaqfranz-58.1.tar.gz) = Gtg2hMIVZsDTmhKm5VfY+A0qGSdJxL/l5MOZ7hbR3hY=
-SIZE (zpaqfranz-58.1.tar.gz) = 5274310
+SHA256 (zpaqfranz-58.2.tar.gz) = e2bJS7Iv8DIFd3wL4OcHR6D3747/m5nisaw4SqSVl38=
+SIZE (zpaqfranz-58.2.tar.gz) = 5284676