From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 86BD21F910 for ; Mon, 28 Nov 2022 04:56:17 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.b="kv2RxkkB"; dkim-atps=neutral Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ozWBR-0007oF-Jw; Sun, 27 Nov 2022 23:55:57 -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 ) id 1ozWBP-0007nX-Kv for bug-gnulib@gnu.org; Sun, 27 Nov 2022 23:55:55 -0500 Received: from zimbra.cs.ucla.edu ([131.179.128.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ozWBM-000058-QB for bug-gnulib@gnu.org; Sun, 27 Nov 2022 23:55:55 -0500 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6B3F9160056 for ; Sun, 27 Nov 2022 20:55:50 -0800 (PST) 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 D96yrcXr6NA9; Sun, 27 Nov 2022 20:55:49 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 969C6160048; Sun, 27 Nov 2022 20:55:49 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu 969C6160048 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1669611349; bh=EKpKBlapujJ87qxqoX8xBALGnAuXQVBmS2UFW//WclY=; h=From:To:Subject:Date:Message-Id:MIME-Version: Content-Transfer-Encoding; b=kv2RxkkB+P5GIVBc4oZLocAK57WN9aKOrUuKRoxToINA0vH5cTAFKOyLuDKprX7VD RvQma23lgbdnE/gTHfBTBFcTXTRAR3mQgV4s6XfAN9k3XuiOEW+2OemWgwFiH8QNDQ JGigzIiMB5vxclZH2Uv1kYk3wJLyG+m/ChqNRZeY= 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 fo2hcQ0OB04U; Sun, 27 Nov 2022 20:55:49 -0800 (PST) Received: from localhost.localdomain (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 7156D160043; Sun, 27 Nov 2022 20:55:49 -0800 (PST) From: Paul Eggert To: bug-gnulib@gnu.org Cc: Paul Eggert Subject: [PROPOSED 0/4] memset_explicit patches Date: Sun, 27 Nov 2022 20:55:39 -0800 Message-Id: <20221128045543.1355731-1-eggert@cs.ucla.edu> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=131.179.128.68; envelope-from=eggert@cs.ucla.edu; helo=zimbra.cs.ucla.edu X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Here's a proposed set of patches to add support for C23's memset_explicit function, along with the corresponding fallout in Gnulib. The idea is to prefer memset_explicit, but continue to support explicit_bzero (which is not marked as obsolescent, as it's too soon for that). Comments welcome. Paul Eggert (4): memset_explicit: new module read-file: use memset_explicit explicit_bzero: memset_explicit is standard explicit_bzero: implement via memset_explicit ChangeLog | 29 ++++ MODULES.html.sh | 8 + doc/glibc-functions/explicit_bzero.texi | 4 + doc/gnulib.texi | 2 + doc/posix-functions/memset_explicit.texi | 43 +++++ lib/explicit_bzero.c | 69 ++------ lib/memset_explicit.c | 62 +++++++ lib/read-file.c | 12 +- lib/string.in.h | 17 ++ m4/explicit_bzero.m4 | 7 +- m4/memset_explicit.m4 | 20 +++ m4/string_h.m4 | 6 +- modules/explicit_bzero | 4 +- modules/memset_explicit | 31 ++++ modules/memset_explicit-tests | 14 ++ modules/read-file | 2 +- modules/string | 2 + tests/test-memset_explicit.c | 203 +++++++++++++++++++++++ 18 files changed, 460 insertions(+), 75 deletions(-) create mode 100644 doc/posix-functions/memset_explicit.texi create mode 100644 lib/memset_explicit.c create mode 100644 m4/memset_explicit.m4 create mode 100644 modules/memset_explicit create mode 100644 modules/memset_explicit-tests create mode 100644 tests/test-memset_explicit.c -- 2.37.2