diff --git a/zip-3.0-crc-builtin.patch b/zip-3.0-crc-builtin.patch deleted file mode 100644 index 801873b32cebf296b49d4a074036c48cd4de6511..0000000000000000000000000000000000000000 --- a/zip-3.0-crc-builtin.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 6210c2007a430882d234d846d133d5f3799434aa Mon Sep 17 00:00:00 2001 -From: Euler Hanzh <18221254@bjtu.edu.cn> -Date: Mon, 17 May 2021 17:32:51 +0800 -Subject: [PATCH] this patch is created for performance optimization in crc calculation only suitable for openeuler of aarch64 architecture. - The speed of zip software when running can be accelerate by nearly 20% than before. - ---- - zip30/crc32.c | 27 +++++++++++++++++++++++++++ - zip30/crc32.h | 4 ++++ - zip30/unix/Makefile | 13 +++++++++++-- - 3 files changed, 42 insertions(+), 2 deletions(-) - -diff --git a/zip30/crc32.c b/zip30/crc32.c -index 6b2403b..9e26af7 100644 ---- a/zip30/crc32.c -+++ b/zip30/crc32.c -@@ -675,7 +675,32 @@ void free_crc_table() - - #endif /* (IZ_CRC_BE_OPTIMIZ || IZ_CRC_LE_OPTIMIZ) */ - -+#ifdef ARCH_AARCH64 -+u_int32_t crc32(u_int32_t crc,const u_int8_t *p, unsigned int len) -+{ -+ int64_t length = len; -+ -+ while ((length -= sizeof(u_int64_t)) >=0) { -+ __builtin_aarch64_crc32cx(crc, *((u_int64_t *)p)); -+ p += sizeof(u_int64_t); -+ } - -+ if (length & sizeof(u_int32_t)) { -+ __builtin_aarch64_crc32cw(crc, *((u_int32_t *)p)); -+ p += sizeof(u_int32_t); -+ } -+ -+ if (length & sizeof(u_int16_t)) { -+ __builtin_aarch64_crc32ch(crc, *((u_int16_t *)p)); -+ p += sizeof(u_int16_t); -+ } -+ -+ if (length & sizeof(u_int8_t)) -+ __builtin_aarch64_crc32cb(crc, *p); -+ -+ return crc; -+} -+#else - /* ========================================================================= */ - ulg crc32(crc, buf, len) - ulg crc; /* crc shift register */ -@@ -726,6 +751,8 @@ ulg crc32(crc, buf, len) - - return REV_BE(c) ^ 0xffffffffL; /* (instead of ~c for 64-bit machines) */ - } -+#endif /* !ARCH_AARCH64*/ - #endif /* !ASM_CRC */ - #endif /* !CRC_TABLE_ONLY */ - #endif /* !USE_ZLIB */ -diff --git a/zip30/crc32.h b/zip30/crc32.h -index 83af240..6fdaf32 100644 ---- a/zip30/crc32.h -+++ b/zip30/crc32.h -@@ -36,7 +36,11 @@ - # undef IZ_CRC_BE_OPTIMIZ - # endif - #else /* !(USE_ZLIB || CRC_TABLE_ONLY) */ -+# ifdef ARCH_AARCH64 -+ u_int32_t crc32(u_int32_t crc,const u_int8_t *p, unsigned int len); -+# else - ulg crc32 OF((ulg crc, ZCONST uch *buf, extent len)); -+# endif - #endif /* ?(USE_ZLIB || CRC_TABLE_ONLY) */ - - #ifndef CRC_32_TAB -diff --git a/zip30/unix/Makefile b/zip30/unix/Makefile -index abd0c44..065395a 100644 ---- a/zip30/unix/Makefile -+++ b/zip30/unix/Makefile -@@ -37,6 +37,9 @@ CHMOD = chmod - BINFLAGS = 755 - MANFLAGS = 644 - -+ -+TARGET_ARCH = $(shell uname -m) -+ARCH = $(shell getconf LONG_BIT) - # target directories - where to install executables and man pages to - prefix = /usr/local - BINDIR = $(prefix)/bin -@@ -59,6 +62,12 @@ IZ_OUR_BZIP2_DIR = bzip2 - # LFLAGS2 flags after obj file list (libraries, etc) - CFLAGS_NOOPT = -I. -DUNIX $(LOCAL_ZIP) - CFLAGS = -O2 $(CFLAGS_NOOPT) -+ifeq ($(TARGET_ARCH),aarch64) -+CFF = -DARCH=$(ARCH) -march=armv8.1-a -D ARCH_AARCH64 -+else -+CFF = -+endif -+ - LFLAGS1 = - LFLAGS2 = -s - -@@ -80,10 +89,10 @@ ZIP_H = zip.h ziperr.h tailor.h unix/osdep.h - .SUFFIXES: - .SUFFIXES: _.o .o .c .doc .1 - .c_.o: -- $(CC) -c $(CFLAGS) -DUTIL -o $@ $< -+ $(CC) -c $(CFLAGS) -DUTIL $(CFF) -o $@ $< - - .c.o: -- $(CC) -c $(CFLAGS) $< -+ $(CC) -c $(CFLAGS) $(CFF) $< - - .1.doc: - nroff -man $< | col -bx | uniq > $@ --- -2.23.0 \ No newline at end of file diff --git a/zip.spec b/zip.spec index 3e0e2f43921a311d2342dd6ea916aed2446f66b6..07a6cc3daa722ce28b4739f092e9c35c1357397c 100644 --- a/zip.spec +++ b/zip.spec @@ -1,6 +1,6 @@ Name: zip Version: 3.0 -Release: 27 +Release: 28 Summary: A compression and file packaging/archive utility License: Info-ZIP URL: http://www.info-zip.org/Zip.html @@ -18,8 +18,6 @@ Patch6000: CVE-2018-13410.patch Patch9000: openEuler-Cleanup-residual-temporary-file.patch -Patch12000: zip-3.0-crc-builtin.patch - BuildRequires: bzip2-devel gcc Requires: unzip @@ -58,6 +56,9 @@ mkdir -p %{buildroot}%{_mandir}/man1 %{_mandir}/man1/zip* %changelog +* Mon Jun 21 2021 shixuantong - 3.0-28 +- revert zip-3.0-crc-builtin.patch + * May Sun 9 2021 hanzhelii <182212254@bjtu.edu.cn> - 3.0-27 - Add zip-3.0-crc-builtin.patch