Subject: bug#74927: closed (Re: bug#74927: [PATCH] build: update gnulib, include crc-x86_64 module)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 11 Feb 2025 06:47:02 +0000

Your bug report

#74927: [PATCH] build: update gnulib, include crc-x86_64 module

which was filed against the gzip package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
74927: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74927
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#74927: [PATCH] build: update gnulib, include crc-x86_64 module
From: Paul Eggert <[email-masked]>
To: Sam Russell <[email-masked]>
Cc: [email-masked]
Date: Mon, 10 Feb 2025 22:45:53 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Thanks, I installed the attached somewhat-fancier patches which should 
do the same thing; please see what you think. Boldly closing bug#74927.

From 6b65e654a74998705da3aed81d1bbb57f50847eb Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Mon, 10 Feb 2025 22:31:36 -0800
Subject: [PATCH 1/2] gzip: use pclmul if available

Suggested by Sam Russell (Bug#74192).
* bootstrap.conf (gnulib_modules): Depend on crc-x86_64, not just crc.
* NEWS, THANKS, lib/.gitignore, m4/.gitignore:
Update accordingly.
---
 NEWS           | 7 +++++++
 THANKS         | 1 +
 bootstrap.conf | 2 +-
 lib/.gitignore | 5 +++++
 m4/.gitignore  | 1 +
 5 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 417689c..e348355 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,13 @@ GNU gzip NEWS                                    -*- outline -*-
   'gzip -S' now rejects suffixes containing '/'.
   [bug present since the beginning]
 
+** Performance improvements
+
+  gzip now decompresses significantly faster by computing CRCs via a
+  slice by 8 algorithm, and faster yet on x86-64 platforms that
+  support pclmul instructions.
+
+
 * Noteworthy changes in release 1.13 (2023-08-19) [stable]
 
 ** Changes in behavior
diff --git a/THANKS b/THANKS
index a13c893..1ddfd14 100644
--- a/THANKS
+++ b/THANKS
@@ -255,6 +255,7 @@ Kai Uwe Rommel          [email-masked]
 Paul Rubin              [email-masked]
 Wolfgang Rupprecht      [email-masked]
 Rusty Russell		[email-masked]
+Sam Russell		[email-masked]
 Jonathan Ryshpan        [email-masked]
 Paul A Sand             [email-masked]
 Tony Sanders            [email-masked]
diff --git a/bootstrap.conf b/bootstrap.conf
index 894adcc..a14ea4f 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -28,7 +28,7 @@ announce-gen
 assert-h
 calloc-gnu
 close
-crc
+crc-x86_64
 dirname-lgpl
 fclose
 fcntl
diff --git a/lib/.gitignore b/lib/.gitignore
index f76b26d..215ee91 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -14,6 +14,7 @@
 /basename-lgpl.c
 /basename-lgpl.h
 /byteswap.c
+/byteswap.h
 /byteswap.in.h
 /c++defs.h
 /calloc.c
@@ -26,6 +27,9 @@
 /config.h
 /config.hin
 /crc-generate-table.c
+/crc-sliceby8.h
+/crc-x86_64-pclmul.c
+/crc-x86_64.h
 /crc.c
 /crc.h
 /creat-safer.c
@@ -39,6 +43,7 @@
 /dup.c
 /dup2.c
 /endian.c
+/endian.h
 /endian.in.h
 /errno.h
 /errno.in.h
diff --git a/m4/.gitignore b/m4/.gitignore
index 7ed9d29..a2fd3ec 100644
--- a/m4/.gitignore
+++ b/m4/.gitignore
@@ -12,6 +12,7 @@
 /close.m4
 /closedir.m4
 /codeset.m4
+/crc-x86_64.m4
 /crc.m4
 /dirent_h.m4
 /dirfd.m4
-- 
2.45.2

From 0b1448fb14035ad9f18aa3c1d15935912827d571 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Mon, 10 Feb 2025 22:44:45 -0800
Subject: [PATCH 2/2] Fix THANKS typo

---
 THANKS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/THANKS b/THANKS
index 1ddfd14..6373fea 100644
--- a/THANKS
+++ b/THANKS
@@ -255,7 +255,7 @@ Kai Uwe Rommel          [email-masked]
 Paul Rubin              [email-masked]
 Wolfgang Rupprecht      [email-masked]
 Rusty Russell		[email-masked]
-Sam Russell		[email-masked]
+Sam Russell		[email-masked]
 Jonathan Ryshpan        [email-masked]
 Paul A Sand             [email-masked]
 Tony Sanders            [email-masked]
-- 
2.45.2

Subject: [PATCH] build: update gnulib, include crc-x86_64 module
From: Sam Russell <[email-masked]>
To: [email-masked]
Date: Tue, 17 Dec 2024 09:48:04 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

This patch updates gnulib to take the new crc-x86_64 module and enables the
module in bootstrap.conf.

Tested on local AMD64 that the change gives a performance improvement, and
smoketest on cfarm424 that project builds and runs without regression on
non-x86_64 systems.

Cheers
Sam