X-Loop: help-debbugs@HIDDEN
Subject: bug#79971: `sha256sum` performance regression in OpenSSL v3.6
Resent-From: "Jack O'Connor" <oconnor663@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-coreutils@HIDDEN
Resent-Date: Tue, 09 Dec 2025 05:25:02 +0000
Resent-Message-ID: <handler.79971.B.176525789622480 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79971
X-GNU-PR-Package: coreutils
X-GNU-PR-Keywords:
To: 79971 <at> debbugs.gnu.org
Cc: Samuel Neves <sneves@HIDDEN>
X-Debbugs-Original-To: bug-coreutils@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176525789622480
(code B ref -1); Tue, 09 Dec 2025 05:25:02 +0000
Received: (at submit) by debbugs.gnu.org; 9 Dec 2025 05:24:56 +0000
Received: from localhost ([127.0.0.1]:50914 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vSqDX-0005qT-Dv
for submit <at> debbugs.gnu.org; Tue, 09 Dec 2025 00:24:55 -0500
Received: from lists.gnu.org ([2001:470:142::17]:43034)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <oconnor663@HIDDEN>)
id 1vSjJg-0005aj-Jr
for submit <at> debbugs.gnu.org; Mon, 08 Dec 2025 17:02:49 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <oconnor663@HIDDEN>)
id 1vSjJZ-0002bX-1I
for bug-coreutils@HIDDEN; Mon, 08 Dec 2025 17:02:41 -0500
Received: from mail-qv1-xf32.google.com ([2607:f8b0:4864:20::f32])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <oconnor663@HIDDEN>)
id 1vSjJX-0005yj-4F
for bug-coreutils@HIDDEN; Mon, 08 Dec 2025 17:02:40 -0500
Received: by mail-qv1-xf32.google.com with SMTP id
6a1803df08f44-88242fc32c9so56604566d6.1
for <bug-coreutils@HIDDEN>; Mon, 08 Dec 2025 14:02:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1765231357; x=1765836157; darn=gnu.org;
h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=iAHeYUdxhtXPE+H6oR2rav4+X9vCOaBpnT/FGVf4QAc=;
b=EaubQa1plBpm2keS1hrXX66FCwJi7UYiUGm4+MIg/Rr2j41ygzOT2ysv7F3qvJvqXe
3i5AXXjER652bT0ZyXuH8DiSSyC010AQ4nABi21X/3cF7fp+EdGm2Pp7AEkRGC/Shu5k
J8KAHCW48r5En33M9Hr7jypbE+JVVZKWazCHuH+ODZh+qV6qRCwmjL63F2dQbUFeCEzS
twCVRJT3DE6ZoeYCul6pJLVxeqqU3G9RK2Hm8THwQGMRQLyTV0B2aO34MpB12koPRBY0
C1KMrLiFirNEZUVggnVNo7EjYTCr6A63N8l+eGmOMcVTyAKEpfCZ2PBNMm8pDeVhxp3q
ytTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1765231357; x=1765836157;
h=cc:to:subject:message-id:date:from:mime-version:x-gm-gg
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=iAHeYUdxhtXPE+H6oR2rav4+X9vCOaBpnT/FGVf4QAc=;
b=oNC4jmnDvt2NVBQSvy0VOH4ut26iaoaXEi8SoiMWahnWFSRM101XXgzs68D4mr5ob0
gne2xZS4j+efkv97CGx1urEs1TaSs7ICHQFdf2mPnddWEJ47m0Um1Vr2qL9UPb8sUbMN
3E9l9hkyV3R5ncH+eqegOYIsWdyoOhqPhqBxNnOTB8TjorFMLZApvq+Eh6H6azTGKzqP
tZqLqqJWlVGtvfH72ltUwxQ6sP6C717KTVaHJH49vs1bwgeyYafOlE08baZ1tqW2Uhqc
I5gyLhIpmoDsTbBoRbaz+6o2g16Gfbdg4OHGOniuCvPKRnryfuby1GJwjZ6tkto6gAHI
9zXA==
X-Gm-Message-State: AOJu0YytCcOAiueoZ8kVleUZN3Q8zIlT4wTp/54gie0cfjvJ13WNZUtZ
FSZVdLv29J3JqahVEcf2SUfe7rKntrD3CA6pNLb+qc4zIYv0AT/enN0Ub0eGWp2i3G1YPnCd6XM
+5F8AskfpuqZvGQO7xxWXdgb9zYq8PuLCsn9p05Q=
X-Gm-Gg: ASbGncvGF6puQabLKkcuTqC04sKC5iT+S5ayGNj3cHkhFMOH/8WLR587lu60ad/1nJd
IXu2wmnFRw8TM0xS/2XnVyAD5HHXjmRxdGros3ebOV+eQJH8PQ235lA7WeEcBNorfgx3QU0ES0/
ViihjKzPKCZMFGmXd7rUKSPVPRmmOuJYZjpSss3XUNNtaMDUuRQaQLtjIZHIUybXW8xgjX0VJGG
q51+cfzQP2T5aeNcT+Clzn0/cI3P+UheJgXU8WDcWiA4+H02WFgEuzgtAXosQ492d0VZA==
X-Google-Smtp-Source: AGHT+IF6WLHgTKURYh0Ln9J2XluZEkSzW67cSWBAB5TFTXQ821iLU7td/Tzrz1z2KU4M9Ooqjsl4rVG3Yu63LSbRJS8=
X-Received: by 2002:a05:6214:da7:b0:882:7698:9f2 with SMTP id
6a1803df08f44-8883dbf6ba3mr170716716d6.31.1765231357210; Mon, 08 Dec 2025
14:02:37 -0800 (PST)
MIME-Version: 1.0
From: "Jack O'Connor" <oconnor663@HIDDEN>
Date: Mon, 8 Dec 2025 14:02:10 -0800
X-Gm-Features: AQt7F2qf1YJXyH5s7fXmpBJdicFtATJiMdvLFUXmsq7_Wd1TXI1JDYVHE5KsYrM
Message-ID: <CA+6di1mEt4kTQtO-5d3NeRLUJ3-N+cAwKK+Z6ontNnww6Mytfw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2607:f8b0:4864:20::f32;
envelope-from=oconnor663@HIDDEN; helo=mail-qv1-xf32.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Upgrading OpenSSL from v3.5 to v3.6 causes a ~3x slowdown
for `sha256sum` (~2x for `sha1sum`) on machines that support SHA-NI. It looks
like this was caused by a change in why/how `OPENSSL_cpuid_setup [...]
Content analysis details: (1.2 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (oconnor663[at]gmail.com)
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (oconnor663[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
X-Mailman-Approved-At: Tue, 09 Dec 2025 00:24:53 -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.2 (/)
Upgrading OpenSSL from v3.5 to v3.6 causes a ~3x slowdown for
`sha256sum` (~2x for `sha1sum`) on machines that support SHA-NI. It
looks like this was caused by a change in why/how
`OPENSSL_cpuid_setup` gets called.
I don't know who's "to blame" or what the proper fix will be, but as a
hacky example here's a patch that fixes the performance regression in
`sha256sum` by calling `OpenSSL_add_all_algorithms` early in `main`:
diff --git a/src/cksum.c b/src/cksum.c
index ac3e3f1..c7c20f0 100644
--- a/src/cksum.c
+++ b/src/cksum.c
@@ -52,6 +52,9 @@
#if HASH_ALGO_SHA256 || HASH_ALGO_SHA224 || HASH_ALGO_CKSUM
# include "sha256.h"
#endif
+#if HASH_ALGO_SHA256 && HAVE_OPENSSL_SHA256
+# include <openssl/evp.h>
+#endif
#if HASH_ALGO_SHA512 || HASH_ALGO_SHA384 || HASH_ALGO_CKSUM
# include "sha512.h"
#endif
@@ -1505,6 +1508,10 @@ main (int argc, char **argv)
so that processes running in parallel do not intersperse their output. */
setvbuf (stdout, nullptr, _IOLBF, 0);
+#if HASH_ALGO_SHA256 && HAVE_OPENSSL_SHA256
+ OpenSSL_add_all_algorithms();
+#endif
+
#if HASH_ALGO_SUM
char const *short_opts = "rs";
#elif HASH_ALGO_CKSUM
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: "Jack O'Connor" <oconnor663@HIDDEN> Subject: bug#79971: Acknowledgement (`sha256sum` performance regression in OpenSSL v3.6) Message-ID: <handler.79971.B.176525789622480.ack <at> debbugs.gnu.org> References: <CA+6di1mEt4kTQtO-5d3NeRLUJ3-N+cAwKK+Z6ontNnww6Mytfw@HIDDEN> X-Gnu-PR-Message: ack 79971 X-Gnu-PR-Package: coreutils Reply-To: 79971 <at> debbugs.gnu.org Date: Tue, 09 Dec 2025 05:25:02 +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-coreutils@HIDDEN If you wish to submit further information on this problem, please send it to 79971 <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 79971: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79971 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
Received: (at control) by debbugs.gnu.org; 9 Dec 2025 17:44:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 09 12:44:26 2025 Received: from localhost ([127.0.0.1]:55529 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vT1lB-0001KW-Rh for submit <at> debbugs.gnu.org; Tue, 09 Dec 2025 12:44:26 -0500 Received: from mail.cs.ucla.edu ([131.179.128.66]:57592) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eggert@HIDDEN>) id 1vT1l9-0001KD-N4 for control <at> debbugs.gnu.org; Tue, 09 Dec 2025 12:44:24 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 1C9F33C0149CB for <control <at> debbugs.gnu.org>; Tue, 9 Dec 2025 09:44:18 -0800 (PST) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id 4f_bVR-C-v_b for <control <at> debbugs.gnu.org>; Tue, 9 Dec 2025 09:44:18 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E65E83C0149F4 for <control <at> debbugs.gnu.org>; Tue, 9 Dec 2025 09:44:17 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu E65E83C0149F4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1765302257; bh=jYtIdYoZ/oa9Kpf3+fRODamD4O3XpGROJbpOsL0c/lY=; h=Message-ID:Date:MIME-Version:To:From; b=p4fTNLwj9Rdggy0unsu4VrDfXS5+txudS2gDDLn5ffB2aqbumEYRKxnyXg7vl//zS ZZiEQ1UvFgCjraOmhEsH2btp9hA9gBw/lv5AupGb4bUGXzYPl81BBU02Khj7aUoJAY EjU5uOCbIyvSiBlRs6ftGDBuohKK825bYACVczI7H66JqISDdYdWvhr04Oj100SKBg 3c49Rfa9rEPprnFc2YOqZmXtjLKXjJQJ2Z5gnZFY/L8RF3ZytatD9aRy3KiCR+3M9J 38J165OZYynrIg3SHctlrhSHX07u1VhVIDLIDKGGNVJ2GfTEVGwuX023wwDUKS3ehi Gq0S9XfdgTv9g== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id rqdtwFlpOdlP for <control <at> debbugs.gnu.org>; Tue, 9 Dec 2025 09:44:17 -0800 (PST) Received: from penguin.cs.ucla.edu (47-154-25-30.fdr01.snmn.ca.ip.frontiernet.net [47.154.25.30]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id CD13F3C0149CB for <control <at> debbugs.gnu.org>; Tue, 9 Dec 2025 09:44:17 -0800 (PST) Message-ID: <478dea4b-a899-428f-b0c5-4e9e339b9b26@HIDDEN> Date: Tue, 9 Dec 2025 09:44:17 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: control <at> debbugs.gnu.org From: Paul Eggert <eggert@HIDDEN> Subject: merge 79971 79972 Organization: UCLA Computer Science Department Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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: -1.0 (-) merge 79971 79972
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.