GNU bug report logs - #79971
`sha256sum` performance regression in OpenSSL v3.6

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: coreutils; Reported by: "Jack O'Connor" <oconnor663@HIDDEN>; merged with #79972; dated Tue, 9 Dec 2025 05:25:02 UTC; Maintainer for coreutils is bug-coreutils@HIDDEN.
Merged 79971 79972. Request was from Paul Eggert <eggert@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 9 Dec 2025 05:24:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 09 00:24:56 2025
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>
Subject: `sha256sum` performance regression in OpenSSL v3.6
To: bug-coreutils@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-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 09 Dec 2025 00:24:53 -0500
Cc: Samuel Neves <sneves@HIDDEN>
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




Acknowledgement sent to "Jack O'Connor" <oconnor663@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-coreutils@HIDDEN. Full text available.
Report forwarded to bug-coreutils@HIDDEN:
bug#79971; Package coreutils. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 9 Dec 2025 18:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.