X-Loop: help-debbugs@HIDDEN
Subject: bug#39831: [PATCH] Using crc instructions instead of crc_32_tab in aarch64.
Resent-From: Yikun Jiang <yikunkero@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gzip@HIDDEN
Resent-Date: Sat, 29 Feb 2020 10:10:01 +0000
Resent-Message-ID: <handler.39831.B.15829709937688 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 39831
X-GNU-PR-Package: gzip
X-GNU-PR-Keywords: patch
To: 39831 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gzip@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.15829709937688
(code B ref -1); Sat, 29 Feb 2020 10:10:01 +0000
Received: (at submit) by debbugs.gnu.org; 29 Feb 2020 10:09:53 +0000
Received: from localhost ([127.0.0.1]:34270 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1j7z4C-0001zu-HR
for submit <at> debbugs.gnu.org; Sat, 29 Feb 2020 05:09:52 -0500
Received: from lists.gnu.org ([209.51.188.17]:44544)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <yikunkero@HIDDEN>) id 1j7yXC-0007FK-FD
for submit <at> debbugs.gnu.org; Sat, 29 Feb 2020 04:35:46 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:43760)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from <yikunkero@HIDDEN>) id 1j7yXA-0000u5-TF
for bug-gzip@HIDDEN; Sat, 29 Feb 2020 04:35:46 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM,
HTML_MESSAGE autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <yikunkero@HIDDEN>) id 1j7yX9-00068q-Bu
for bug-gzip@HIDDEN; Sat, 29 Feb 2020 04:35:44 -0500
Received: from mail-lj1-x243.google.com ([2a00:1450:4864:20::243]:41886)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from <yikunkero@HIDDEN>) id 1j7yX9-000680-0z
for bug-gzip@HIDDEN; Sat, 29 Feb 2020 04:35:43 -0500
Received: by mail-lj1-x243.google.com with SMTP id u26so5945578ljd.8
for <bug-gzip@HIDDEN>; Sat, 29 Feb 2020 01:35:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:from:date:message-id:subject:to;
bh=2SlkeNp4G+YegXwm/5dJum7n72AI5zFob0Ix6Py/Eno=;
b=bM/NNGfaDjGzoXv3VXWt4W7ABRyntfvS508TlYP5j6tZYDEb+e3daXq6TqR1zTbWVv
f2pMIj2/vScAH+EYeNVW+f8/maDT5bye/JfO84GGMSMsrcGIBCcXixVE2y/ZSx2rHw6N
NVoAOTm09AFIBNfdswLOJLRtFprOdYiYiKH9ax2801D11DhHRXd0NJ/3KAN2kNY0ZKbt
GpHPeszGiQR1w07cMTwcHa1k3srrCl9iKg2jrEJhwuk06OqQcUEs/w4PHCnj1mGKESlY
BTBg8NdHbceA6zxOL6/4GU61e8ms0Axnfviw4pCzsvIKr0qUyb524242rSECYo1j3Vfo
Xqig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
bh=2SlkeNp4G+YegXwm/5dJum7n72AI5zFob0Ix6Py/Eno=;
b=XJsb2bqy62YZ42tl3kW38nyytshELZrezxQ3Wxkq42R9wxZo1tcjaTKI/KAZazwXPB
bOY6u+AJs20JDmqK+AQ2+iobJMUl27lfGF9De/KY2eeqiKjOrPwuw35tkDxFYv3ruwQZ
G2zc78vRlBmLUmWDymObxvq3eze/Y1dPC1t04NU8SPY9pG+3Ft8xo+NusCZuy0VZSl+E
d6/iDhBxJnBfTE99T+TEsaaNVfNd8CE2zBx2C249j5C4pXbnhpd7eEnvpISzOA/ipQtF
L8r4P8JfuphnWLs9s2Vz4KhgB6JWgOuUx9vIP2bJlNXcReTBKdW6XAAxqAH2TDnnxxof
zOpw==
X-Gm-Message-State: ANhLgQ2jyADvrq5babaAx5WMKvwdovz66U5hJ2cYiNjqNmGGDfhqcDLf
Hagfv8VMrvTv38jfBn0n8bcBINaE9Dk27Jk+UunKpVCLqwU=
X-Google-Smtp-Source: ADFU+vtfvJ91NIxqSadRiLscY8IeMsaJSlanmfia2WgrD7H5u+g5TRBhdbBKDkmKbqHw/HyNVcZGaHl7MysQFhuZB20=
X-Received: by 2002:a2e:9816:: with SMTP id a22mr296799ljj.24.1582968940325;
Sat, 29 Feb 2020 01:35:40 -0800 (PST)
MIME-Version: 1.0
From: Yikun Jiang <yikunkero@HIDDEN>
Date: Sat, 29 Feb 2020 17:35:29 +0800
Message-ID: <CAArz_dDcZLs0xzLuuxQdWrMW+pX=iBWbw4wz4e=MudKM7-ZU8A@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000060ee50059fb3ad77"
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-Received-From: 2a00:1450:4864:20::243
X-Spam-Score: 0.3 (/)
X-Mailman-Approved-At: Sat, 29 Feb 2020 05:09:52 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)
--00000000000060ee50059fb3ad77
Content-Type: text/plain; charset="UTF-8"
From: Yikun Jiang <yikunkero@HIDDEN>
Implement CRC function using inline assembly instructions
instead of crc_32_tab to improve the performance in aarch64.
---
util.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/util.c b/util.c
index 79fe505..d978c61 100644
--- a/util.c
+++ b/util.c
@@ -32,6 +32,17 @@
#include <dirname.h>
#include <xalloc.h>
+/* ========================================================================
+ * Implement CRC function using inline assembly instructions instead of
+ * crc_32_tab in aarch64.
+ */
+#ifdef __aarch64__
+# define CRC32D(crc, value) __asm__("crc32x %w[c], %w[c],
%x[v]":[c]"+r"(crc):[v]"r"(value))
+# define CRC32W(crc, value) __asm__("crc32w %w[c], %w[c],
%w[v]":[c]"+r"(crc):[v]"r"(value))
+# define CRC32H(crc, value) __asm__("crc32h %w[c], %w[c],
%w[v]":[c]"+r"(crc):[v]"r"(value))
+# define CRC32B(crc, value) __asm__("crc32b %w[c], %w[c],
%w[v]":[c]"+r"(crc):[v]"r"(value))
+#endif
+
#ifndef CHAR_BIT
# define CHAR_BIT 8
#endif
@@ -41,6 +52,7 @@ static int write_buffer (int, voidp, unsigned int);
/* ========================================================================
* Table of CRC-32's of all single-byte values (made by makecrc.c)
*/
+#ifndef __aarch64__
static const ulg crc_32_tab[] = {
0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
@@ -95,6 +107,7 @@ static const ulg crc_32_tab[] = {
0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
0x2d02ef8dL
};
+#endif
/* Shift register contents. */
static ulg crc = 0xffffffffL;
@@ -134,6 +147,42 @@ ulg updcrc(s, n)
{
register ulg c; /* temporary variable */
+#ifdef __aarch64__
+ register const uint8_t *buf1;
+ register const uint16_t *buf2;
+ register const uint32_t *buf4;
+ register const uint64_t *buf8;
+ int64_t length = (int64_t)n;
+ buf8 = (const uint64_t *)(const void *)s;
+
+ if (s == NULL) {
+ c = 0xffffffffL;
+ } else {
+ c = crc;
+ while(length >= sizeof(uint64_t)) {
+ CRC32D(c, *buf8++);
+ length -= sizeof(uint64_t);
+ }
+
+ buf4 = (const uint32_t *)(const void *)buf8;
+ if (length >= sizeof(uint32_t)) {
+ CRC32W(c, *buf4++);
+ length -= sizeof(uint32_t);
+ }
+
+ buf2 = (const uint16_t *)(const void *)buf4;
+ if(length >= sizeof(uint16_t)) {
+ CRC32H(c, *buf2++);
+ length -= sizeof(uint16_t);
+ }
+
+ buf1 = (const uint8_t *)(const void *)buf2;
+ if (length >= sizeof(uint8_t)) {
+ CRC32B(c, *buf1);
+ length -= sizeof(uint8_t);
+ }
+ }
+#else
if (s == NULL) {
c = 0xffffffffL;
} else {
@@ -142,6 +191,7 @@ ulg updcrc(s, n)
c = crc_32_tab[((int)c ^ (*s++)) & 0xff] ^ (c >> 8);
} while (--n);
}
+#endif
crc = c;
return c ^ 0xffffffffL; /* (instead of ~c for 64-bit machines) */
}
--
2.17.1
--00000000000060ee50059fb3ad77
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">From: Yikun Jiang <<a href=3D"mailto:yikunkero@HIDDEN=
m" target=3D"_blank">yikunkero@HIDDEN</a>><br><br>Implement CRC funct=
ion using inline assembly instructions<br>instead of crc_32_tab to improve =
the performance in aarch64.<br>---<br>=C2=A0util.c | 50 +++++++++++++++++++=
+++++++++++++++++++++++++++++++<br>=C2=A01 file changed, 50 insertions(+)<b=
r><br>diff --git a/util.c b/util.c<br>index 79fe505..d978c61 100644<br>--- =
a/util.c<br>+++ b/util.c<br>@@ -32,6 +32,17 @@<br>=C2=A0#include <dirnam=
e.h><br>=C2=A0#include <xalloc.h><br><br>+/* =3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>+ * Implement CRC function=
using inline assembly instructions instead of<br>+ * crc_32_tab in aarch64=
.<br>+ */<br>+#ifdef __aarch64__<br>+#=C2=A0 define CRC32D(crc, value) __as=
m__("crc32x %w[c], %w[c], %x[v]":[c]"+r"(crc):[v]"=
r"(value))<br>+#=C2=A0 define CRC32W(crc, value) __asm__("crc32w =
%w[c], %w[c], %w[v]":[c]"+r"(crc):[v]"r"(value))<b=
r>+#=C2=A0 define CRC32H(crc, value) __asm__("crc32h %w[c], %w[c], %w[=
v]":[c]"+r"(crc):[v]"r"(value))<br>+#=C2=A0 define=
CRC32B(crc, value) __asm__("crc32b %w[c], %w[c], %w[v]":[c]"=
;+r"(crc):[v]"r"(value))<br>+#endif<br>+<br>=C2=A0#ifndef CH=
AR_BIT<br>=C2=A0#=C2=A0 define CHAR_BIT 8<br>=C2=A0#endif<br>@@ -41,6 +52,7=
@@ static int write_buffer (int, voidp, unsigned int);<br>=C2=A0/* =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br>=C2=A0 * Ta=
ble of CRC-32's of all single-byte values (made by makecrc.c)<br>=C2=A0=
*/<br>+#ifndef __aarch64__<br>=C2=A0static const ulg crc_32_tab[] =3D {<br=
>=C2=A0 =C2=A00x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc41=
9L,<br>=C2=A0 =C2=A00x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x7=
9dcb8a4L,<br>@@ -95,6 +107,7 @@ static const ulg crc_32_tab[] =3D {<br>=C2=
=A0 =C2=A00x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,<=
br>=C2=A0 =C2=A00x2d02ef8dL<br>=C2=A0};<br>+#endif<br><br>=C2=A0/* Shift re=
gister contents.=C2=A0 */<br>=C2=A0static ulg crc =3D 0xffffffffL;<br>@@ -1=
34,6 +147,42 @@ ulg updcrc(s, n)<br>=C2=A0{<br>=C2=A0 =C2=A0 =C2=A0register=
ulg c;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* temporary variable */<br><br>+#=
ifdef __aarch64__<br>+=C2=A0 =C2=A0 register const uint8_t=C2=A0 *buf1;<br>=
+=C2=A0 =C2=A0 register const uint16_t *buf2;<br>+=C2=A0 =C2=A0 register co=
nst uint32_t *buf4;<br>+=C2=A0 =C2=A0 register const uint64_t *buf8;<br>+=
=C2=A0 =C2=A0 int64_t length =3D (int64_t)n;<br>+=C2=A0 =C2=A0 buf8 =3D (co=
nst=C2=A0 uint64_t *)(const void *)s;<br>+<br>+=C2=A0 =C2=A0 if (s =3D=3D N=
ULL) {<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 c =3D 0xffffffffL;<br>+=C2=A0 =C2=A0=
} else {<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 c =3D crc;<br>+=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 while(length >=3D sizeof(uint64_t)) {<br>+=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 CRC32D(c, *buf8++);<br>+=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 length -=3D sizeof(uint64_t);<br>+=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 }<br>+<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 buf4 =3D (const uint32_t *)(c=
onst void *)buf8;<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (length >=3D sizeof=
(uint32_t)) {<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CRC32W(c, *buf4=
++);<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 length -=3D sizeof(uint3=
2_t);<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>+<br>+=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 buf2 =3D (const uint16_t *)(const void *)buf4;<br>+=C2=A0 =C2=A0 =C2=A0=
=C2=A0 if(length >=3D sizeof(uint16_t)) {<br>+=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 CRC32H(c, *buf2++);<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 length -=3D sizeof(uint16_t);<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<=
br>+<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 buf1 =3D (const uint8_t *)(const void =
*)buf2;<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (length >=3D sizeof(uint8_t))=
{<br>+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CRC32B(c, *buf1);<br>+=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 length -=3D sizeof(uint8_t);<br>+=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 }<br>+=C2=A0 =C2=A0 }<br>+#else<br>=C2=A0 =C2=A0 =
=C2=A0if (s =3D=3D NULL) {<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0c =3D 0xfff=
fffffL;<br>=C2=A0 =C2=A0 =C2=A0} else {<br>@@ -142,6 +191,7 @@ ulg updcrc(s=
, n)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0c =3D crc_32_tab[((=
int)c ^ (*s++)) & 0xff] ^ (c >> 8);<br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0} while (--n);<br>=C2=A0 =C2=A0 =C2=A0}<br>+#endif<br>=C2=A0 =C2=
=A0 =C2=A0crc =3D c;<br>=C2=A0 =C2=A0 =C2=A0return c ^ 0xffffffffL;=C2=A0 =
=C2=A0 =C2=A0 =C2=A0/* (instead of ~c for 64-bit machines) */<br>=C2=A0}<fo=
nt color=3D"#888888"><br>--<br>2.17.1</font>=C2=A0=C2=A0<br></div>
--00000000000060ee50059fb3ad77--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Yikun Jiang <yikunkero@HIDDEN> Subject: bug#39831: Acknowledgement ([PATCH] Using crc instructions instead of crc_32_tab in aarch64.) Message-ID: <handler.39831.B.15829709937688.ack <at> debbugs.gnu.org> References: <CAArz_dDcZLs0xzLuuxQdWrMW+pX=iBWbw4wz4e=MudKM7-ZU8A@HIDDEN> X-Gnu-PR-Message: ack 39831 X-Gnu-PR-Package: gzip X-Gnu-PR-Keywords: patch Reply-To: 39831 <at> debbugs.gnu.org Date: Sat, 29 Feb 2020 10:10:01 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gzip@HIDDEN If you wish to submit further information on this problem, please send it to 39831 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 39831: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D39831 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
Received: (at control) by debbugs.gnu.org; 5 Apr 2022 01:36:35 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 04 21:36:35 2022 Received: from localhost ([127.0.0.1]:53428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1nbY7X-0004FO-0I for submit <at> debbugs.gnu.org; Mon, 04 Apr 2022 21:36:35 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:46330) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1nbY7U-0004F4-VE for control <at> debbugs.gnu.org; Mon, 04 Apr 2022 21:36:33 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id CB30716009A for <control <at> debbugs.gnu.org>; Mon, 4 Apr 2022 18:36:26 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 5oYvPCcQLN8w for <control <at> debbugs.gnu.org>; Mon, 4 Apr 2022 18:36:26 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 3B52F160130 for <control <at> debbugs.gnu.org>; Mon, 4 Apr 2022 18:36:26 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ZEoBnrxCVF8D for <control <at> debbugs.gnu.org>; Mon, 4 Apr 2022 18:36:26 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 1C87816009A for <control <at> debbugs.gnu.org>; Mon, 4 Apr 2022 18:36:26 -0700 (PDT) Message-ID: <ddb4b521-92e0-48d0-2157-eb6ccb8ca9ac@HIDDEN> Date: Mon, 4 Apr 2022 18:36:25 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Content-Language: en-US To: GNU bug control <control <at> debbugs.gnu.org> From: Paul Eggert <eggert@HIDDEN> Subject: gzip bug report maintenance Organization: UCLA Computer Science Department Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) tags 41535 wontfix tags 39832 wontfix tags 39831 wontfix
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.