From nobody Sun Apr 9 03:54:07 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvJBR3WyQz43X08; Sun, 9 Apr 2023 03:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvJBR2yVGz47DF; Sun, 9 Apr 2023 03:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EyLhMnEnzT+mj/LgB4zVrQEEnRRQUocqvCa9mFiihN8=; b=bnWbYi3AO/8sBK5A8J0gIiNhrUYZh9Gdl7aj/Mcl2XDmUEAg6FS/uRhAe1/ayM0U9qQtF8 i3NBq27Gd/pWW9I1D2ObUZdYTYgwxVLbm1GQUxSdSuYsvzjVtxCzbcn2XxiHa/0LS0Qmw/ awQ5QTgIhoHc2oG5tSpOE31uqAFTYy8b2LpxmvAg0lr7fZqZIzj8S+4hxZDBnJPaKzP2+n Ifzp0uMT1OBhgiHEMSrPV5y2pF03Q2Et/6KdLbXFtz8EHzoeopK8L5Aw2ofGKVsBqLrXin jsGro9tutIUFCYb35KXvZ58YS0PDrSYuqqHfNBChRsNwkNFCQqf4ya5ESAUAKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012447; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EyLhMnEnzT+mj/LgB4zVrQEEnRRQUocqvCa9mFiihN8=; b=qNB6IVvcAvfAPsHJWQ6JZpzHylEDkFr46fuB2m+uCbDxuszSxiqAG/VoETjsTQlrP1lant D4jFfM079ayzhh0XuQfi6JCGp8Sn8MKDM7bDkAoM1V22tIOpdGby2MzYAFG+kDSCIIanRV dioVYGZc7ZZi/3TOJmF149VI2UhICL0VGF7aGlEeFlQLK2TREV7lXF/EeNoZd/rtEiUyYy xTzOSFFJWzMylMaQWVpeeBXyEL30W3UHfki/RgbTZCOCloyneUvlMIb2XQL1ZVJsnenEHp G3sQxJsL0WWPbL/aj1iK3iteoGnVhtQWXPBGRtEc4I/285SItapvUoePsZAxuQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681012447; a=rsa-sha256; cv=none; b=jxre0NlgcMduGrf0MuFyV3WwmQIKy5/hMOQWh7YXy0Jt5HIuZU6ySrRMf4FrpucpLsHsRc PiAO2Yax7gvKXMJvi19zOqN1FxoqJIB5qQ7YcdIbEFsBmcXmd/8YmURCAIojgzFfl+NRDC xB9ZbVlzvVVB01Eduy6ZO/bu5/YIU7EeTs+MzInVhBAeA3aVLNHP4AlPmTbs+Qe3z5vhWA fyEhY0xUEBQGaO5n93VoV17kYGq/+5jp4+6Weja+uwxVzwsiRICWxbzX17wgAaf4SRwW4/ keuOyKlT4DNh5z/fTrjdS+HR+xfLBpyMSKk242ebVeYvv9gbkiIuCIwB//nzbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvJBR203xzt84; Sun, 9 Apr 2023 03:54:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3393s71w024000; Sun, 9 Apr 2023 03:54:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3393s7Hl023999; Sun, 9 Apr 2023 03:54:07 GMT (envelope-from git) Date: Sun, 9 Apr 2023 03:54:07 GMT Message-Id: <202304090354.3393s7Hl023999@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 264e0365e8d8 - stable/13 - wpa_supplicant/hostapd: Fix uninitialized packet pointer on error List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 264e0365e8d8e491d1205f4b6489efca2d563eed Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=264e0365e8d8e491d1205f4b6489efca2d563eed commit 264e0365e8d8e491d1205f4b6489efca2d563eed Author: Cy Schubert AuthorDate: 2023-04-06 04:07:15 +0000 Commit: Cy Schubert CommitDate: 2023-04-09 03:52:27 +0000 wpa_supplicant/hostapd: Fix uninitialized packet pointer on error The packet pointer (called packet) will remain uninitialized when pcap_next_ex() returns an error. This occurs when the wlan interface is shut down using ifconfig destroy. Adding a NULL assignment to packet duplicates what pcap_next() does. The reason we use pcap_next_ex() in this instance is because with pacp_next() when we receive a null pointer if there was an error or if no packets were read. With pcap_next_ex() we can differentiate between an error and legitimately no packets were received. PR: 270649 Reported by: Robert Morris Fixes: 6e5d01124fd4 (cherry picked from commit 953efa5b200f060564a090ab71b3d7f614a35e3f) --- contrib/wpa/src/l2_packet/l2_packet_freebsd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/wpa/src/l2_packet/l2_packet_freebsd.c b/contrib/wpa/src/l2_packet/l2_packet_freebsd.c index 0461758ff210..7b96bd033c87 100644 --- a/contrib/wpa/src/l2_packet/l2_packet_freebsd.c +++ b/contrib/wpa/src/l2_packet/l2_packet_freebsd.c @@ -85,6 +85,7 @@ static void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx) if (pcap_next_ex(pcap, &hdr, &packet) == -1) { wpa_printf(MSG_ERROR, "Error reading packet, has device disappeared?"); + packet = NULL; eloop_terminate(); } From nobody Sun Apr 9 03:54:08 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvJBS6jmzz43XGR; Sun, 9 Apr 2023 03:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvJBS4QQvz478X; Sun, 9 Apr 2023 03:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EpW1qJA0md7gOzWX5L77ME26GJ9ystDPRtWciUpBfIg=; b=hMNufGefReyQo9p1GTBifH4yAG9qBVc4cw/emlrWm/o7cPZnHHJ8Jla/HXvGxoopt+x5QC sV+av1MfuKy3eAzTIBl+pJKVjmR8w/BqlnrPkXJ6RU3Fdnk2hFK08xQpn2oC5OpIGjGTbc VXBD2CM8U05Fs+KooExnhkZ59Yq5HYiCE9mCEwycEeUUcHScBKFRxrNy8yePiZIYg1RQdc LjGcD8djpKYKP1JFmzIN//IGYmWhDc0YR7z3VLVoBiknaZ+qLLL4LyI/CfbyCTXCSjkUcd YsE70nOiOUKKh/PAo6k0tV5DV1Rdfyy2pyYyBqDT53Fv1lE0xlczS1trDN4lzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EpW1qJA0md7gOzWX5L77ME26GJ9ystDPRtWciUpBfIg=; b=GEM6jcjSJ7wIz3pi4tXNAxSnGZQqUZtH5ykJgz4AlAQXqKxCU24GsKOnnzjoOFOw0tT5qm f0eohDVW1yDTNGcmmEPGuzCd7LMQhzbdxWr5NiVVI7hk6Vpig4sC0Xtq0LTBEc/9zZZwVZ j++oQA40PQ65HX2PL9+L/B/3tAYB2za9yne/Gu/OSDSjbeMXpGqYhsJaXxzuoAuig7nCpI Od9Wwd+OvGj+NymdvDJ/1e7TWbrmIeioNdli9cBdJTNjUD+ZiolqiR1k7GicohkjzwoXcr 52FlYa4VQpMirFk8/vcSw+ZE72cZgfnp3CPBmGJNWuXCJ6vW2Z37GTJd0kZGqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681012448; a=rsa-sha256; cv=none; b=k+rPMTzQR28JgNE98BEP5+UN3DKQ5YF22+HNN8tsObJBAn7XJ2WQ3DvpSn1yHQZWlTLBod h/QcyxMweS/su6QrD8QcrsgyHk0IBrBMbO9b4h7cRNxYIM27MPAT6g75of0GMiM64Ea9le Sw+VAizigXsWvGB/CTwh2x7RUNXVRFc4aVoIVksIF77bt2cZeuREl7ZKHNsFgWgBgd+QMT AFTSnZ4fImampmKVJtBijf3lr+kLXu7EUXSDhjhY3GesXQ099XHAhcLBGu7yUjXa2L90hg ryJtyBmWYTFEiCLbNIX/BdYUg2y+MxBc5OnRkK6cWf+zAdEJRRRaP7MdSXlBcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvJBS2kl2ztMK; Sun, 9 Apr 2023 03:54:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3393s8D0024019; Sun, 9 Apr 2023 03:54:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3393s8Bd024018; Sun, 9 Apr 2023 03:54:08 GMT (envelope-from git) Date: Sun, 9 Apr 2023 03:54:08 GMT Message-Id: <202304090354.3393s8Bd024018@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 2e3c94b70d31 - stable/13 - heimdal: Do not build a redundant source file List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2e3c94b70d31a7e62a69d345510ac00c787eb875 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=2e3c94b70d31a7e62a69d345510ac00c787eb875 commit 2e3c94b70d31a7e62a69d345510ac00c787eb875 Author: Cy Schubert AuthorDate: 2023-04-01 03:43:10 +0000 Commit: Cy Schubert CommitDate: 2023-04-09 03:52:53 +0000 heimdal: Do not build a redundant source file Heimdal's lib/hdb/db3.c is only built if DB3 is enabled, i.e. #if HAVE_DB3. FreeBSD's bdb is DB1. Therefore the entire db3.c file is #ifdef'd out. Let's avoid building a file that results in a useless object file. (cherry picked from commit 7ee18f5aada07f03433504545c1b7bed91cbda82) --- kerberos5/lib/libhdb/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/kerberos5/lib/libhdb/Makefile b/kerberos5/lib/libhdb/Makefile index f39d54d6c2d7..26caf43e5429 100644 --- a/kerberos5/lib/libhdb/Makefile +++ b/kerberos5/lib/libhdb/Makefile @@ -43,7 +43,6 @@ INCS= hdb-protos.h \ SRCS= common.c \ db.c \ - db3.c \ dbinfo.c \ ext.c \ hdb-ldap.c \ From nobody Sun Apr 9 03:54:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvJBc02tPz43Wx3; Sun, 9 Apr 2023 03:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvJBb0Kh5z47d5; Sun, 9 Apr 2023 03:54:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xq66z1jGTN0Uv+DUE7CyCEqDvBT3fM9Px1bokIsiIo8=; b=roaqAePV/WondsI9kpSWiZ2NipaXPPH2TLKuMY/tGAhL39AfM6PRzqkW1H20fzHr0okILn MyQrkMBm0E+yUtsUYn8V0lnTtWzwFhXZvlRCdapFRpr0wXpG1XOOmfrfBcIzvh1TmkkaSL Ukxo4DFCLzX0CM0UFnbAEKv9tXZ2uj2m7ZkUOqeEVfbhUpZJPF3hA9OEpGvjWHbpujegDN l16O/2GSjzps7nAGdEiK/oDya+NGzDo30/YZywyzXEnFjBN9QOYmtfR0nzbDqlJjQlMzbC D4qFE2gPozBwozEXFL+OUxbgiv01rYyMHHrackf8iBVo9RZBDgxzIgX7VzsdKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xq66z1jGTN0Uv+DUE7CyCEqDvBT3fM9Px1bokIsiIo8=; b=oyATFX7bQKB8rFb9Et1tIt8RcZskqNAQ9psN0jotLG4UBDqRNsQdnsWoCUW7Zvlyo8Q+hv RHyUiNfKjd+GDciR7r/DmtWXdEZRFjmybRak2QD62FBlTSvUqcaymvSZZj74U5e1zHZo/e QSJSny6evbnVqE8lPRzds1CSiur6W3VEkCF5yvkAgZ/jlT6tItgORe4GeVosNXlxBkjb0f RokNznGRDR92rFgaoCcJTO38fINm52PcZuWPV/ViL2WpW4afR9pNLZRKgJAkXpt8RauH2/ y924kAJsCFSWKpA+xhY1T8LuPAOb0CiCC7NJ3HO6SbiLTGufqyeFWspqV3FE9A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681012455; a=rsa-sha256; cv=none; b=dheskhVcuc9UrgRXcGHg7FLLd21/cfzLQRQ5GpXLzuNdhtjtSrQTBOEju1pFgrB4dEdVbe sbqRhEaz1OcPQQ3JdLFDLOZI8Ntz4/o5YyZXyYmBdedzrPcyLNqThaoBSoxFx1hIHIXw+m XEb7+UL8F3KgktkuPi7kbGTXU4TL57qMVRRXAhhod+s/mCio4/9A+lJ4BUIXBgfXkmfPra EM95zB8Y2+NsyGmvUDYnNVujioCKvtZpcxyS1F4W1A3aV5LDHx41fb0KpVYf8s0o76UdP4 eJGRcYSd8KIXnB3yDBuOFs2aY98/HOFXzheHmjvngeg2kcYdtsRQVk4hYsDtjQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvJBZ68p2ztML; Sun, 9 Apr 2023 03:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3393sEuM024153; Sun, 9 Apr 2023 03:54:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3393sETv024152; Sun, 9 Apr 2023 03:54:14 GMT (envelope-from git) Date: Sun, 9 Apr 2023 03:54:14 GMT Message-Id: <202304090354.3393sETv024152@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 4a99b854723b - stable/12 - wpa_supplicant/hostapd: Fix uninitialized packet pointer on error List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 4a99b854723bb28817b01eb7bf485a072a02ae5a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=4a99b854723bb28817b01eb7bf485a072a02ae5a commit 4a99b854723bb28817b01eb7bf485a072a02ae5a Author: Cy Schubert AuthorDate: 2023-04-06 04:07:15 +0000 Commit: Cy Schubert CommitDate: 2023-04-09 03:52:35 +0000 wpa_supplicant/hostapd: Fix uninitialized packet pointer on error The packet pointer (called packet) will remain uninitialized when pcap_next_ex() returns an error. This occurs when the wlan interface is shut down using ifconfig destroy. Adding a NULL assignment to packet duplicates what pcap_next() does. The reason we use pcap_next_ex() in this instance is because with pacp_next() when we receive a null pointer if there was an error or if no packets were read. With pcap_next_ex() we can differentiate between an error and legitimately no packets were received. PR: 270649 Reported by: Robert Morris Fixes: 6e5d01124fd4 (cherry picked from commit 953efa5b200f060564a090ab71b3d7f614a35e3f) --- contrib/wpa/src/l2_packet/l2_packet_freebsd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/wpa/src/l2_packet/l2_packet_freebsd.c b/contrib/wpa/src/l2_packet/l2_packet_freebsd.c index 0461758ff210..7b96bd033c87 100644 --- a/contrib/wpa/src/l2_packet/l2_packet_freebsd.c +++ b/contrib/wpa/src/l2_packet/l2_packet_freebsd.c @@ -85,6 +85,7 @@ static void l2_packet_receive(int sock, void *eloop_ctx, void *sock_ctx) if (pcap_next_ex(pcap, &hdr, &packet) == -1) { wpa_printf(MSG_ERROR, "Error reading packet, has device disappeared?"); + packet = NULL; eloop_terminate(); } From nobody Sun Apr 9 03:54:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvJBc4jcdz43Wx5; Sun, 9 Apr 2023 03:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvJBc1N3Mz47nm; Sun, 9 Apr 2023 03:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjtNVViqMZ67le64bvgf23HW5a1XJiAcwLU3qz2JpS0=; b=XJdRnoHSBIGYk+Cxuk1zq+wOL4WPGtgYjKEcNj04dsZRtVBUzQGxVaWdohLEB36vybqG9k z7MDJNPd2sYrCkjGlG4V/XiWrg0c17/r3t6B7XNaR0sDoko5Mv7mvX1Azyf+hsVMsBp9Va AX51wGD0XYO57lh8KniWu5pJubiXEICQE7UErMdfiiMUy+wXzynwhmnNuz49DZRuxqLKKw 0/YYPKJBu4TZ/n1wadKri4pKeiRvGlr0gKXDspIYWZ2CM3eyprQkAsHCv0qFfnBzIQ5qRs km7ZXbGJVorPj8eXoIow9CysyYL0/3UMSdZv3pfew39naYYuYNKLCLqTursZJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681012456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kjtNVViqMZ67le64bvgf23HW5a1XJiAcwLU3qz2JpS0=; b=w8PZOpCity5QpGxapCIsRJMM+7PqCKCmNfm0k1HFzMASP/6gvKrZ+0fbXHxkI8DSFWQAmb 0MTfPn5chYU704kpZi8n/BQBjdrYRVh9lTaHeNH4Qg7ZLj7FHPzlEjomJIxEaZ4WBsXbtO xAX7Gzsvn2YLgdTGJIwSCNJG1btI7cbfv5HUwKXHOQqPLq5iNGLL2Yy3/r/HTpxizlH4/c cnkbQsGKZZ2Ad0Wm3Dw/G1MtIJH+w83FJYEfLzsDLpueDaDimFr2YW6NmnX/YmY9KbNrNj QOgnOuGOlvuBGOgJJERr4xzsQ6WI/+xyijoR8umvKEmybNXLSvlzWWyhWiL5pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681012456; a=rsa-sha256; cv=none; b=kcHUfJi+UJMPwL5ZrCeJEWsypsyilgb6w3hqNVbVO0xN8TmDPvTwGXa72/hqKQO3/iw116 3Pq7jvyxxuzJv0HuU284W+eH+JHVN40FCSfopQx5agUuiKIt1kW1DW6uFK4wbjJnNGltTj a3mWjS7F/FthHpb1hUD9XzLeiiy/U/Cx+bNa5mz0Q78Q4hYiZViAbj/rNKY6CKuXMeY/6Q K/WJsxtvxo2o7rdrU+quteshDi/EcUUBJmRrSdRUwLP14uGuyOV5g6BGNSuUVtQjmlWbC9 fki4IJx16iivFTVKecVo14aPXZc0Q16McD5yXOTiScJjg1XpcPQ6eLil+BJyxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvJBc0FfSzt85; Sun, 9 Apr 2023 03:54:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3393sFY9024174; Sun, 9 Apr 2023 03:54:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3393sFAB024173; Sun, 9 Apr 2023 03:54:15 GMT (envelope-from git) Date: Sun, 9 Apr 2023 03:54:15 GMT Message-Id: <202304090354.3393sFAB024173@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Cy Schubert Subject: git: 6fb835f3b6ea - stable/12 - heimdal: Do not build a redundant source file List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 6fb835f3b6eab2d7906d33c3d177ac327f033901 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=6fb835f3b6eab2d7906d33c3d177ac327f033901 commit 6fb835f3b6eab2d7906d33c3d177ac327f033901 Author: Cy Schubert AuthorDate: 2023-04-01 03:43:10 +0000 Commit: Cy Schubert CommitDate: 2023-04-09 03:53:05 +0000 heimdal: Do not build a redundant source file Heimdal's lib/hdb/db3.c is only built if DB3 is enabled, i.e. #if HAVE_DB3. FreeBSD's bdb is DB1. Therefore the entire db3.c file is #ifdef'd out. Let's avoid building a file that results in a useless object file. (cherry picked from commit 7ee18f5aada07f03433504545c1b7bed91cbda82) --- kerberos5/lib/libhdb/Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/kerberos5/lib/libhdb/Makefile b/kerberos5/lib/libhdb/Makefile index 29ba7d2c58a2..93b27afcff2b 100644 --- a/kerberos5/lib/libhdb/Makefile +++ b/kerberos5/lib/libhdb/Makefile @@ -39,7 +39,6 @@ INCS= hdb-protos.h \ SRCS= common.c \ db.c \ - db3.c \ dbinfo.c \ ext.c \ hdb-ldap.c \ From nobody Sun Apr 9 13:53:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvYTl1PvKz44VJY; Sun, 9 Apr 2023 13:53:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvYTl0YZbz42Dh; Sun, 9 Apr 2023 13:53:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681048395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sjUG3uBGYet/AS+3xv7Y0Rw3nAax7UwgMJO7QuQlpXc=; b=XFSZFrhvjhrlLY5RbNFx69JkonfPTEZRBsxogZDBNn0qKMtr0NNw7QHmxkabDk1K7JcyBN T4ZSA6206R8LUDojkR7hZUEVXh7qPQmKfHsHrV4au6gepPFF8w4dxfOUgh6pe3DbTkBLgD BnvnveqKoOWUmfTu10UBCA3CcI7lprTGQqFvfa3JNZKRk82JJKYrnNKIxV7iu2iBh+t3QF 53XkSxTQ8/mn6Qme4tnJaBZEC7mUeBGBtdDGtSNcNaZstNDvaz9mNf82FXAD2dMVtNWegC nKBdTu9kqNhAvWUYkrkQUXfoS5n5vqzJ7Sv7oamK1rkAFZB9Y0h1iVtqqkx1pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681048395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sjUG3uBGYet/AS+3xv7Y0Rw3nAax7UwgMJO7QuQlpXc=; b=RwIxjBKW1sn0JWWlNHr0JhDvnNPoZCTR9JP80egVtp+mymo2cusRWOBT4F5gCVS2U9wnPi 28YQjzMXAeIb8f8m+HZma59tGA3jjwx2E5vkRKbu0fDXx27gxMxoL0/ymAku2wUxrnpHR7 KbjKqTCX8qKWbwIWCqFRvgAT1gnRCFh6dxhuskcjXhkiGZnHY655IgvJCzHub0qgC4sbUG ZPq/cTKatEU4gUCielvhVxkyXjtTYrOQazVDkdHmFWtzdYYTpJ97VDCyADoBkuv7L2EIgJ Q/uyJWkfKGdcIZiYB7llObIF736G9F1HQs0A3zqWx2JHSTdILo+LmZJhCqZDCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681048395; a=rsa-sha256; cv=none; b=Q5twO0FQXbNOaExLDPNd+jmceOx5UEiGS11fu4eqjIDXBbjqZpRfx5aDVu1lopXIPmRZHD 6HqsIdNxLHm4M7Voxin4j3x5TFjAdSlsVQJYJkwhYFpiknHtLR9osZc8WeUTMFsR43mbMD 20t5rVgLqky1mrXuOJmO8ZCVra0sB4AjUQSCcgp5y+J5cVnR/ChcmatN1tdQvlMwMUYAJh 7zRgk97Nkx39p/4I1JowxmH++UmwruBjRnKWkwNW82ookdE0gx6qpj4FIlWsIFekrige2a WX9VusSEZoIngaXula/3DnNCbrP2OgNU7uXGoOANB2cw6I5pC6bEJMR0O6hNJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvYTk6N3bz19rw; Sun, 9 Apr 2023 13:53:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339DrEQt019409; Sun, 9 Apr 2023 13:53:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339DrEgO019408; Sun, 9 Apr 2023 13:53:14 GMT (envelope-from git) Date: Sun, 9 Apr 2023 13:53:14 GMT Message-Id: <202304091353.339DrEgO019408@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 2ccf6388ba60 - stable/13 - routing: add public rt_is_exportable() version to check if the route can be exported to userland when jailed. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2ccf6388ba60ab8f1acc697a1112d8891102f36f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=2ccf6388ba60ab8f1acc697a1112d8891102f36f commit 2ccf6388ba60ab8f1acc697a1112d8891102f36f Author: Alexander V. Chernikov AuthorDate: 2023-03-26 08:19:56 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-09 13:52:55 +0000 routing: add public rt_is_exportable() version to check if the route can be exported to userland when jailed. Differential Revision: https://reviews.freebsd.org/D39204 MFC after: 2 weeks (cherry picked from commit 2cda6a2fb0d9473a53931dc2b0171af54dd79b04) --- sys/net/route/route_ctl.h | 2 ++ sys/net/route/route_rtentry.c | 24 ++++++++++++++++++++++++ sys/net/rtsock.c | 29 ++++------------------------- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/sys/net/route/route_ctl.h b/sys/net/route/route_ctl.h index e8560e681ddb..b65b64fcdaa0 100644 --- a/sys/net/route/route_ctl.h +++ b/sys/net/route/route_ctl.h @@ -121,6 +121,7 @@ void rib_foreach_table_walk_del(int family, rib_filter_f_t *filter_f, void *arg) struct nhop_object; struct nhgrp_object; +struct ucred; const struct rtentry *rib_lookup_prefix(uint32_t fibnum, int family, const struct sockaddr *dst, const struct sockaddr *netmask, @@ -133,6 +134,7 @@ bool rt_is_host(const struct rtentry *rt); sa_family_t rt_get_family(const struct rtentry *); struct nhop_object *rt_get_raw_nhop(const struct rtentry *rt); void rt_get_rnd(const struct rtentry *rt, struct route_nhop_data *rnd); +bool rt_is_exportable(const struct rtentry *rt, struct ucred *cred); #ifdef INET struct in_addr; void rt_get_inet_prefix_plen(const struct rtentry *rt, struct in_addr *paddr, diff --git a/sys/net/route/route_rtentry.c b/sys/net/route/route_rtentry.c index 64900ae3ae39..7bf624f01540 100644 --- a/sys/net/route/route_rtentry.c +++ b/sys/net/route/route_rtentry.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -198,6 +199,29 @@ rt_get_rnd(const struct rtentry *rt, struct route_nhop_data *rnd) rnd->rnd_weight = rt->rt_weight; } +/* + * If the process in in jail w/o VNET, export only host routes for the + * addresses assigned to the jail. + * Otherwise, allow exporting the entire table. + */ +bool +rt_is_exportable(const struct rtentry *rt, struct ucred *cred) +{ + if (!rt_is_host(rt)) { + /* + * Performance optimisation: only host routes are allowed + * in the jail w/o vnet. + */ + if (jailed_without_vnet(cred)) + return (false); + } else { + if (prison_if(cred, rt_key_const(rt)) != 0) + return (false); + } + + return (true); +} + #ifdef INET /* * Stores IPv4 address and prefix length of @rt inside diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index fc9439602c13..0c6d856ed7ad 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -208,8 +208,6 @@ static int update_rtm_from_rc(struct rt_addrinfo *info, static void send_rtm_reply(struct socket *so, struct rt_msghdr *rtm, struct mbuf *m, sa_family_t saf, u_int fibnum, int rtm_errno); -static bool can_export_rte(struct ucred *td_ucred, bool rt_is_host, - const struct sockaddr *rt_dst); static void rtsock_notify_event(uint32_t fibnum, const struct rib_cmd_info *rc); static void rtsock_ifmsg(struct ifnet *ifp, int if_flags_mask); @@ -1229,11 +1227,8 @@ route_output(struct mbuf *m, struct socket *so, ...) senderr(error); nh = rc.rc_nh_new; - if (!can_export_rte(curthread->td_ucred, - info.rti_info[RTAX_NETMASK] == NULL, - info.rti_info[RTAX_DST])) { + if (!rt_is_exportable(rc.rc_rt, curthread->td_ucred)) senderr(ESRCH); - } break; default: @@ -2273,23 +2268,6 @@ rt_dispatch(struct mbuf *m, sa_family_t saf) netisr_queue(NETISR_ROUTE, m); /* mbuf is free'd on failure. */ } -/* - * Checks if rte can be exported w.r.t jails/vnets. - * - * Returns true if it can, false otherwise. - */ -static bool -can_export_rte(struct ucred *td_ucred, bool rt_is_host, - const struct sockaddr *rt_dst) -{ - - if ((!rt_is_host) ? jailed_without_vnet(td_ucred) - : prison_if(td_ucred, rt_dst) != 0) - return (false); - return (true); -} - - /* * This is used in dumping the kernel table via sysctl(). */ @@ -2301,9 +2279,10 @@ sysctl_dumpentry(struct rtentry *rt, void *vw) NET_EPOCH_ASSERT(); - export_rtaddrs(rt, w->dst, w->mask); - if (!can_export_rte(w->w_req->td->td_ucred, rt_is_host(rt), w->dst)) + if (!rt_is_exportable(rt, w->w_req->td->td_ucred)) return (0); + + export_rtaddrs(rt, w->dst, w->mask); nh = rt_get_raw_nhop(rt); #ifdef ROUTE_MPATH if (NH_IS_NHGRP(nh)) { From nobody Sun Apr 9 13:53:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvYVY3LyQz44VPF; Sun, 9 Apr 2023 13:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvYVY2m0qz43LQ; Sun, 9 Apr 2023 13:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681048437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sItm5jT7Et47IMbgvH/GnbuGMZAjaCvF5GE9c6tyyOk=; b=aqDWAeZfV3eQtNHdjd2wP/YxCYjKHBmEDqqsr6lS+7WMHuDLrXTYI9jMCfdaitjX24+2/M 1Yxmir7UL69Nc7lX2yne7v/mJL8A5ctm3/VsoGAVoD559lYdND7RNhgg1gUZEbT4cVCany oCGVr3VS5f4km4NCfIXjj0Ngqwwk1UHwZJrWMOSFXCSEUTR/vOUayeW82Vp0Ck3WnXpAL6 B4dhNljs6LErAafzPgmLKlRQE8JPXc9ZOmz2ay/hHuISJHjyxFBc8Lzg2/VqO2TlVtG2Jr uzG1dXrhk8CNV9xHBnZNFeYJ7M9nbCWxf3aMVpzjgPvSNNtPthdVLR9TJslUfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681048437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sItm5jT7Et47IMbgvH/GnbuGMZAjaCvF5GE9c6tyyOk=; b=YbYIlydi64GauPBq4MVcHRQW4xs1Oq6dJf6aw4bgpMjOdS+qe982txx8cccaOnpFCPRaVi WiG7cgxpF4xm+G9J+qU2DdL9yPZIaIA5/FlKCvoE1aGVBZsSzYiAoeOaRI8y9YaKtgK7KZ iakzw+OnRgERQ3OK7gkJ3uJO5oL3I7ztGm4Ke4n715tQ9w8fAntBq5yZMqru11YSjayuzH HjZyANBVbO69jRYeKY4WEa0+C87T7gtxl+p7WJx6tr9HLj+w9AUut5tzmX1CWUiKeWdYK5 IqJwZbLNQEJltM4DUdT4EdyOFpHDcP1vbdrTWEy1Cv0I5eF5PAQBv6j9yOeyNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681048437; a=rsa-sha256; cv=none; b=m3O5DPhXL2qbSpbprcKuXIDqOu1HOiw/0eCCyhssvM9mIlDmCu3rEnuZozUWH6OKA9mLWT HQJ+3LGESJ0mLh9qnvGUYV1EZtV3qvjfyIXNiKG2PCpGTDd2cI72euzxqLqtRaHRbefn8P Z665t7Hqom4XQpMBiWaUb4eNMUH9I34QVYUHlVJgsDqzcO6Ycyi5y7/bUM8PJ8jgg1hyCD TUT9A6vy3b2BNfJFbtAiRCCXfbnh7hbdGIKnspXnCSZ0xuyWk5DOaR1W+lCyvMwHSPtd0L EkpgksThavnq4FrFfXhhfohX4+LYIIChBXUR1xIzxzjQu0+jIFyaDM0eS1UN0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvYVY1ltzz19fp; Sun, 9 Apr 2023 13:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339DrvNF019681; Sun, 9 Apr 2023 13:53:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Drv1O019680; Sun, 9 Apr 2023 13:53:57 GMT (envelope-from git) Date: Sun, 9 Apr 2023 13:53:57 GMT Message-Id: <202304091353.339Drv1O019680@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: 6cee6af2064a - stable/13 - netlink: add standrard ifaddr/neigh parsers to snl(3). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6cee6af2064ae0c60221238904dd2c6420845128 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=6cee6af2064ae0c60221238904dd2c6420845128 commit 6cee6af2064ae0c60221238904dd2c6420845128 Author: Alexander V. Chernikov AuthorDate: 2023-03-26 09:04:41 +0000 Commit: Alexander V. Chernikov CommitDate: 2023-04-09 13:53:39 +0000 netlink: add standrard ifaddr/neigh parsers to snl(3). MFC after: 2 weeks (cherry picked from commit 9a11f3dff991bac89afb5f74a476e765abdbd1d1) --- sys/netlink/netlink_snl_route_parsers.h | 57 ++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_snl_route_parsers.h b/sys/netlink/netlink_snl_route_parsers.h index a370f89fb9e3..ba9ead461c80 100644 --- a/sys/netlink/netlink_snl_route_parsers.h +++ b/sys/netlink/netlink_snl_route_parsers.h @@ -198,6 +198,7 @@ struct snl_parsed_link_simple { uint32_t ifi_index; uint32_t ifla_mtu; uint16_t ifi_type; + uint32_t ifi_flags; char *ifla_ifname; }; @@ -210,14 +211,68 @@ static struct snl_attr_parser _nla_p_link_s[] = { static struct snl_field_parser _fp_p_link_s[] = { {.off_in = _IN(ifi_index), .off_out = _OUT(ifi_index), .cb = snl_field_get_uint32 }, {.off_in = _IN(ifi_type), .off_out = _OUT(ifi_type), .cb = snl_field_get_uint16 }, + {.off_in = _IN(ifi_flags), .off_out = _OUT(ifi_flags), .cb = snl_field_get_uint32 }, }; #undef _IN #undef _OUT SNL_DECLARE_PARSER(snl_rtm_link_parser_simple, struct ifinfomsg, _fp_p_link_s, _nla_p_link_s); +struct snl_parsed_neigh { + uint8_t ndm_family; + uint8_t ndm_flags; + uint16_t ndm_state; + uint32_t nda_ifindex; + struct sockaddr *nda_dst; + struct nlattr *nda_lladdr; +}; + +#define _IN(_field) offsetof(struct ndmsg, _field) +#define _OUT(_field) offsetof(struct snl_parsed_neigh, _field) +static struct snl_attr_parser _nla_p_neigh_s[] = { + { .type = NDA_DST, .off = _OUT(nda_dst), .cb = snl_attr_get_ip }, + { .type = NDA_LLADDR , .off = _OUT(nda_lladdr), .cb = snl_attr_get_nla }, + { .type = NDA_IFINDEX, .off = _OUT(nda_ifindex), .cb = snl_attr_get_uint32 }, +}; +static struct snl_field_parser _fp_p_neigh_s[] = { + {.off_in = _IN(ndm_family), .off_out = _OUT(ndm_family), .cb = snl_field_get_uint8 }, + {.off_in = _IN(ndm_flags), .off_out = _OUT(ndm_flags), .cb = snl_field_get_uint8 }, + {.off_in = _IN(ndm_state), .off_out = _OUT(ndm_state), .cb = snl_field_get_uint16 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_rtm_neigh_parser, struct ndmsg, _fp_p_neigh_s, _nla_p_neigh_s); + +struct snl_parsed_addr { + uint8_t ifa_family; + uint8_t ifa_prefixlen; + uint32_t ifa_index; + struct sockaddr *ifa_local; + struct sockaddr *ifa_address; + struct sockaddr *ifa_broadcast; + char *ifa_label; +}; + +#define _IN(_field) offsetof(struct ifaddrmsg, _field) +#define _OUT(_field) offsetof(struct snl_parsed_addr, _field) +static struct snl_attr_parser _nla_p_addr_s[] = { + { .type = IFA_ADDRESS, .off = _OUT(ifa_address), .cb = snl_attr_get_ip }, + { .type = IFA_LOCAL, .off = _OUT(ifa_local), .cb = snl_attr_get_ip }, + { .type = IFA_LABEL, .off = _OUT(ifa_label), .cb = snl_attr_get_string }, + { .type = IFA_BROADCAST, .off = _OUT(ifa_broadcast), .cb = snl_attr_get_ip }, +}; +static struct snl_field_parser _fp_p_addr_s[] = { + {.off_in = _IN(ifa_family), .off_out = _OUT(ifa_family), .cb = snl_field_get_uint8 }, + {.off_in = _IN(ifa_prefixlen), .off_out = _OUT(ifa_prefixlen), .cb = snl_field_get_uint8 }, + {.off_in = _IN(ifa_index), .off_out = _OUT(ifa_index), .cb = snl_field_get_uint32 }, +}; +#undef _IN +#undef _OUT +SNL_DECLARE_PARSER(snl_rtm_addr_parser, struct ifaddrmsg, _fp_p_addr_s, _nla_p_addr_s); + static const struct snl_hdr_parser *snl_all_route_parsers[] = { &_metrics_mp_nh_parser, &_mpath_nh_parser, &_metrics_parser, &snl_rtm_route_parser, - &snl_rtm_link_parser, &snl_rtm_link_parser_simple, + &snl_rtm_link_parser, &snl_rtm_link_parser_simple, &snl_rtm_neigh_parser, + &snl_rtm_addr_parser, }; #endif From nobody Sun Apr 9 14:38:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvZVD04qPz44XpF; Sun, 9 Apr 2023 14:38:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvZVC2L72z4KFv; Sun, 9 Apr 2023 14:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0d4BY3tdunEh7MEfRkOP/FY7d2NYSK/Ch+zcULfSLIo=; b=Wy+S26pR54g3wRgHl9iYEwwPLr+shUhySPQM+jXJoZQ30gp1pvf9hz4/P+ygk1NlvxmQXv ZH9GEcRp0nAQVpL8Yyl613ZBmcKSoeBg+OOtMCyanAhb53VLjO/IB8vk4mvriARA5aLEBA FigVuIe2BeiXzQTEbwwalpIe+1BWSq6SrX4HoFjBVoAtzDLAW6c3BywhVppJLP8JmDfx5M etXWyJQk/8QuGgWgw6qGgVyCbhX3d0vAoa7zQr5VHvvP6/1yM8KLuoEsdwF86v9CMY3qT9 uCcfaRFCQREqt80tcavLEYS0nHqU+j8U22YJdSOuJ1R+BcDIuEaichFoTdtDPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0d4BY3tdunEh7MEfRkOP/FY7d2NYSK/Ch+zcULfSLIo=; b=T4gSAsKCpINYY1EAW6PPVO7QbNq4e35r/lqoMb+BKrlp7iLirxB7p7R5SBIDlsd/1xsKEY arYGu4RbNv0CqlRyBk2KQdcTGHL5XbbB9b2qHFPC9DCKOQrLt1hawgxnQPvldPpPvpeahI RHg6Xf6BQD3wmQ6NI5PoV0yaRmKEdm6jkBQWnJBN0Yh9xlaasW98RkqiyRAyDkZk3WEQKa ZfsGQD6uTxyl5BjzMb/OkwJOqjxPLwXd7MrdI8gIli0sFUQKyn8oGwxfwgomAohrWJ4N9w kTrE5gjD9giVZcalEVUa7r32kyG5ZgFVS69BSQCdXAOxUwvodbABLNyh4TC1OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681051123; a=rsa-sha256; cv=none; b=sfMtqSN9+3atRUPr+RQrRt/dh7ZaAmUBxV8djzPtWlfXcMn3HojHPRHyjODE9uhdVc0uSs 3b0rl6qlrZPLttqwVR2TG/zevhqeCqE+kwfh9JjdrNsgTa9Xbvp9bm36coW2+HyM4m6ZK+ 6Iuseeb0piQNa9PeLxuHdMh+xqbd7hrq7XBX6KcLPQzixML4R/z8336A1XpfDN5HumpV9p lN6i6+i4YAVKC957X5C0T0UfStAP47d7xVYYQC+jMpr1iB8nGN/lLaGtbjetzsT0RDOHVn gu/Y54wnj3BesNnJncG1CsBqXlU9HseosJvmFq6RMSQeDywnsl1DYB/QeBTMtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvZVC1Gckz1BYr; Sun, 9 Apr 2023 14:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339Ech3k085937; Sun, 9 Apr 2023 14:38:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Ech2m085936; Sun, 9 Apr 2023 14:38:43 GMT (envelope-from git) Date: Sun, 9 Apr 2023 14:38:43 GMT Message-Id: <202304091438.339Ech2m085936@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: bf86e2c503bc - stable/13 - times: Use modern function definitions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bf86e2c503bcffb46f59a8d08eea68d96016815f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=bf86e2c503bcffb46f59a8d08eea68d96016815f commit bf86e2c503bcffb46f59a8d08eea68d96016815f Author: Warner Losh AuthorDate: 2022-10-25 05:03:11 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:37:52 +0000 times: Use modern function definitions Use the modern ANSI function defition syntax rather than the old K&R syntax for times. Sponsored by: Netflix (cherry picked from commit aec9453fec70864234c70ccd0198c8b612139cf7) --- lib/libc/gen/times.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/libc/gen/times.c b/lib/libc/gen/times.c index d811b553b990..985c8266a0f8 100644 --- a/lib/libc/gen/times.c +++ b/lib/libc/gen/times.c @@ -45,8 +45,7 @@ __FBSDID("$FreeBSD$"); #define CONVTCK(r) (r.tv_sec * CLK_TCK + r.tv_usec / (1000000 / CLK_TCK)) clock_t -times(tp) - struct tms *tp; +times(struct tms *tp) { struct rusage ru; struct timespec t; From nobody Sun Apr 9 14:39:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvZVY5hmyz44XKd; Sun, 9 Apr 2023 14:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvZVY4p8Rz4KcP; Sun, 9 Apr 2023 14:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+D0d7vSxRd9dXfINoq/R7qO61ygddCXSxY0TmhMKEc4=; b=PdUsCNTDeMcJMe23boKrXFEUC5NkLxU7MmrukSBV0dFBcLa7rKcix9IhYB7sgmqNzWBh3f QdHs38TWPZoRmDGgeK2586QvQI6HqDbbzCVB7YTKhPCGpROLr97nqOUTmaY+ZWF62VtvEu BrbfYOq1WLyQ9uPv7Rt8YUmGHZiskg1JMy/Y/YzCEd6VlHrIc9YRId/XLQ1Mw7Cgpp4vd8 hYt/CWXZ+qZdiosOtFggay7ipn8o+89wRS4BfMKAeQbRrnXJNZDirXkmTIPIt2d06IFuXL vGm5vt70jvbqfs4+KUADnCAO/fyZaCPkM5MAQp+CKaiCNnuDtcGLJIPpyZNaYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+D0d7vSxRd9dXfINoq/R7qO61ygddCXSxY0TmhMKEc4=; b=pGfEK5hpu1S2gyFq9Zkh56HeEcDvZbgk+yL1kbb+6J6wGVUYshHtPXWr6kRkdkuSNXNWaZ y+fDskRwaKowHMss6g7Pc7OBstqqY8sp4KRxwruWyHPV9gJj+H50FFwdkmfB0BbZ8B8szk elIs6lWJruIW6UM8xjQSyiUaHyUgnNsGOvXR3Sts7GbDqioXUG8gy1kNXPSoHoHgJS/pmF wotORK6LJPAhr2TxJqTAbz4C4bTgTlSxWxa5WqdN5DhGcl8yTNp0O7acbRZgfq99Fo84hx WUxROo+HHRGdp3Zw4KW1ak74HFm5THd33y++boe1dHzALN1V9lDIdr0Xdth2RQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681051141; a=rsa-sha256; cv=none; b=UbQzvhJOcjeqUMHBVB2EzvR4tiFq+XV5RTkWm2gc+voTKQxJ3CLijnhFrG7AOFk4m/dJCH DGsmRcdnH0aZPITzn820BWozhN4srh1GhpYKjjFjL74nKijvclz0Ge2h0d1RGONJLWrE2k SZCGQ2no9TIPLw2Zvulu9ZKNrtjGQMKO8S/CYej7WDyepGN706/7YBrUuhbo0bqUQdpoTX v7imQxtVBaVfDM7z/oqa7K7ZzExT4JzBsJynKp2pA4pJv+1LEVHcxB7eV2tZLKo0FFKYF+ rmurdY53ybiWqFFf0WKQztCgDENEs3xSoLgIECesKKlwhmz0tolOuluhskxFnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvZVY3rFfz1BRQ; Sun, 9 Apr 2023 14:39:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339Ed17x086072; Sun, 9 Apr 2023 14:39:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Ed1Nl086071; Sun, 9 Apr 2023 14:39:01 GMT (envelope-from git) Date: Sun, 9 Apr 2023 14:39:01 GMT Message-Id: <202304091439.339Ed1Nl086071@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b7768c8f2597 - stable/12 - times: Use modern function definitions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: b7768c8f2597883c8c510e2028992f212010241d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b7768c8f2597883c8c510e2028992f212010241d commit b7768c8f2597883c8c510e2028992f212010241d Author: Warner Losh AuthorDate: 2022-10-25 05:03:11 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:37:36 +0000 times: Use modern function definitions Use the modern ANSI function defition syntax rather than the old K&R syntax for times. Sponsored by: Netflix (cherry picked from commit aec9453fec70864234c70ccd0198c8b612139cf7) --- lib/libc/gen/times.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/libc/gen/times.c b/lib/libc/gen/times.c index d811b553b990..985c8266a0f8 100644 --- a/lib/libc/gen/times.c +++ b/lib/libc/gen/times.c @@ -45,8 +45,7 @@ __FBSDID("$FreeBSD$"); #define CONVTCK(r) (r.tv_sec * CLK_TCK + r.tv_usec / (1000000 / CLK_TCK)) clock_t -times(tp) - struct tms *tp; +times(struct tms *tp) { struct rusage ru; struct timespec t; From nobody Sun Apr 9 14:42:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvZZf3LXQz44Y3J; Sun, 9 Apr 2023 14:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvZZf1PJXz4R8d; Sun, 9 Apr 2023 14:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0mLWCmaOX7oxjAD1ACCb9bck9ImHuUGXvKQKdnWgT7k=; b=GaxvcsjelwjKjUwkgU85tA5Gvw8+9R5ynUqPNh6yWd+3WvQ6dbKveXqiZ/V4NPtpo/mdml gnzGaVD+G52coEZ3EgY0UHpDqFpgZNlxwjq6a5/mhLmwHCM19j07BNigzeo5RNRKqdS4B7 oF2LkShOhm5N05SNEhmZfVvJnZ6JvcMfrBqwAWUFWw0WeGUJ7KZgD459p8Y8XXzHF9J+X4 igxGZfZ927V+CxkfMaiIcvikOKIpKTVEQsPKN7FYq5CXbnaEdh4mnci4IgmuoD+QuyBG1y YSJyFa2lA1KKblebdFh1jFfcPHjseN0jTGRx+F5tCTdRtopKyFYzoMybv2hryA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0mLWCmaOX7oxjAD1ACCb9bck9ImHuUGXvKQKdnWgT7k=; b=Hh33G0oFBF+oAw7Vnwo/S3n1BK4RnDu9XVNR00u1x4fShd/4q7svsZilD++ZB+uFsOWc5Y gHcOH9SNyVdqydkY2VhizEsPM+IhQcnmFkd4eP+l4ZYKULP1+Cj5jJUU8AfKsVsyKq1f3z uUXso16Iq7XA43QyLAopndPFvcP1SX7TvwPNebPxBr3yzsFEV7n3Jcz2iHmhbrHAtP99cm o7/WNepc9ghhtXxtNNZjKMkG+o0uXROSAlLZaOBiReR9B4CcssBZua5TlwO6Xb9PuXNo3x Zk9jJOw7b0rU35T1SZ+qylOacm0RkJ9VW627fFPu3Kvy3VGXSdITA2UIMOBjUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681051354; a=rsa-sha256; cv=none; b=XRX0Hn5BmcE6acPqL5kH4nG9o+RLu/yt6fNnxnQAvSPPA21nDM2LOHCvjF9pAtMOPDyaUD rbN+ya7noL+zcEVN6ARNQrShsKFY1eX1Fxv+zqCULzQkcYhSFwCmM9+YSaP5fLD8I3jCYX 8Y8x27KIrVWrIC/6zdXnTAHOoK1RdHVIwfc50Hsg6GmmT3lJFf1Y8R91bbk0H2tMcKmOvh 7uhiSp/1ihjVfeHMW9HMo7izSVNgzNvsJBTqPbLt7/InPkrJv7JaLnwScYZn3A5tuHk7f3 QvHHfDDhyFXc+p2chjPP9TZ79VGAgO9NUyzamxtH2rUTFvzg1wj120A8djz9zQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvZZf0VkPz1BlL; Sun, 9 Apr 2023 14:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339EgX8B001618; Sun, 9 Apr 2023 14:42:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339EgX9n001617; Sun, 9 Apr 2023 14:42:33 GMT (envelope-from git) Date: Sun, 9 Apr 2023 14:42:33 GMT Message-Id: <202304091442.339EgX9n001617@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 3e7b96764a80 - stable/13 - : Avoid instantiating a pointer type in std::decay<>. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3e7b96764a80c7851421af60f800587b2f94b697 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=3e7b96764a80c7851421af60f800587b2f94b697 commit 3e7b96764a80c7851421af60f800587b2f94b697 Author: John Baldwin AuthorDate: 2022-11-24 00:10:05 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:39:46 +0000 : Avoid instantiating a pointer type in std::decay<>. GCC expands the pointer type in this conditional expression even for template types _Up that are not arrays. This raises an error when std::decay<> is used with reference types (as is done in LLVM's sources). Using add_pointer<> causes GCC to only instantiate a pointer type for array types. A similar change to this commit (albeit reworked due to upstream changes) has been merged to libc++ in commit 26068c6e60324ed866a1ca2afb5cb5eb0aaf015b. In file included from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__compare/ordering.h:13, from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__compare/common_comparison_category.h:12, from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:168, from /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/DenseMapInfo.h:20, from /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/DenseMap.h:17, from /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp:36: /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits: In instantiation of 'struct std::__1::__decay': /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits:1591:89: required from 'struct std::__1::decay' /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:132:16: required by substitution of 'template::type>::value && (! std::__1::is_same::type, std::__1::pair > >::value)), std::__1::pair >::_CheckTupleLikeConstructor, std::__1::__check_tuple_constructor_fail>::type::__enable_implicit<_Tuple>(), void>::type* > constexpr std::__1::pair >::pair(_Tuple&&) [with _Tuple = llvm::CHIArg&&; typename std::__1::enable_if::type>::value && (! std::__1::is_same::type, std::__1::pair > >::value)), std::__1::pair >::_CheckTupleLikeConstructor, std::__1::__check_tuple_constructor_fail>::type::__enable_implicit<_Tuple>(), void>::type* = ]' /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp:892:51: required from here /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits:1582:30: error: forming pointer to reference type 'std::__1::remove_extent::type' {aka 'llvm::CHIArg&'} 1582 | >::type type; | ^~~~ Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D36898 (cherry picked from commit c36de97088a2b9141cdaf2fae2a7f41bf820ffa0) --- contrib/llvm-project/libcxx/include/type_traits | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/type_traits b/contrib/llvm-project/libcxx/include/type_traits index 3391999675a0..daf031e475f7 100644 --- a/contrib/llvm-project/libcxx/include/type_traits +++ b/contrib/llvm-project/libcxx/include/type_traits @@ -1572,7 +1572,7 @@ public: typedef _LIBCPP_NODEBUG typename conditional < is_array<_Up>::value, - typename remove_extent<_Up>::type*, + typename add_pointer::type>::type, typename conditional < is_function<_Up>::value, From nobody Sun Apr 9 14:42:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvZZg4zfgz44Y3K; Sun, 9 Apr 2023 14:42:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvZZg2Yspz4R7J; Sun, 9 Apr 2023 14:42:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cOAHoQ4CKMudDDtjTjW7OZGdblKdTazO9xTP2gMMNj4=; b=GmJjey9/A0ZIe1IlxPMQvq8K8EoZbvJIvvWjHGoS3d1K1qrZkpxoh0lCe3ebHI76LcrLqX sQKOup/5TKBaKEwDsvQBDwxBWt2DeAKZ+kgNGQMKwI3vIJ5sTaihuVovEITK+rIUWXH+UH r+S4DKooLSgDHxHD0cEtpXa+CgIElRmH9jtQqK3myghVpD89kLUrbWY/R0NN1m5SdSsapV KrObekM9g3TZMPMMgTGgNhz4iMpCm6DwtEFbr2+bRugH9SfuptUglgfMZ7WaDcwYEKn4JZ +196TehSQdCnY+3X69bfSF7LtwsPtdbAQpCe1LA1T8PwNQ/M+fh5WYC0GE7PwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cOAHoQ4CKMudDDtjTjW7OZGdblKdTazO9xTP2gMMNj4=; b=PXHgJ7kRtkCjg0YHieTj76lzctEVXyq0u+EZ7ibMFkVYu8pyhNm7sImiA9NnzESYdr/9ZI HmgQ2oIA6GZETCCsqxVlnuODQKOpR/YoVce85YbdaTiKRj8v9qXsQQC1MAAN+44GEbl6O+ S5vSStttoddcE+kaPxRUlUStpS2qtmRLXULTHKmgEkyWA9lwz31DA0HDFTOOzP68p3e6Eu Nl0Hl0HEz5VAhtAkqviAyBALnD0ps3WjP6c4wijyasDBaONna3m6u1eD1FYtVDyyEHciWn LvDMnXEanemATjfOGoMsda6Wh9+siK1WjIJRhplMX0CWSunTFMtcbqioXdY0mQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681051355; a=rsa-sha256; cv=none; b=mUcv5DCcIkcromL9RPj2hxOp2CzsOeJ2E+z+oo7isRfLHU1tu4fLaSko/7lgvWfw0U2/MX SAK1Cvqo5kC5Rhm7PyPORMsMiBcWPez4iBHJS4cko4mpAY77tey7BFVm1nfZsG7SZp2V6t eQHM0WvCjJ1JuHv9y4qXIzk7STzIadRUnzp8AQnDNzoMsKi4PTaIC0ne0jZm9kc2YSIdBQ JxF7qEO1+z+bOD5r2PHg8IHiI1YzkBb6sDNgDEGVbXHNQpwKZQbhzVmL0UnFWwmVFlNwy8 OJF7duX0RJWAV/W5/OLx/ftlGKN/JClinbSK00CCDDCB8w2QQ8ey3cke2PVh8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvZZg1bYkz1Bhx; Sun, 9 Apr 2023 14:42:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339EgZoK001643; Sun, 9 Apr 2023 14:42:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339EgZt5001642; Sun, 9 Apr 2023 14:42:35 GMT (envelope-from git) Date: Sun, 9 Apr 2023 14:42:35 GMT Message-Id: <202304091442.339EgZt5001642@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: ad81b9ee3db9 - stable/13 - Revert "Ensure .inc files are regenerated when llvm/clang tblgen binaries change" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ad81b9ee3db95f874bc6bfec91fc8eff2404a39f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=ad81b9ee3db95f874bc6bfec91fc8eff2404a39f commit ad81b9ee3db95f874bc6bfec91fc8eff2404a39f Author: Dimitry Andric AuthorDate: 2023-03-29 18:37:02 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:40:09 +0000 Revert "Ensure .inc files are regenerated when llvm/clang tblgen binaries change" This reverts commit ab80f0b21fbb9c44d40e6f7a99090188f4ed2f71. The intent of this change was to avoid possible compilation errors when certain .inc files were not regenerated, but the method turns out to cause way more rebuilds than anticipated. Another method will have to be found, and in the mean time, WITH_CLEAN is the solution that always works. Fixes: ab80f0b21fbb (cherry picked from commit 4dc3b1fa1bbcf20f7713d94776a1604964ada32b) --- lib/clang/clang.pre.mk | 1 - lib/clang/headers/Makefile | 2 -- lib/clang/libclang/Makefile | 22 +++++++--------------- lib/clang/liblldb/Makefile | 3 --- lib/clang/libllvm/Makefile | 2 -- lib/clang/llvm.pre.mk | 1 - usr.bin/clang/lld/Makefile | 2 -- usr.bin/clang/lldb-server/Makefile | 2 -- usr.bin/clang/lldb/Makefile | 2 -- usr.bin/clang/llvm-cxxfilt/Makefile | 2 -- usr.bin/clang/llvm-nm/Makefile | 2 -- usr.bin/clang/llvm-objcopy/Makefile | 2 -- usr.bin/clang/llvm-objdump/Makefile | 2 -- usr.bin/clang/llvm-readobj/Makefile | 2 -- usr.bin/clang/llvm-size/Makefile | 2 -- usr.bin/clang/llvm-strings/Makefile | 2 -- usr.bin/clang/llvm-symbolizer/Makefile | 2 -- 17 files changed, 7 insertions(+), 46 deletions(-) diff --git a/lib/clang/clang.pre.mk b/lib/clang/clang.pre.mk index 9ef401645f14..520a9300e6ce 100644 --- a/lib/clang/clang.pre.mk +++ b/lib/clang/clang.pre.mk @@ -5,4 +5,3 @@ CLANG_SRCS= ${LLVM_BASE}/clang CLANG_TBLGEN?= clang-tblgen -CLANG_TBLGEN_BIN!= which ${CLANG_TBLGEN} diff --git a/lib/clang/headers/Makefile b/lib/clang/headers/Makefile index c4643e9353e6..80a1250f6366 100644 --- a/lib/clang/headers/Makefile +++ b/lib/clang/headers/Makefile @@ -200,8 +200,6 @@ riscv_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td GENINCS+= riscv_${hdr:H}.h .endfor -${GENINCS}: ${CLANG_TBLGEN_BIN} - CLEANFILES= ${GENINCS} ${GENINCS:C/$/.d/} .include diff --git a/lib/clang/libclang/Makefile b/lib/clang/libclang/Makefile index cdffedfe3d36..a2612bc9d894 100644 --- a/lib/clang/libclang/Makefile +++ b/lib/clang/libclang/Makefile @@ -1010,6 +1010,13 @@ clang/Basic/riscv_vector_builtin_cg.inc: \ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/riscv_vector.td TGHDRS+= clang/Basic/riscv_vector_builtin_cg.inc +clang/Driver/Options.inc: ${CLANG_SRCS}/include/clang/Driver/Options.td + ${LLVM_TBLGEN} -gen-opt-parser-defs \ + -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ + -d ${.TARGET:C/$/.d/} -o ${.TARGET} \ + ${CLANG_SRCS}/include/clang/Driver/Options.td +TGHDRS+= clang/Driver/Options.inc + clang/Parse/AttrParserStringSwitches.inc: \ ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-parser-string-switches \ @@ -1087,25 +1094,10 @@ OpenCLBuiltins.inc: ${CLANG_SRCS}/lib/Sema/OpenCLBuiltins.td ${CLANG_SRCS}/lib/Sema/OpenCLBuiltins.td TGHDRS+= OpenCLBuiltins.inc -${TGHDRS}: ${CLANG_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} -clang/Driver/Options.inc: ${CLANG_SRCS}/include/clang/Driver/Options.td - ${LLVM_TBLGEN} -gen-opt-parser-defs \ - -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ - -d ${.TARGET:C/$/.d/} -o ${.TARGET} \ - ${CLANG_SRCS}/include/clang/Driver/Options.td -LTGHDRS+= clang/Driver/Options.inc - -${LTGHDRS}: ${LLVM_TBLGEN_BIN} - -DEPENDFILES+= ${LTGHDRS:C/$/.d/} -DPSRCS+= ${LTGHDRS} -CLEANFILES+= ${LTGHDRS} ${LTGHDRS:C/$/.d/} - .include "../clang.build.mk" INTERNALLIB= diff --git a/lib/clang/liblldb/Makefile b/lib/clang/liblldb/Makefile index dbf9c6d696e7..28778cb04c57 100644 --- a/lib/clang/liblldb/Makefile +++ b/lib/clang/liblldb/Makefile @@ -693,7 +693,6 @@ SRCS+= Utility/VMRange.cpp SRCS+= Version/Version.cpp LLDB_TBLGEN?= lldb-tblgen -LLDB_TBLGEN_BIN!= which ${LLDB_TBLGEN} CommandOptions.inc: ${LLDB_SRCS}/source/Commands/Options.td ${LLDB_TBLGEN} -gen-lldb-option-defs \ @@ -721,8 +720,6 @@ ${path:T}PropertiesEnum.inc: ${LLDB_SRCS}/source/${path}Properties.td TGHDRS+= ${path:T}PropertiesEnum.inc .endfor -${TGHDRS}: ${LLDB_TBLGEN_BIN} - DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index ef9d87dd7d2f..868f9aa48964 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -2026,8 +2026,6 @@ TGHDRS+= X86GenRegisterInfo.inc TGHDRS+= X86GenSubtargetInfo.inc .endif # MK_LLVM_TARGET_X86 -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/lib/clang/llvm.pre.mk b/lib/clang/llvm.pre.mk index 92124a7bf092..774d7d47ea37 100644 --- a/lib/clang/llvm.pre.mk +++ b/lib/clang/llvm.pre.mk @@ -5,4 +5,3 @@ LLVM_BASE= ${SRCTOP}/contrib/llvm-project LLVM_SRCS= ${LLVM_BASE}/llvm LLVM_TBLGEN?= llvm-tblgen -LLVM_TBLGEN_BIN!= which ${LLVM_TBLGEN} diff --git a/usr.bin/clang/lld/Makefile b/usr.bin/clang/lld/Makefile index 1113072e4e9d..9f114dbb81bf 100644 --- a/usr.bin/clang/lld/Makefile +++ b/usr.bin/clang/lld/Makefile @@ -95,8 +95,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/lldb-server/Makefile b/usr.bin/clang/lldb-server/Makefile index efe8529f3611..9c3883984618 100644 --- a/usr.bin/clang/lldb-server/Makefile +++ b/usr.bin/clang/lldb-server/Makefile @@ -37,8 +37,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/lldb/Makefile b/usr.bin/clang/lldb/Makefile index 8e160b18eaa5..10ffd3b90057 100644 --- a/usr.bin/clang/lldb/Makefile +++ b/usr.bin/clang/lldb/Makefile @@ -30,8 +30,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-cxxfilt/Makefile b/usr.bin/clang/llvm-cxxfilt/Makefile index 073316b7b4a7..a61e32db9aa7 100644 --- a/usr.bin/clang/llvm-cxxfilt/Makefile +++ b/usr.bin/clang/llvm-cxxfilt/Makefile @@ -19,8 +19,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index d3099e5a75be..0df48744632d 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -19,8 +19,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-objcopy/Makefile b/usr.bin/clang/llvm-objcopy/Makefile index 995a8b461344..80aa29949edf 100644 --- a/usr.bin/clang/llvm-objcopy/Makefile +++ b/usr.bin/clang/llvm-objcopy/Makefile @@ -36,8 +36,6 @@ ${hdr}.inc: ${LLVM_BASE}/${SRCDIR}/${hdr}.td TGHDRS+= ${hdr}.inc .endfor -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-objdump/Makefile b/usr.bin/clang/llvm-objdump/Makefile index fc81304ddb1a..44d8c7f82e33 100644 --- a/usr.bin/clang/llvm-objdump/Makefile +++ b/usr.bin/clang/llvm-objdump/Makefile @@ -25,8 +25,6 @@ ${hdr}.inc: ${LLVM_BASE}/${SRCDIR}/${hdr}.td TGHDRS+= ${hdr}.inc .endfor -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-readobj/Makefile b/usr.bin/clang/llvm-readobj/Makefile index 8926eb03bdbf..4b547d81c583 100644 --- a/usr.bin/clang/llvm-readobj/Makefile +++ b/usr.bin/clang/llvm-readobj/Makefile @@ -30,8 +30,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-size/Makefile b/usr.bin/clang/llvm-size/Makefile index f39e5db6f872..20bd5de61192 100644 --- a/usr.bin/clang/llvm-size/Makefile +++ b/usr.bin/clang/llvm-size/Makefile @@ -19,8 +19,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-strings/Makefile b/usr.bin/clang/llvm-strings/Makefile index 253766ba084d..1438aa847997 100644 --- a/usr.bin/clang/llvm-strings/Makefile +++ b/usr.bin/clang/llvm-strings/Makefile @@ -17,8 +17,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} diff --git a/usr.bin/clang/llvm-symbolizer/Makefile b/usr.bin/clang/llvm-symbolizer/Makefile index ae417356df6b..c4677169f912 100644 --- a/usr.bin/clang/llvm-symbolizer/Makefile +++ b/usr.bin/clang/llvm-symbolizer/Makefile @@ -20,8 +20,6 @@ ${INCFILE}: ${TDFILE} -o ${.TARGET} ${TDFILE} TGHDRS+= ${INCFILE} -${TGHDRS}: ${LLVM_TBLGEN_BIN} - DEPENDFILES+= ${TGHDRS:C/$/.d/} DPSRCS+= ${TGHDRS} CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} From nobody Sun Apr 9 14:47:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvZhB3m8Hz44Y4F; Sun, 9 Apr 2023 14:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvZhB3LW0z4YYv; Sun, 9 Apr 2023 14:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P7VcgB6+HjG+9ZYMZ92MjiEgNGXN7BUjBz2tYazQG2o=; b=AE0YuYNi5CpbTMTjlJnUSbMzHGVFHmt0gjbx3Km7jcP17aQ5LnKfvnBY0RPmqloimgFmGh ZUV2X86cg1P/psnPpCXasocJEAPkC0Be/N169+n5geGHrMtRDZYPunM6ZPfJbtbaZ2CeuE uSXiU2nmuDHgSDdFgg2emTOqB9azoCHcyzT1aaaYNllUYUElpP5INRnkNRasbJ4gPJ6UL9 bdXbuEXq3C1T6XO2uAeUAfXfNfyRM7RthWStRuNBWByBnLWx1DpQx4t/VABRmxh9mMDubB arUXSeN0YC0mhw5KT/5KhTCcIar1x7UllwvjXR99TyT/OFxoyiDYjh5zS+VV1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681051642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P7VcgB6+HjG+9ZYMZ92MjiEgNGXN7BUjBz2tYazQG2o=; b=sb8yoWa+0bIwqeEht27y8+AgrcXejd2bPG1JplJmkWHFQGqHc589sPH+OtghfcgT0qztx6 uCyBMXCBygFRW7rK3lfzDenMO7YbAfRIdcdLCPoOBeoRCyx4dzhok3sB3CzjwqJDbA5h16 M0HNcydBlJ4EXoBp+s2szs8kQ4Mknh+N11uC4/K14QpUfMwwDxyQj8WU1p4Dg2B269wfQM sBKuGAHRsVgaPvQMtuxEVUQlcrWGV/uzPxr3K2NUiLSUptOgOTZ/vK5NgegBPdCRNM6MVK SjYRyGBuAVMKUSWpbp1yzUk3Nsd6VuJBi0FiU0KNmpvjQJ0ybLp1ZhnCF8s+Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681051642; a=rsa-sha256; cv=none; b=fwJWMOxVCNOBFh8buc6Z1YYFBk1f0v7icOKc56DYI4uW8xM5IHAFPt3yTBq8i7i0Mk62Nn iPaL4Dz1raQstsA/hvPRyIYp6K+9R/KB3H1E4TP2MmjEI/nS9A7128dNUDMqyDDCn39rKA N3502CAFyXWFtNqh4NaA2s35J6JjFMTWC8xwT4ijqCpj8VheR9wbA7MM6c6Lnr52nkEmHU V3eFR2IjMUaw5+LSeMwKIFGsDUL8FPUI1I4yafxmsj48/tVBZkJq8H0W8pjiNuoAeehi8p I/PtdUYaYWL/ibvCnJuj0qpl+4N0MBvuA1ktF/Pq06z2T9xTt4lhKAXuHyiRLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvZhB2PfHz1Bnk; Sun, 9 Apr 2023 14:47:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339ElMjT002544; Sun, 9 Apr 2023 14:47:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339ElMwV002543; Sun, 9 Apr 2023 14:47:22 GMT (envelope-from git) Date: Sun, 9 Apr 2023 14:47:22 GMT Message-Id: <202304091447.339ElMwV002543@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a0b3fbe4ccb6 - stable/13 - libc/yp: sort out warnings List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a0b3fbe4ccb6961765d2325bb2ecae6ff2111102 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a0b3fbe4ccb6961765d2325bb2ecae6ff2111102 commit a0b3fbe4ccb6961765d2325bb2ecae6ff2111102 Author: Mateusz Guzik AuthorDate: 2023-03-16 18:56:47 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:46:34 +0000 libc/yp: sort out warnings .. in least-effort manner Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ba5070ab441f1ad901c0412f531bd646d0bd0616) --- lib/libc/yp/xdryp.c | 2 +- lib/libc/yp/yplib.c | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/libc/yp/xdryp.c b/lib/libc/yp/xdryp.c index aa7c7123a04b..da996276aaf8 100644 --- a/lib/libc/yp/xdryp.c +++ b/lib/libc/yp/xdryp.c @@ -37,7 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include -extern int (*ypresp_allfn)(); +extern int (*ypresp_allfn)(u_long, char *, int, char *, int, void *); extern void *ypresp_data; /* diff --git a/lib/libc/yp/yplib.c b/lib/libc/yp/yplib.c index 92b57c2512db..c6a30bee1d72 100644 --- a/lib/libc/yp/yplib.c +++ b/lib/libc/yp/yplib.c @@ -92,11 +92,7 @@ struct dom_binding { #endif #define MAX_RETRIES 20 -extern bool_t xdr_domainname(), xdr_ypbind_resp(); -extern bool_t xdr_ypreq_key(), xdr_ypresp_val(); -extern bool_t xdr_ypreq_nokey(), xdr_ypresp_key_val(); -extern bool_t xdr_ypresp_all(), xdr_ypresp_all_seq(); -extern bool_t xdr_ypresp_master(); +bool_t xdr_ypresp_all_seq(XDR *xdrs, u_long *objp); int (*ypresp_allfn)(); void *ypresp_data; From nobody Sun Apr 9 21:34:58 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlkj5Q8bz44JZK; Sun, 9 Apr 2023 21:35:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlkj4f3lz4LfT; Sun, 9 Apr 2023 21:35:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G6Nv1Ng4yOi6l06WUahN1cxp9BGt/oISES5unZCsmfE=; b=Q9w20GnczOPQ6J9+aPsnJeKOTcvz9+Qcw3DOQ2beUgBFHAgr4OC9oDLXJDJrCA/B+/Voq5 BGDGzbUYv7Fz0NhYnALx1LaCCrsJdkIaqeQdmqFYZ1N1ABP9Umar7+AnJNAQhlLdlVMc34 2G0vccNvzz/4bEc1IFWb+nd7W2GWA2JpxbdT2Ezf8nWFJiuKVqtgMbNyWGZrbvCsZeagy0 cK6NTqOGXanpgcdEb+BsDYBX40ZZ5dn6C4G3JkRL5LZN7NcCQWsYyHtNsxd6G9yFyY1O3D w/Na8EDnuXWeZ2lT0nNFvtW75ocv92se21bX9jRQo9uJJ9aX+GxuugAsHqgGKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076109; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G6Nv1Ng4yOi6l06WUahN1cxp9BGt/oISES5unZCsmfE=; b=bLsyCr5LtfDabyHF31/HwrpB3Q6WBXIVIcGUdFE6MoVjx/XeCWVMkY+lrkujaYlQ69oOAr SGxruaRRA1tsFIjQxnheX4mgus2kJ2KD1DWzPbQll3gDlS//55Wp0lcNEcZh69FxltNpxx tlg0lvcZSKmzCo4oxLJdVuv4Ods9sB5IPZHl2HV0aMKg5Az22DHAm+X2FbZKlTbzfw7/5A rmk8WaB0XR8IRe7V4JFy/2if6JeJWGNJhvo8WP52m7i/DhBiCZH/a0lF0uzu0VCBkeuYg5 TB4RSHyDRKYhtiRB11LJUz8CNPcH6onFW6gAtsFsFYA4eOE3LOXI0t3Zg20cfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076109; a=rsa-sha256; cv=none; b=AlFIOOjBTEnvddZfiTKGu82wuC/Xq1DwWsrY1r8ml6mCCaQ99yYhZpymIJ8mW3p/Kqqw9j YIh8t0a8S6kcOBYRYckN5IpKHKNMzOlNlxzKiPUkF8QMzFlcPTngop8QBIEwnFvNrsC/9u 0gDsoJrkrj8yP4o6vBZDKXCzyrn3xJpGYTwPh5gaieB2qZgxq7gBcps7NMJAXqBT2NJY1u NsJI5b2gsUWD7DBcUqxtV8ZLjtdDPWv7bgNPt89spQs+R2BIku3GpT6IXsJmgVeeb2Excp gfu88liBkwmqJMTDfYk1pJFnIO5EWq9zwMwlJaYaq5Mx+R3bGAk2pCqFfk+vDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkj3ZDTzPf6; Sun, 9 Apr 2023 21:35:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZ968081475; Sun, 9 Apr 2023 21:35:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LYwuv081438; Sun, 9 Apr 2023 21:34:58 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:34:58 GMT Message-Id: <202304092134.339LYwuv081438@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 255d6c9fe5a7 - stable/13 - Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 255d6c9fe5a7577c6caf78004034f2555bd0cba0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=255d6c9fe5a7577c6caf78004034f2555bd0cba0 commit 255d6c9fe5a7577c6caf78004034f2555bd0cba0 Author: Dimitry Andric AuthorDate: 2022-07-04 19:20:19 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:45 +0000 Merge llvm-project main llvmorg-15-init-15358-g53dc0f10787 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-15358-g53dc0f10787. PR: 265425 MFC after: 2 weeks (cherry picked from commit 81ad626541db97eb356e2c1d4a20eb2a26a766ab) --- Makefile.inc1 | 3 +- ObsoleteFiles.inc | 318 + contrib/llvm-project/FREEBSD-Xlist | 48 +- contrib/llvm-project/clang/include/clang-c/Index.h | 68 +- .../clang/include/clang/APINotes/Types.h | 34 +- .../clang/include/clang/AST/ASTContext.h | 47 +- .../llvm-project/clang/include/clang/AST/ASTFwd.h | 1 + .../clang/include/clang/AST/ASTImportError.h | 51 + .../clang/include/clang/AST/ASTImporter.h | 36 +- .../include/clang/AST/ASTImporterSharedState.h | 18 +- .../clang/include/clang/AST/ASTLambda.h | 5 +- .../clang/include/clang/AST/ASTNodeTraverser.h | 7 + .../clang/include/clang/AST/ASTTypeTraits.h | 8 +- .../clang/include/clang/AST/AbstractBasicReader.h | 2 +- .../clang/include/clang/AST/AbstractTypeReader.h | 3 +- .../clang/include/clang/AST/CharUnits.h | 6 + .../llvm-project/clang/include/clang/AST/Comment.h | 21 +- .../clang/include/clang/AST/CommentCommands.td | 62 +- .../clang/include/clang/AST/CommentParser.h | 5 +- .../clang/include/clang/AST/CommentSema.h | 8 +- .../llvm-project/clang/include/clang/AST/Decl.h | 64 +- .../clang/include/clang/AST/DeclBase.h | 48 +- .../llvm-project/clang/include/clang/AST/DeclCXX.h | 89 +- .../clang/include/clang/AST/DeclObjC.h | 12 +- .../clang/include/clang/AST/DeclTemplate.h | 42 +- .../clang/include/clang/AST/DeclarationName.h | 29 +- .../llvm-project/clang/include/clang/AST/Expr.h | 27 +- .../llvm-project/clang/include/clang/AST/ExprCXX.h | 83 +- .../clang/include/clang/AST/ExprConcepts.h | 2 + .../clang/include/clang/AST/JSONNodeDumper.h | 2 + .../llvm-project/clang/include/clang/AST/Mangle.h | 35 +- .../clang/include/clang/AST/NestedNameSpecifier.h | 2 +- .../clang/include/clang/AST/OpenMPClause.h | 163 +- .../clang/include/clang/AST/ParentMapContext.h | 18 +- .../clang/include/clang/AST/PrettyPrinter.h | 11 +- .../clang/include/clang/AST/PropertiesBase.td | 17 +- .../clang/include/clang/AST/Randstruct.h | 35 + .../clang/include/clang/AST/RawCommentList.h | 15 + .../clang/include/clang/AST/RecursiveASTVisitor.h | 242 +- .../llvm-project/clang/include/clang/AST/Stmt.h | 59 +- .../llvm-project/clang/include/clang/AST/StmtCXX.h | 14 +- .../clang/include/clang/AST/StmtOpenMP.h | 744 +- .../clang/include/clang/AST/TemplateBase.h | 7 + .../clang/include/clang/AST/TemplateName.h | 50 +- .../clang/include/clang/AST/TextNodeDumper.h | 3 + .../llvm-project/clang/include/clang/AST/Type.h | 141 +- .../llvm-project/clang/include/clang/AST/TypeLoc.h | 41 + .../clang/include/clang/AST/TypeProperties.td | 15 +- .../clang/include/clang/ASTMatchers/ASTMatchers.h | 101 +- .../clang/ASTMatchers/ASTMatchersInternal.h | 37 +- .../clang/ASTMatchers/Dynamic/VariantValue.h | 2 +- .../clang/Analysis/Analyses/CalledOnceCheck.h | 2 +- .../clang/Analysis/Analyses/ExprMutationAnalyzer.h | 2 + .../include/clang/Analysis/Analyses/ThreadSafety.h | 9 +- .../clang/Analysis/Analyses/ThreadSafetyCommon.h | 47 +- .../include/clang/Analysis/AnalysisDeclContext.h | 6 +- .../clang/include/clang/Analysis/CloneDetection.h | 8 +- .../include/clang/Analysis/ConstructionContext.h | 3 +- .../Analysis/FlowSensitive/DataflowAnalysis.h | 43 +- .../FlowSensitive/DataflowAnalysisContext.h | 224 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 126 +- .../clang/Analysis/FlowSensitive/MatchSwitch.h | 151 + .../FlowSensitive/Models/ChromiumCheckModel.h | 39 + .../Models/UncheckedOptionalAccessModel.h | 85 + .../clang/Analysis/FlowSensitive/NoopLattice.h | 41 + .../include/clang/Analysis/FlowSensitive/Solver.h | 56 + .../clang/Analysis/FlowSensitive/StorageLocation.h | 10 +- .../clang/Analysis/FlowSensitive/Transfer.h | 15 +- .../FlowSensitive/TypeErasedDataflowAnalysis.h | 16 +- .../include/clang/Analysis/FlowSensitive/Value.h | 175 +- .../Analysis/FlowSensitive/WatchedLiteralsSolver.h | 37 + .../clang/include/clang/Analysis/PathDiagnostic.h | 8 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 234 +- .../clang/include/clang/Basic/AttrDocs.td | 341 +- .../include/clang/Basic/AttrSubjectMatchRules.h | 3 + .../include/clang/Basic/AttributeCommonInfo.h | 23 +- .../clang/include/clang/Basic/Attributes.h | 22 +- .../clang/include/clang/Basic/Builtins.def | 32 +- .../clang/include/clang/Basic/Builtins.h | 40 +- .../clang/include/clang/Basic/BuiltinsAArch64.def | 12 + .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 48 + .../clang/include/clang/Basic/BuiltinsARM.def | 3 + .../clang/include/clang/Basic/BuiltinsNVPTX.def | 127 +- .../clang/include/clang/Basic/BuiltinsPPC.def | 38 +- .../clang/include/clang/Basic/BuiltinsRISCV.def | 61 +- .../clang/include/clang/Basic/BuiltinsVE.def | 32 + .../clang/include/clang/Basic/BuiltinsVEVL.gen.def | 1257 ++ .../include/clang/Basic/BuiltinsWebAssembly.def | 13 +- .../clang/include/clang/Basic/BuiltinsX86.def | 32 +- .../clang/include/clang/Basic/BuiltinsX86_64.def | 1 - .../clang/include/clang/Basic/CharInfo.h | 43 +- .../clang/include/clang/Basic/CodeGenOptions.def | 17 +- .../clang/include/clang/Basic/CodeGenOptions.h | 9 +- .../llvm-project/clang/include/clang/Basic/Cuda.h | 9 + .../clang/include/clang/Basic/DarwinSDKInfo.h | 3 +- .../clang/include/clang/Basic/DeclNodes.td | 1 + .../clang/include/clang/Basic/Diagnostic.h | 29 +- .../include/clang/Basic/DiagnosticASTKinds.td | 6 +- .../include/clang/Basic/DiagnosticCategories.h | 3 +- .../include/clang/Basic/DiagnosticCommentKinds.td | 4 +- .../include/clang/Basic/DiagnosticCommonKinds.td | 12 +- .../include/clang/Basic/DiagnosticCrossTUKinds.td | 4 +- .../include/clang/Basic/DiagnosticDriverKinds.td | 95 +- .../include/clang/Basic/DiagnosticFrontendKinds.td | 9 + .../clang/include/clang/Basic/DiagnosticGroups.td | 45 +- .../clang/include/clang/Basic/DiagnosticIDs.h | 13 +- .../include/clang/Basic/DiagnosticLexKinds.td | 52 +- .../include/clang/Basic/DiagnosticParseKinds.td | 42 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 296 +- .../clang/Basic/DiagnosticSerializationKinds.td | 100 +- .../clang/include/clang/Basic/DirectoryEntry.h | 31 +- .../clang/include/clang/Basic/FPOptions.def | 8 +- .../clang/include/clang/Basic/Features.def | 12 +- .../clang/include/clang/Basic/FileEntry.h | 18 +- .../clang/include/clang/Basic/FileManager.h | 12 +- .../clang/include/clang/Basic/Lambda.h | 2 +- .../clang/include/clang/Basic/LangOptions.def | 36 +- .../clang/include/clang/Basic/LangOptions.h | 211 +- .../clang/include/clang/Basic/LangStandard.h | 15 +- .../clang/include/clang/Basic/LangStandards.def | 37 +- .../clang/include/clang/Basic/Module.h | 68 +- .../clang/include/clang/Basic/OpenCLOptions.h | 9 - .../clang/include/clang/Basic/OpenMPKinds.def | 3 + .../clang/include/clang/Basic/Sanitizers.def | 5 +- .../clang/include/clang/Basic/SourceLocation.h | 6 +- .../clang/include/clang/Basic/SourceManager.h | 52 +- .../clang/include/clang/Basic/Specifiers.h | 4 +- .../clang/include/clang/Basic/StmtNodes.td | 9 + .../clang/include/clang/Basic/TargetBuiltins.h | 7 +- .../clang/include/clang/Basic/TargetInfo.h | 75 +- .../clang/include/clang/Basic/TargetOptions.h | 24 +- .../clang/include/clang/Basic/TokenKinds.def | 48 +- .../clang/include/clang/Basic/TokenKinds.h | 3 + .../clang/include/clang/Basic/TypeNodes.td | 1 + .../clang/include/clang/Basic/arm_sve.td | 32 +- .../clang/include/clang/Basic/riscv_vector.td | 538 +- .../clang/include/clang/CodeGen/CGFunctionInfo.h | 14 + .../include/clang/CrossTU/CrossTranslationUnit.h | 18 +- .../clang/include/clang/Driver/Action.h | 42 +- .../clang/include/clang/Driver/Compilation.h | 21 +- .../clang/include/clang/Driver/Distro.h | 6 +- .../clang/include/clang/Driver/Driver.h | 97 +- .../clang/include/clang/Driver/Options.h | 3 +- .../clang/include/clang/Driver/Options.td | 652 +- .../clang/include/clang/Driver/SanitizerArgs.h | 19 + .../clang/include/clang/Driver/ToolChain.h | 31 +- .../clang/include/clang/Driver/Types.def | 12 +- .../clang/include/clang/Driver/Types.h | 6 +- .../clang/include/clang/ExtractAPI/API.h | 728 + .../include/clang/ExtractAPI/AvailabilityInfo.h | 78 + .../clang/ExtractAPI/DeclarationFragments.h | 287 + .../include/clang/ExtractAPI/FrontendActions.h | 69 + .../ExtractAPI/Serialization/SerializerBase.h | 63 + .../Serialization/SymbolGraphSerializer.h | 178 + .../clang/include/clang/Format/Format.h | 686 +- .../clang/include/clang/Frontend/ASTUnit.h | 4 +- .../include/clang/Frontend/CompilerInvocation.h | 13 - .../clang/include/clang/Frontend/FrontendActions.h | 15 +- .../clang/include/clang/Frontend/FrontendOptions.h | 49 +- .../include/clang/Frontend/MultiplexConsumer.h | 2 + .../include/clang/Frontend/PrecompiledPreamble.h | 79 +- .../clang/Frontend/PreprocessorOutputOptions.h | 2 + .../clang/include/clang/Frontend/Utils.h | 60 +- .../clang/include/clang/Index/IndexSymbol.h | 2 + .../clang/include/clang/Index/IndexingOptions.h | 4 +- .../clang/include/clang/Interpreter/Interpreter.h | 3 + .../clang/Lex/DependencyDirectivesScanner.h | 136 + .../Lex/DependencyDirectivesSourceMinimizer.h | 115 - .../clang/include/clang/Lex/DirectoryLookup.h | 4 + .../clang/include/clang/Lex/HeaderSearch.h | 173 +- .../clang/include/clang/Lex/HeaderSearchOptions.h | 12 +- .../llvm-project/clang/include/clang/Lex/Lexer.h | 61 +- .../clang/include/clang/Lex/LiteralSupport.h | 16 +- .../clang/include/clang/Lex/MacroInfo.h | 48 +- .../clang/include/clang/Lex/ModuleMap.h | 19 +- .../clang/include/clang/Lex/PPCallbacks.h | 62 +- .../clang/include/clang/Lex/PreprocessingRecord.h | 13 +- .../clang/include/clang/Lex/Preprocessor.h | 172 +- ...cessorExcludedConditionalDirectiveSkipMapping.h | 30 - .../clang/include/clang/Lex/PreprocessorLexer.h | 21 +- .../clang/include/clang/Lex/PreprocessorOptions.h | 23 +- .../llvm-project/clang/include/clang/Lex/Token.h | 5 +- .../clang/include/clang/Parse/Parser.h | 327 +- .../include/clang/Parse/RAIIObjectsForParser.h | 15 +- .../include/clang/Sema/CodeCompleteConsumer.h | 5 +- .../clang/include/clang/Sema/DeclSpec.h | 73 +- .../llvm-project/clang/include/clang/Sema/Lookup.h | 46 +- .../clang/include/clang/Sema/ParsedAttr.h | 106 +- .../clang/include/clang/Sema/ParsedTemplate.h | 6 +- .../llvm-project/clang/include/clang/Sema/Scope.h | 28 +- .../clang/include/clang/Sema/ScopeInfo.h | 7 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 595 +- .../clang/include/clang/Sema/Template.h | 2 +- .../llvm-project/clang/include/clang/Sema/Weak.h | 39 +- .../include/clang/Serialization/ASTBitCodes.h | 20 +- .../clang/include/clang/Serialization/ASTReader.h | 37 +- .../include/clang/Serialization/ASTRecordReader.h | 18 +- .../include/clang/Serialization/ASTRecordWriter.h | 16 +- .../clang/include/clang/Serialization/ASTWriter.h | 15 +- .../clang/Serialization/SourceLocationEncoding.h | 163 + .../include/clang/Serialization/TypeBitCodes.def | 1 + .../clang/StaticAnalyzer/Checkers/CheckerBase.td | 9 +- .../clang/StaticAnalyzer/Checkers/Checkers.td | 124 +- .../clang/StaticAnalyzer/Checkers/SValExplainer.h | 8 +- .../clang}/StaticAnalyzer/Checkers/Taint.h | 0 .../include/clang/StaticAnalyzer/Core/Analyses.def | 8 - .../clang/StaticAnalyzer/Core/AnalyzerOptions.def | 41 +- .../clang/StaticAnalyzer/Core/AnalyzerOptions.h | 41 +- .../Core/BugReporter/BugReporterVisitors.h | 2 +- .../include/clang/StaticAnalyzer/Core/Checker.h | 12 - .../StaticAnalyzer/Core/PathSensitive/APSIntType.h | 4 +- .../Core/PathSensitive/BasicValueFactory.h | 14 +- .../Core/PathSensitive/CallDescription.h | 81 +- .../StaticAnalyzer/Core/PathSensitive/CallEvent.h | 15 +- .../Core/PathSensitive/CheckerContext.h | 1 + .../Core/PathSensitive/ConstraintManager.h | 118 +- .../StaticAnalyzer/Core/PathSensitive/CoreEngine.h | 8 +- .../Core/PathSensitive/DynamicType.h | 1 + .../Core/PathSensitive/ExplodedGraph.h | 6 +- .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 39 +- .../StaticAnalyzer/Core/PathSensitive/MemRegion.h | 61 +- .../Core/PathSensitive/ProgramState.h | 54 +- .../Core/PathSensitive/ProgramStateTrait.h | 108 +- .../Core/PathSensitive/RangedConstraintManager.h | 43 + .../Core/PathSensitive/SMTConstraintManager.h | 6 +- .../StaticAnalyzer/Core/PathSensitive/SMTConv.h | 22 + .../Core/PathSensitive/SValBuilder.h | 62 +- .../StaticAnalyzer/Core/PathSensitive/SVals.h | 255 +- .../Core/PathSensitive/SimpleConstraintManager.h | 21 +- .../StaticAnalyzer/Core/PathSensitive/Store.h | 2 - .../StaticAnalyzer/Core/PathSensitive/SymExpr.h | 1 + .../Core/PathSensitive/SymbolManager.h | 106 +- .../StaticAnalyzer/Core/PathSensitive/Symbols.def | 2 + .../include/clang/Support/RISCVVIntrinsicUtils.h | 354 + .../clang/include/clang/Testing/CommandLineArgs.h | 2 + .../clang/include/clang/Testing/TestAST.h | 95 + .../DependencyScanningFilesystem.h | 125 +- .../DependencyScanning/DependencyScanningService.h | 17 +- .../DependencyScanning/DependencyScanningTool.h | 29 +- .../DependencyScanning/DependencyScanningWorker.h | 2 - .../DependencyScanning/ModuleDepCollector.h | 36 +- .../clang/include/clang/Tooling/DiagnosticsYaml.h | 3 +- .../clang/Tooling/Inclusions/CSymbolMap.inc | 945 + .../clang/Tooling/Inclusions/HeaderIncludes.h | 4 +- .../clang/Tooling/Inclusions/StandardLibrary.h | 141 + .../clang/Tooling/Inclusions/StdSymbolMap.inc | 1538 ++ .../clang/Tooling/Refactoring/AtomicChange.h | 2 + .../clang/Tooling/Transformer/RewriteRule.h | 148 +- .../include/clang/Tooling/Transformer/SourceCode.h | 4 + .../clang/Tooling/Transformer/Transformer.h | 191 +- .../clang/include/clang/module.modulemap | 2 + .../clang/lib/ARCMigrate/Transforms.cpp | 2 +- contrib/llvm-project/clang/lib/AST/APValue.cpp | 83 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 223 +- .../llvm-project/clang/lib/AST/ASTDiagnostic.cpp | 18 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 321 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 150 +- .../llvm-project/clang/lib/AST/ASTTypeTraits.cpp | 6 + contrib/llvm-project/clang/lib/AST/AttrImpl.cpp | 6 +- .../llvm-project/clang/lib/AST/CommentParser.cpp | 47 +- contrib/llvm-project/clang/lib/AST/CommentSema.cpp | 48 +- .../clang/lib/AST/ComputeDependence.cpp | 2 +- contrib/llvm-project/clang/lib/AST/Decl.cpp | 109 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 9 +- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 153 +- contrib/llvm-project/clang/lib/AST/DeclObjC.cpp | 11 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 13 +- .../llvm-project/clang/lib/AST/DeclTemplate.cpp | 30 +- contrib/llvm-project/clang/lib/AST/Expr.cpp | 248 +- contrib/llvm-project/clang/lib/AST/ExprCXX.cpp | 4 +- .../clang/lib/AST/ExprClassification.cpp | 13 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 177 +- .../llvm-project/clang/lib/AST/FormatString.cpp | 4 +- .../clang/lib/AST/Interp/ByteCodeExprGen.h | 4 +- .../llvm-project/clang/lib/AST/Interp/Function.cpp | 3 +- .../llvm-project/clang/lib/AST/ItaniumMangle.cpp | 306 +- .../llvm-project/clang/lib/AST/JSONNodeDumper.cpp | 15 + contrib/llvm-project/clang/lib/AST/Mangle.cpp | 6 +- .../llvm-project/clang/lib/AST/MicrosoftCXXABI.cpp | 15 + .../llvm-project/clang/lib/AST/MicrosoftMangle.cpp | 30 +- contrib/llvm-project/clang/lib/AST/ODRHash.cpp | 1 + contrib/llvm-project/clang/lib/AST/OSLog.cpp | 2 +- .../llvm-project/clang/lib/AST/OpenMPClause.cpp | 89 +- .../clang/lib/AST/ParentMapContext.cpp | 14 +- .../llvm-project/clang/lib/AST/QualTypeNames.cpp | 8 +- contrib/llvm-project/clang/lib/AST/Randstruct.cpp | 231 + .../llvm-project/clang/lib/AST/RawCommentList.cpp | 65 +- .../clang/lib/AST/RecordLayoutBuilder.cpp | 19 +- contrib/llvm-project/clang/lib/AST/Stmt.cpp | 27 +- contrib/llvm-project/clang/lib/AST/StmtCXX.cpp | 1 - contrib/llvm-project/clang/lib/AST/StmtOpenMP.cpp | 405 +- contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp | 185 +- contrib/llvm-project/clang/lib/AST/StmtProfile.cpp | 61 +- .../llvm-project/clang/lib/AST/TemplateBase.cpp | 44 +- .../llvm-project/clang/lib/AST/TemplateName.cpp | 55 +- .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 24 + contrib/llvm-project/clang/lib/AST/Type.cpp | 55 +- contrib/llvm-project/clang/lib/AST/TypeLoc.cpp | 8 + contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 63 +- .../llvm-project/clang/lib/AST/VTableBuilder.cpp | 10 +- .../clang/lib/ASTMatchers/ASTMatchFinder.cpp | 222 +- .../clang/lib/ASTMatchers/ASTMatchersInternal.cpp | 1 + .../clang/lib/ASTMatchers/Dynamic/Marshallers.cpp | 2 +- .../clang/lib/ASTMatchers/Dynamic/Marshallers.h | 10 +- .../clang/lib/ASTMatchers/Dynamic/Parser.cpp | 8 +- .../clang/lib/ASTMatchers/Dynamic/Registry.cpp | 7 +- .../clang/lib/Analysis/AnalysisDeclContext.cpp | 2 +- .../llvm-project/clang/lib/Analysis/BodyFarm.cpp | 57 +- contrib/llvm-project/clang/lib/Analysis/CFG.cpp | 122 +- .../clang/lib/Analysis/CalledOnceCheck.cpp | 4 +- .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 20 +- .../Analysis/FlowSensitive/ControlFlowContext.cpp | 4 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 340 + .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 309 +- .../FlowSensitive/Models/ChromiumCheckModel.cpp | 67 + .../Models/UncheckedOptionalAccessModel.cpp | 753 + .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 299 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 203 +- .../FlowSensitive/WatchedLiteralsSolver.cpp | 600 + .../clang/lib/Analysis/PathDiagnostic.cpp | 8 +- .../clang/lib/Analysis/ReachableCode.cpp | 4 +- .../clang/lib/Analysis/RetainSummaryManager.cpp | 2 +- .../clang/lib/Analysis/ThreadSafety.cpp | 306 +- .../clang/lib/Analysis/ThreadSafetyCommon.cpp | 37 +- .../clang/lib/Analysis/UninitializedValues.cpp | 4 +- .../llvm-project/clang/lib/Basic/Attributes.cpp | 10 +- .../clang/lib/Basic/BuiltinTargetFeatures.h | 95 + contrib/llvm-project/clang/lib/Basic/Builtins.cpp | 48 +- contrib/llvm-project/clang/lib/Basic/Cuda.cpp | 9 +- .../llvm-project/clang/lib/Basic/Diagnostic.cpp | 92 +- .../llvm-project/clang/lib/Basic/DiagnosticIDs.cpp | 42 +- .../llvm-project/clang/lib/Basic/FileManager.cpp | 191 +- .../clang/lib/Basic/IdentifierTable.cpp | 8 +- .../llvm-project/clang/lib/Basic/LangOptions.cpp | 132 +- .../llvm-project/clang/lib/Basic/LangStandards.cpp | 45 + contrib/llvm-project/clang/lib/Basic/Module.cpp | 5 +- .../llvm-project/clang/lib/Basic/OpenCLOptions.cpp | 12 +- .../llvm-project/clang/lib/Basic/OpenMPKinds.cpp | 64 +- .../llvm-project/clang/lib/Basic/SourceManager.cpp | 22 +- contrib/llvm-project/clang/lib/Basic/TargetID.cpp | 6 +- .../llvm-project/clang/lib/Basic/TargetInfo.cpp | 24 +- contrib/llvm-project/clang/lib/Basic/Targets.cpp | 18 + .../clang/lib/Basic/Targets/AArch64.cpp | 30 +- .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 2 - .../clang/lib/Basic/Targets/AMDGPU.cpp | 40 +- .../llvm-project/clang/lib/Basic/Targets/AMDGPU.h | 7 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/AVR.cpp | 557 +- .../llvm-project/clang/lib/Basic/Targets/CSKY.cpp | 314 + .../llvm-project/clang/lib/Basic/Targets/CSKY.h | 107 + .../clang/lib/Basic/Targets/DirectX.cpp | 22 + .../llvm-project/clang/lib/Basic/Targets/DirectX.h | 93 + .../llvm-project/clang/lib/Basic/Targets/NVPTX.cpp | 8 +- .../clang/lib/Basic/Targets/OSTargets.cpp | 52 +- .../clang/lib/Basic/Targets/OSTargets.h | 62 +- .../llvm-project/clang/lib/Basic/Targets/PPC.cpp | 35 +- contrib/llvm-project/clang/lib/Basic/Targets/PPC.h | 16 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 16 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.h | 4 + .../llvm-project/clang/lib/Basic/Targets/SPIR.h | 10 +- .../clang/lib/Basic/Targets/SystemZ.cpp | 13 +- .../llvm-project/clang/lib/Basic/Targets/SystemZ.h | 24 + .../llvm-project/clang/lib/Basic/Targets/VE.cpp | 9 +- .../clang/lib/Basic/Targets/WebAssembly.cpp | 19 +- .../clang/lib/Basic/Targets/WebAssembly.h | 1 + .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 25 +- contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 25 +- .../llvm-project/clang/lib/Basic/TokenKinds.cpp | 9 + contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 1 + contrib/llvm-project/clang/lib/CodeGen/Address.h | 5 - .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 631 +- .../llvm-project/clang/lib/CodeGen/CGAtomic.cpp | 27 +- .../llvm-project/clang/lib/CodeGen/CGBlocks.cpp | 80 +- contrib/llvm-project/clang/lib/CodeGen/CGBuilder.h | 70 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 2069 +- .../llvm-project/clang/lib/CodeGen/CGCUDANV.cpp | 84 +- .../llvm-project/clang/lib/CodeGen/CGCUDARuntime.h | 13 + .../llvm-project/clang/lib/CodeGen/CGCXXABI.cpp | 3 +- contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h | 5 +- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 222 +- contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 246 +- .../llvm-project/clang/lib/CodeGen/CGCleanup.cpp | 30 +- .../llvm-project/clang/lib/CodeGen/CGCoroutine.cpp | 107 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp | 501 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.h | 44 +- contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp | 73 +- .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/CGException.cpp | 5 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 403 +- .../llvm-project/clang/lib/CodeGen/CGExprCXX.cpp | 22 +- .../clang/lib/CodeGen/CGExprConstant.cpp | 47 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 104 +- .../clang/lib/CodeGen/CGHLSLRuntime.cpp | 52 + .../llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h | 38 + .../clang/lib/CodeGen/CGNonTrivialStruct.cpp | 14 +- contrib/llvm-project/clang/lib/CodeGen/CGObjC.cpp | 64 +- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 84 +- .../llvm-project/clang/lib/CodeGen/CGObjCMac.cpp | 69 +- .../clang/lib/CodeGen/CGObjCRuntime.cpp | 2 +- .../clang/lib/CodeGen/CGOpenCLRuntime.cpp | 51 +- .../clang/lib/CodeGen/CGOpenCLRuntime.h | 6 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 1030 +- .../clang/lib/CodeGen/CGOpenMPRuntime.h | 29 +- .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp | 173 +- .../clang/lib/CodeGen/CGRecordLayout.h | 6 + contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 70 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 1003 +- contrib/llvm-project/clang/lib/CodeGen/CGVTT.cpp | 4 +- .../llvm-project/clang/lib/CodeGen/CGVTables.cpp | 26 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 38 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 198 +- .../clang/lib/CodeGen/CodeGenFunction.h | 176 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 674 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 115 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 2 +- .../clang/lib/CodeGen/CodeGenTypes.cpp | 53 +- .../llvm-project/clang/lib/CodeGen/CodeGenTypes.h | 5 +- .../clang/lib/CodeGen/ConstantInitBuilder.cpp | 2 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 52 +- .../clang/lib/CodeGen/CoverageMappingGen.h | 20 +- .../clang/lib/CodeGen/ItaniumCXXABI.cpp | 34 +- .../clang/lib/CodeGen/MacroPPCallbacks.cpp | 2 +- .../clang/lib/CodeGen/MacroPPCallbacks.h | 6 +- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 25 +- .../clang/lib/CodeGen/ModuleBuilder.cpp | 12 + .../CodeGen/ObjectFilePCHContainerOperations.cpp | 4 + .../clang/lib/CodeGen/SanitizerMetadata.cpp | 121 +- .../clang/lib/CodeGen/SanitizerMetadata.h | 21 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 461 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.h | 2 +- .../clang/lib/CrossTU/CrossTranslationUnit.cpp | 114 +- .../lib/DirectoryWatcher/DirectoryScanner.cpp | 2 +- contrib/llvm-project/clang/lib/Driver/Action.cpp | 30 +- .../llvm-project/clang/lib/Driver/Compilation.cpp | 11 +- contrib/llvm-project/clang/lib/Driver/Distro.cpp | 3 + contrib/llvm-project/clang/lib/Driver/Driver.cpp | 814 +- .../clang/lib/Driver/SanitizerArgs.cpp | 116 +- .../llvm-project/clang/lib/Driver/ToolChain.cpp | 53 +- .../clang/lib/Driver/ToolChains/AIX.cpp | 11 +- .../clang/lib/Driver/ToolChains/AMDGPU.cpp | 69 +- .../clang/lib/Driver/ToolChains/AMDGPU.h | 3 +- .../clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | 20 +- .../clang/lib/Driver/ToolChains/AVR.cpp | 154 +- .../llvm-project/clang/lib/Driver/ToolChains/AVR.h | 17 +- .../clang/lib/Driver/ToolChains/Arch/AArch64.cpp | 174 +- .../clang/lib/Driver/ToolChains/Arch/AArch64.h | 1 - .../clang/lib/Driver/ToolChains/Arch/ARM.cpp | 54 +- .../clang/lib/Driver/ToolChains/Arch/ARM.h | 1 - .../clang/lib/Driver/ToolChains/Arch/CSKY.cpp | 170 + .../clang/lib/Driver/ToolChains/Arch/CSKY.h | 47 + .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 2 +- .../clang/lib/Driver/ToolChains/Arch/VE.h | 2 +- .../clang/lib/Driver/ToolChains/Arch/X86.cpp | 26 +- .../clang/lib/Driver/ToolChains/CSKYToolChain.cpp | 204 + .../clang/lib/Driver/ToolChains/CSKYToolChain.h | 63 + .../clang/lib/Driver/ToolChains/Clang.cpp | 945 +- .../clang/lib/Driver/ToolChains/Clang.h | 13 + .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 215 +- .../clang/lib/Driver/ToolChains/CommonArgs.h | 15 +- .../clang/lib/Driver/ToolChains/Cuda.cpp | 99 +- .../clang/lib/Driver/ToolChains/Cuda.h | 4 + .../clang/lib/Driver/ToolChains/Darwin.cpp | 404 +- .../clang/lib/Driver/ToolChains/Darwin.h | 31 +- .../clang/lib/Driver/ToolChains/Flang.cpp | 55 +- .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 2 + .../clang/lib/Driver/ToolChains/Fuchsia.cpp | 26 +- .../clang/lib/Driver/ToolChains/Fuchsia.h | 25 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 221 +- .../clang/lib/Driver/ToolChains/HIPAMD.cpp | 60 +- .../clang/lib/Driver/ToolChains/HIPAMD.h | 4 + .../clang/lib/Driver/ToolChains/HIPUtility.cpp | 12 +- .../clang/lib/Driver/ToolChains/HLSL.cpp | 183 + .../clang/lib/Driver/ToolChains/HLSL.h | 40 + .../clang/lib/Driver/ToolChains/Hexagon.cpp | 7 +- .../clang/lib/Driver/ToolChains/Hexagon.h | 3 - .../clang/lib/Driver/ToolChains/Lanai.h | 2 - .../clang/lib/Driver/ToolChains/Linux.cpp | 93 +- .../clang/lib/Driver/ToolChains/Linux.h | 2 + .../clang/lib/Driver/ToolChains/MSP430.cpp | 2 +- .../clang/lib/Driver/ToolChains/MSVC.cpp | 815 +- .../clang/lib/Driver/ToolChains/MSVC.h | 31 +- .../clang/lib/Driver/ToolChains/MinGW.cpp | 12 +- .../clang/lib/Driver/ToolChains/Minix.cpp | 9 +- .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 31 +- .../clang/lib/Driver/ToolChains/PS4CPU.cpp | 188 +- .../clang/lib/Driver/ToolChains/PS4CPU.h | 115 +- .../clang/lib/Driver/ToolChains/RISCVToolchain.cpp | 7 + .../clang/lib/Driver/ToolChains/RISCVToolchain.h | 1 - .../clang/lib/Driver/ToolChains/ROCm.h | 38 +- .../clang/lib/Driver/ToolChains/SPIRV.h | 3 +- .../clang/lib/Driver/ToolChains/Solaris.cpp | 14 +- .../clang/lib/Driver/ToolChains/VEToolchain.h | 1 - .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 110 +- .../clang/lib/Driver/ToolChains/WebAssembly.h | 9 + .../llvm-project/clang/lib/Driver/ToolChains/ZOS.h | 2 + contrib/llvm-project/clang/lib/Driver/Types.cpp | 41 +- .../clang/lib/Edit/RewriteObjCFoundationAPI.cpp | 6 +- contrib/llvm-project/clang/lib/ExtractAPI/API.cpp | 233 + .../clang/lib/ExtractAPI/DeclarationFragments.cpp | 799 + .../clang/lib/ExtractAPI/ExtractAPIConsumer.cpp | 974 + .../ExtractAPI/Serialization/SerializerBase.cpp | 19 + .../Serialization/SymbolGraphSerializer.cpp | 708 + .../ExtractAPI/TypedefUnderlyingTypeResolver.cpp | 79 + .../lib/ExtractAPI/TypedefUnderlyingTypeResolver.h | 46 + .../clang/lib/Format/AffectedRangeManager.cpp | 6 +- .../clang/lib/Format/BreakableToken.cpp | 98 +- .../clang/lib/Format/ContinuationIndenter.cpp | 844 +- .../clang/lib/Format/ContinuationIndenter.h | 6 - .../clang/lib/Format/DefinitionBlockSeparator.cpp | 30 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 456 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 32 +- .../llvm-project/clang/lib/Format/FormatToken.h | 626 +- .../clang/lib/Format/FormatTokenLexer.cpp | 277 +- .../clang/lib/Format/FormatTokenLexer.h | 7 + .../clang/lib/Format/MacroExpander.cpp | 3 +- .../clang/lib/Format/NamespaceEndCommentsFixer.cpp | 119 +- .../clang/lib/Format/QualifierAlignmentFixer.cpp | 141 +- .../clang/lib/Format/SortJavaScriptImports.cpp | 26 +- .../clang/lib/Format/TokenAnalyzer.cpp | 3 +- .../clang/lib/Format/TokenAnnotator.cpp | 1631 +- .../llvm-project/clang/lib/Format/TokenAnnotator.h | 37 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 450 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 1549 +- .../clang/lib/Format/UnwrappedLineParser.h | 42 +- .../clang/lib/Format/WhitespaceManager.cpp | 276 +- .../clang/lib/Format/WhitespaceManager.h | 20 +- .../llvm-project/clang/lib/Frontend/ASTUnit.cpp | 16 +- .../clang/lib/Frontend/CompilerInstance.cpp | 23 +- .../clang/lib/Frontend/CompilerInvocation.cpp | 530 +- .../Frontend/CreateInvocationFromCommandLine.cpp | 29 +- .../clang/lib/Frontend/DependencyFile.cpp | 35 +- .../clang/lib/Frontend/DependencyGraph.cpp | 26 +- .../clang/lib/Frontend/ExtractAPIConsumer.cpp | 32 - .../clang/lib/Frontend/FrontendAction.cpp | 81 +- .../clang/lib/Frontend/FrontendActions.cpp | 137 +- .../clang/lib/Frontend/FrontendOptions.cpp | 2 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 70 +- .../clang/lib/Frontend/LogDiagnosticPrinter.cpp | 6 +- .../lib/Frontend/ModuleDependencyCollector.cpp | 6 +- .../clang/lib/Frontend/MultiplexConsumer.cpp | 6 + .../clang/lib/Frontend/PrecompiledPreamble.cpp | 353 +- .../clang/lib/Frontend/PrintPreprocessedOutput.cpp | 44 +- .../lib/Frontend/Rewrite/InclusionRewriter.cpp | 8 +- .../lib/Frontend/Rewrite/RewriteModernObjC.cpp | 20 +- .../clang/lib/Frontend/Rewrite/RewriteObjC.cpp | 2 +- .../clang/lib/Frontend/TextDiagnostic.cpp | 3 +- .../lib/FrontendTool/ExecuteCompilerInvocation.cpp | 3 + .../clang/lib/Headers/__clang_cuda_intrinsics.h | 4 +- .../clang/lib/Headers/__wmmintrin_pclmul.h | 20 +- contrib/llvm-project/clang/lib/Headers/altivec.h | 735 +- contrib/llvm-project/clang/lib/Headers/amxintrin.h | 2 - .../llvm-project/clang/lib/Headers/avx2intrin.h | 16 +- .../clang/lib/Headers/avx512bwintrin.h | 24 +- .../llvm-project/clang/lib/Headers/avx512fintrin.h | 149 +- .../clang/lib/Headers/avx512vlbf16intrin.h | 2 +- .../clang/lib/Headers/avx512vlbwintrin.h | 16 +- .../clang/lib/Headers/avx512vlintrin.h | 176 +- .../clang/lib/Headers/avx512vlvnniintrin.h | 32 +- contrib/llvm-project/clang/lib/Headers/avxintrin.h | 95 +- .../llvm-project/clang/lib/Headers/avxvnniintrin.h | 32 +- contrib/llvm-project/clang/lib/Headers/bmiintrin.h | 8 +- contrib/llvm-project/clang/lib/Headers/cetintrin.h | 18 +- contrib/llvm-project/clang/lib/Headers/emmintrin.h | 1318 +- .../llvm-project/clang/lib/Headers/f16cintrin.h | 6 +- contrib/llvm-project/clang/lib/Headers/hlsl.h | 15 + .../clang/lib/Headers/hlsl/hlsl_basic_types.h | 64 + .../clang/lib/Headers/hlsl/hlsl_intrinsics.h | 15 + .../llvm-project/clang/lib/Headers/hresetintrin.h | 4 +- .../llvm-project/clang/lib/Headers/ia32intrin.h | 22 +- contrib/llvm-project/clang/lib/Headers/immintrin.h | 30 +- contrib/llvm-project/clang/lib/Headers/intrin.h | 33 +- .../clang/lib/Headers/keylockerintrin.h | 44 +- contrib/llvm-project/clang/lib/Headers/mm_malloc.h | 6 +- .../llvm-project/clang/lib/Headers/opencl-c-base.h | 10 + contrib/llvm-project/clang/lib/Headers/opencl-c.h | 13820 ++++++------ contrib/llvm-project/clang/lib/Headers/pmmintrin.h | 2 +- .../clang/lib/Headers/ppc_wrappers/bmi2intrin.h | 134 + .../clang/lib/Headers/ppc_wrappers/bmiintrin.h | 165 + .../clang/lib/Headers/ppc_wrappers/emmintrin.h | 2918 ++- .../clang/lib/Headers/ppc_wrappers/immintrin.h | 27 + .../clang/lib/Headers/ppc_wrappers/mm_malloc.h | 26 +- .../clang/lib/Headers/ppc_wrappers/mmintrin.h | 769 +- .../clang/lib/Headers/ppc_wrappers/nmmintrin.h | 26 + .../clang/lib/Headers/ppc_wrappers/pmmintrin.h | 147 +- .../clang/lib/Headers/ppc_wrappers/smmintrin.h | 580 +- .../clang/lib/Headers/ppc_wrappers/tmmintrin.h | 642 +- .../clang/lib/Headers/ppc_wrappers/x86gprintrin.h | 17 + .../clang/lib/Headers/ppc_wrappers/x86intrin.h | 28 + .../clang/lib/Headers/ppc_wrappers/xmmintrin.h | 2064 +- .../llvm-project/clang/lib/Headers/rdseedintrin.h | 6 +- contrib/llvm-project/clang/lib/Headers/rtmintrin.h | 2 +- contrib/llvm-project/clang/lib/Headers/smmintrin.h | 491 +- contrib/llvm-project/clang/lib/Headers/stdbool.h | 15 +- contrib/llvm-project/clang/lib/Headers/stddef.h | 2 +- .../llvm-project/clang/lib/Headers/stdnoreturn.h | 13 + .../llvm-project/clang/lib/Headers/uintrintrin.h | 16 +- contrib/llvm-project/clang/lib/Headers/unwind.h | 13 +- contrib/llvm-project/clang/lib/Headers/velintrin.h | 71 + .../clang/lib/Headers/velintrin_approx.h | 120 + .../llvm-project/clang/lib/Headers/velintrin_gen.h | 1257 ++ .../llvm-project/clang/lib/Headers/wasm_simd128.h | 4 +- contrib/llvm-project/clang/lib/Headers/xmmintrin.h | 12 +- contrib/llvm-project/clang/lib/Index/IndexBody.cpp | 22 +- contrib/llvm-project/clang/lib/Index/IndexDecl.cpp | 68 +- .../llvm-project/clang/lib/Index/IndexSymbol.cpp | 5 + .../clang/lib/Index/IndexTypeSourceInfo.cpp | 10 + .../clang/lib/Index/IndexingContext.cpp | 10 +- .../llvm-project/clang/lib/Index/USRGeneration.cpp | 31 +- .../clang/lib/Interpreter/IncrementalExecutor.cpp | 30 +- .../clang/lib/Interpreter/IncrementalExecutor.h | 14 +- .../clang/lib/Interpreter/IncrementalParser.cpp | 56 +- .../clang/lib/Interpreter/IncrementalParser.h | 4 + .../clang/lib/Interpreter/Interpreter.cpp | 30 +- .../clang/lib/Lex/DependencyDirectivesScanner.cpp | 862 + .../Lex/DependencyDirectivesSourceMinimizer.cpp | 982 - .../llvm-project/clang/lib/Lex/HeaderSearch.cpp | 237 +- .../clang/lib/Lex/InitHeaderSearch.cpp | 13 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 381 +- .../llvm-project/clang/lib/Lex/LiteralSupport.cpp | 241 +- contrib/llvm-project/clang/lib/Lex/MacroInfo.cpp | 34 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 48 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 445 +- .../llvm-project/clang/lib/Lex/PPExpressions.cpp | 19 +- .../llvm-project/clang/lib/Lex/PPLexerChange.cpp | 109 +- .../clang/lib/Lex/PPMacroExpansion.cpp | 127 +- contrib/llvm-project/clang/lib/Lex/Pragma.cpp | 102 +- .../clang/lib/Lex/PreprocessingRecord.cpp | 7 +- .../llvm-project/clang/lib/Lex/Preprocessor.cpp | 38 +- .../clang/lib/Lex/PreprocessorLexer.cpp | 5 +- contrib/llvm-project/clang/lib/Lex/TokenLexer.cpp | 2 +- contrib/llvm-project/clang/lib/Parse/ParseAST.cpp | 8 +- .../clang/lib/Parse/ParseCXXInlineMethods.cpp | 13 +- contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 508 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 245 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 112 +- .../llvm-project/clang/lib/Parse/ParseExprCXX.cpp | 48 +- contrib/llvm-project/clang/lib/Parse/ParseHLSL.cpp | 42 + contrib/llvm-project/clang/lib/Parse/ParseObjc.cpp | 63 +- .../llvm-project/clang/lib/Parse/ParseOpenMP.cpp | 164 +- .../llvm-project/clang/lib/Parse/ParsePragma.cpp | 343 +- contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp | 181 +- .../llvm-project/clang/lib/Parse/ParseTemplate.cpp | 54 +- contrib/llvm-project/clang/lib/Parse/Parser.cpp | 328 +- .../clang/lib/Sema/AnalysisBasedWarnings.cpp | 9 +- .../clang/lib/Sema/CodeCompleteConsumer.cpp | 12 +- .../clang/lib/Sema/IdentifierResolver.cpp | 6 +- .../llvm-project/clang/lib/Sema/OpenCLBuiltins.td | 90 +- contrib/llvm-project/clang/lib/Sema/ParsedAttr.cpp | 64 + contrib/llvm-project/clang/lib/Sema/Sema.cpp | 68 +- contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp | 35 +- contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp | 265 +- .../clang/lib/Sema/SemaAvailability.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 51 +- .../clang/lib/Sema/SemaCXXScopeSpec.cpp | 15 +- contrib/llvm-project/clang/lib/Sema/SemaCast.cpp | 21 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 739 +- .../clang/lib/Sema/SemaCodeComplete.cpp | 36 +- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 89 +- .../llvm-project/clang/lib/Sema/SemaCoroutine.cpp | 323 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 943 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 574 +- .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp | 297 +- .../llvm-project/clang/lib/Sema/SemaDeclObjC.cpp | 53 +- .../clang/lib/Sema/SemaExceptionSpec.cpp | 17 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 1044 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 272 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 30 +- .../llvm-project/clang/lib/Sema/SemaExprObjC.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 97 +- contrib/llvm-project/clang/lib/Sema/SemaLambda.cpp | 35 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 426 +- contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 327 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 2377 ++- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 488 +- contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 51 +- .../llvm-project/clang/lib/Sema/SemaStmtAsm.cpp | 27 +- .../llvm-project/clang/lib/Sema/SemaStmtAttr.cpp | 78 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 119 +- .../clang/lib/Sema/SemaTemplateDeduction.cpp | 51 +- .../clang/lib/Sema/SemaTemplateInstantiate.cpp | 99 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 194 +- .../clang/lib/Sema/SemaTemplateVariadic.cpp | 28 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 400 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 297 +- .../clang/lib/Serialization/ASTCommon.cpp | 5 +- .../clang/lib/Serialization/ASTReader.cpp | 1212 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 100 +- .../clang/lib/Serialization/ASTReaderStmt.cpp | 156 +- .../clang/lib/Serialization/ASTWriter.cpp | 461 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 74 +- .../clang/lib/Serialization/ASTWriterStmt.cpp | 67 +- .../clang/lib/Serialization/GlobalModuleIndex.cpp | 2 +- .../StaticAnalyzer/Checkers/ArrayBoundChecker.cpp | 4 +- .../Checkers/ArrayBoundCheckerV2.cpp | 19 +- .../Checkers/BasicObjCFoundationChecks.cpp | 12 +- .../Checkers/BoolAssignmentChecker.cpp | 16 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 80 +- .../Checkers/CallAndMessageChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/CastValueChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 4 +- .../Checkers/CheckObjCInstMethSignature.cpp | 8 +- .../Checkers/CheckSecuritySyntaxOnly.cpp | 30 +- .../lib/StaticAnalyzer/Checkers/CloneChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/DeadStoresChecker.cpp | 7 +- .../StaticAnalyzer/Checkers/DereferenceChecker.cpp | 51 +- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 2 +- .../Checkers/DynamicTypePropagation.cpp | 5 +- .../lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp | 249 + .../lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp | 288 + .../lib/StaticAnalyzer/Checkers/ErrnoModeling.h | 78 + .../StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp | 184 + .../Checkers/ExprInspectionChecker.cpp | 23 +- .../Checkers/FuchsiaHandleChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/GTestChecker.cpp | 19 +- .../Checkers/GenericTaintChecker.cpp | 185 +- .../Checkers/InnerPointerChecker.cpp | 15 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.cpp | 4 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.h | 8 +- .../StaticAnalyzer/Checkers/IteratorModeling.cpp | 8 +- .../Checkers/IvarInvalidationChecker.cpp | 4 +- .../Checkers/LLVMConventionsChecker.cpp | 2 +- .../Checkers/LocalizationChecker.cpp | 8 +- .../Checkers/MPI-Checker/MPIChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 150 +- .../Checkers/MallocSizeofChecker.cpp | 6 +- .../Checkers/MmapWriteExecChecker.cpp | 4 +- .../lib/StaticAnalyzer/Checkers/MoveChecker.cpp | 1 - .../lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp | 6 +- .../Checkers/NonNullParamChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/NullabilityChecker.cpp | 6 +- .../Checkers/NumberObjectConversionChecker.cpp | 2 +- .../StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp | 2 +- .../Checkers/ObjCAutoreleaseWriteChecker.cpp | 6 +- .../Checkers/ObjCContainersASTChecker.cpp | 6 +- .../Checkers/ObjCContainersChecker.cpp | 7 +- .../Checkers/ObjCSelfInitChecker.cpp | 22 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/PthreadLockChecker.cpp | 2 +- .../RetainCountChecker/RetainCountChecker.cpp | 5 +- .../RetainCountChecker/RetainCountDiagnostics.cpp | 9 +- .../Checkers/ReturnPointerRangeChecker.cpp | 4 +- .../Checkers/STLAlgorithmModeling.cpp | 4 +- .../Checkers/SimpleStreamChecker.cpp | 14 - .../StaticAnalyzer/Checkers/SmartPtrModeling.cpp | 34 +- .../Checkers/StackAddrEscapeChecker.cpp | 2 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 679 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 30 +- .../lib/StaticAnalyzer/Checkers/StringChecker.cpp | 2 +- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 6 +- .../StaticAnalyzer/Checkers/TaintTesterChecker.cpp | 21 +- .../Checkers/TrustReturnsNonnullChecker.cpp | 60 + .../StaticAnalyzer/Checkers/UndefResultChecker.cpp | 9 +- .../UninitializedObjectChecker.cpp | 2 +- .../UninitializedObject/UninitializedPointee.cpp | 8 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 8 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/ValistChecker.cpp | 4 +- .../Checkers/cert/InvalidPtrChecker.cpp | 16 +- .../lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | 17 +- .../clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 2 +- .../StaticAnalyzer/Core/BugReporterVisitors.cpp | 78 +- .../lib/StaticAnalyzer/Core/CallDescription.cpp | 44 +- .../clang/lib/StaticAnalyzer/Core/CallEvent.cpp | 34 +- .../lib/StaticAnalyzer/Core/CheckerContext.cpp | 29 +- .../lib/StaticAnalyzer/Core/ConstraintManager.cpp | 80 + .../clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | 71 +- .../clang/lib/StaticAnalyzer/Core/DynamicType.cpp | 8 +- .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 253 +- .../clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp | 21 +- .../lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 24 +- .../Core/ExprEngineCallAndReturn.cpp | 73 +- .../lib/StaticAnalyzer/Core/LoopUnrolling.cpp | 4 +- .../clang/lib/StaticAnalyzer/Core/MemRegion.cpp | 51 +- .../lib/StaticAnalyzer/Core/PlistDiagnostics.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/ProgramState.cpp | 37 +- .../StaticAnalyzer/Core/RangeConstraintManager.cpp | 243 +- .../Core/RangedConstraintManager.cpp | 71 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 152 +- .../clang/lib/StaticAnalyzer/Core/SValBuilder.cpp | 93 +- .../clang/lib/StaticAnalyzer/Core/SVals.cpp | 67 +- .../lib/StaticAnalyzer/Core/SarifDiagnostics.cpp | 15 +- .../Core/SimpleConstraintManager.cpp | 14 +- .../lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp | 173 +- .../clang/lib/StaticAnalyzer/Core/Store.cpp | 8 +- .../lib/StaticAnalyzer/Core/SymbolManager.cpp | 43 +- .../lib/StaticAnalyzer/Core/TextDiagnostics.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/WorkList.cpp | 16 +- .../StaticAnalyzer/Frontend/AnalysisConsumer.cpp | 63 +- .../StaticAnalyzer/Frontend/AnalyzerHelpFlags.cpp | 5 +- .../StaticAnalyzer/Frontend/CheckerRegistry.cpp | 4 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 955 + .../clang/lib/Testing/CommandLineArgs.cpp | 42 + contrib/llvm-project/clang/lib/Testing/TestAST.cpp | 162 + .../clang/lib/Tooling/Core/Replacement.cpp | 4 +- .../DependencyScanningFilesystem.cpp | 124 +- .../DependencyScanningService.cpp | 4 +- .../DependencyScanning/DependencyScanningTool.cpp | 55 +- .../DependencyScanningWorker.cpp | 112 +- .../DependencyScanning/ModuleDepCollector.cpp | 129 +- .../lib/Tooling/Inclusions/HeaderIncludes.cpp | 3 +- .../lib/Tooling/Inclusions/StandardLibrary.cpp | 165 + .../Tooling/InterpolatingCompilationDatabase.cpp | 2 +- .../Refactoring/Rename/USRFindingAction.cpp | 6 +- .../clang/lib/Tooling/Syntax/BuildTree.cpp | 4 +- .../clang/lib/Tooling/Transformer/RewriteRule.cpp | 53 +- .../clang/lib/Tooling/Transformer/Stencil.cpp | 2 +- .../clang/lib/Tooling/Transformer/Transformer.cpp | 58 +- .../clang/tools/clang-format/ClangFormat.cpp | 56 +- .../clang/tools/clang-repl/ClangRepl.cpp | 30 +- .../llvm-project/clang/tools/driver/cc1_main.cpp | 3 +- .../llvm-project/clang/tools/driver/cc1as_main.cpp | 28 +- contrib/llvm-project/clang/tools/driver/driver.cpp | 64 +- .../clang/utils/TableGen/ClangAttrEmitter.cpp | 437 +- .../utils/TableGen/ClangDiagnosticsEmitter.cpp | 16 +- .../utils/TableGen/ClangOpenCLBuiltinEmitter.cpp | 108 +- .../clang/utils/TableGen/ClangOptionDocEmitter.cpp | 28 +- .../utils/TableGen/ClangSACheckersEmitter.cpp | 41 +- .../clang/utils/TableGen/MveEmitter.cpp | 19 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 1069 +- .../compiler-rt/{lib => include}/orc/c_api.h | 3 - .../compiler-rt/include/profile/InstrProfData.inc | 4 +- .../compiler-rt/include/profile/MIBEntryDef.inc | 47 + .../compiler-rt/include/profile/MemProfData.inc | 139 +- .../compiler-rt/lib/asan/asan_allocator.cpp | 17 +- .../compiler-rt/lib/asan/asan_errors.cpp | 4 +- .../compiler-rt/lib/asan/asan_errors.h | 2 +- .../compiler-rt/lib/asan/asan_fake_stack.cpp | 2 - .../compiler-rt/lib/asan/asan_flags.cpp | 2 +- .../compiler-rt/lib/asan/asan_flags.inc | 11 +- .../compiler-rt/lib/asan/asan_fuchsia.cpp | 21 +- .../compiler-rt/lib/asan/asan_globals.cpp | 29 +- .../compiler-rt/lib/asan/asan_interceptors.cpp | 12 +- .../compiler-rt/lib/asan/asan_interceptors.h | 4 +- .../compiler-rt/lib/asan/asan_interface_internal.h | 5 +- .../compiler-rt/lib/asan/asan_internal.h | 38 +- .../llvm-project/compiler-rt/lib/asan/asan_mac.cpp | 4 +- .../compiler-rt/lib/asan/asan_malloc_mac.cpp | 2 +- .../compiler-rt/lib/asan/asan_mapping.h | 6 +- .../compiler-rt/lib/asan/asan_new_delete.cpp | 12 +- .../compiler-rt/lib/asan/asan_poisoning.cpp | 4 +- .../compiler-rt/lib/asan/asan_posix.cpp | 47 +- .../compiler-rt/lib/asan/asan_report.cpp | 6 +- .../llvm-project/compiler-rt/lib/asan/asan_rtl.cpp | 38 +- .../compiler-rt/lib/asan/asan_rtl_static.cpp | 21 + .../compiler-rt/lib/asan/asan_rtl_x86_64.S | 10 +- .../compiler-rt/lib/asan/asan_thread.cpp | 4 +- .../llvm-project/compiler-rt/lib/asan/asan_win.cpp | 38 +- .../compiler-rt/lib/builtins/aarch64/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/arm/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/arm/sync-ops.h | 22 +- .../llvm-project/compiler-rt/lib/builtins/atomic.c | 2 + .../compiler-rt/lib/builtins/avr/divmodhi4.S | 57 + .../compiler-rt/lib/builtins/avr/divmodqi4.S | 44 + .../compiler-rt/lib/builtins/avr/exit.S | 18 + .../compiler-rt/lib/builtins/avr/mulhi3.S | 71 + .../compiler-rt/lib/builtins/avr/mulqi3.S | 53 + .../compiler-rt/lib/builtins/avr/udivmodhi4.S | 49 + .../compiler-rt/lib/builtins/avr/udivmodqi4.S | 39 + .../compiler-rt/lib/builtins/clear_cache.c | 4 +- .../compiler-rt/lib/builtins/cpu_model.c | 43 +- .../llvm-project/compiler-rt/lib/builtins/emutls.c | 12 +- .../compiler-rt/lib/builtins/fp_compare_impl.inc | 3 + .../compiler-rt/lib/builtins/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/fp_trunc.h | 6 + .../compiler-rt/lib/builtins/gcc_personality_v0.c | 2 +- .../compiler-rt/lib/builtins/i386/fp_mode.c | 4 +- .../compiler-rt/lib/builtins/int_endianness.h | 2 +- .../compiler-rt/lib/builtins/os_version_check.c | 4 +- .../compiler-rt/lib/builtins/truncdfbf2.c | 13 + .../compiler-rt/lib/builtins/truncsfbf2.c | 13 + .../llvm-project/compiler-rt/lib/crt/crtbegin.c | 4 +- .../llvm-project/compiler-rt/lib/dfsan/dfsan.cpp | 27 +- contrib/llvm-project/compiler-rt/lib/dfsan/dfsan.h | 6 + .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 213 +- .../compiler-rt/lib/dfsan/dfsan_thread.cpp | 28 +- .../compiler-rt/lib/dfsan/dfsan_thread.h | 4 +- .../compiler-rt/lib/fuzzer/FuzzerInternal.h | 5 +- .../compiler-rt/lib/fuzzer/FuzzerLoop.cpp | 24 +- .../compiler-rt/lib/fuzzer/FuzzerTracePC.cpp | 9 +- .../llvm-project/compiler-rt/lib/hwasan/hwasan.cpp | 1 + .../llvm-project/compiler-rt/lib/hwasan/hwasan.h | 15 - .../compiler-rt/lib/hwasan/hwasan_allocator.cpp | 4 +- .../compiler-rt/lib/hwasan/hwasan_fuchsia.cpp | 20 +- .../compiler-rt/lib/hwasan/hwasan_new_delete.cpp | 63 +- .../compiler-rt/lib/hwasan/hwasan_preinit.cpp | 23 + .../compiler-rt/lib/interception/interception.h | 18 +- .../lib/interception/interception_mac.cpp | 4 +- .../lib/interception/interception_mac.h | 4 +- .../lib/interception/interception_type_test.cpp | 4 +- .../lib/interception/interception_win.cpp | 2 +- contrib/llvm-project/compiler-rt/lib/lsan/lsan.cpp | 9 +- contrib/llvm-project/compiler-rt/lib/lsan/lsan.h | 1 + .../compiler-rt/lib/lsan/lsan_allocator.cpp | 16 +- .../compiler-rt/lib/lsan/lsan_allocator.h | 10 +- .../compiler-rt/lib/lsan/lsan_common.cpp | 25 +- .../compiler-rt/lib/lsan/lsan_common.h | 4 +- .../compiler-rt/lib/lsan/lsan_common_fuchsia.cpp | 9 + .../compiler-rt/lib/lsan/lsan_common_mac.cpp | 4 +- .../compiler-rt/lib/lsan/lsan_fuchsia.cpp | 7 + .../compiler-rt/lib/lsan/lsan_interceptors.cpp | 10 +- .../llvm-project/compiler-rt/lib/lsan/lsan_mac.cpp | 4 +- .../compiler-rt/lib/lsan/lsan_malloc_mac.cpp | 4 +- .../compiler-rt/lib/lsan/lsan_posix.cpp | 5 + .../compiler-rt/lib/memprof/memprof_allocator.cpp | 55 +- .../compiler-rt/lib/memprof/memprof_internal.h | 15 - .../compiler-rt/lib/memprof/memprof_rtl.cpp | 2 + .../compiler-rt/lib/memprof/tests/rawprofile.cpp | 4 +- contrib/llvm-project/compiler-rt/lib/msan/msan.cpp | 33 +- contrib/llvm-project/compiler-rt/lib/msan/msan.h | 26 +- .../compiler-rt/lib/msan/msan_allocator.cpp | 7 +- .../compiler-rt/lib/msan/msan_flags.inc | 2 +- .../compiler-rt/lib/msan/msan_interceptors.cpp | 43 +- contrib/llvm-project/compiler-rt/lib/orc/adt.h | 19 +- contrib/llvm-project/compiler-rt/lib/orc/common.h | 2 +- .../compiler-rt/lib/orc/dlfcn_wrapper.cpp | 52 + .../compiler-rt/lib/orc/elfnix_platform.cpp | 47 +- .../compiler-rt/lib/orc/elfnix_platform.h | 2 +- .../compiler-rt/lib/orc/executor_address.h | 11 + .../lib/orc/macho_ehframe_registration.cpp | 2 +- .../compiler-rt/lib/orc/macho_platform.cpp | 914 +- .../compiler-rt/lib/orc/macho_platform.h | 59 - .../compiler-rt/lib/orc/wrapper_function_utils.h | 2 +- .../compiler-rt/lib/profile/GCDAProfiling.c | 14 +- .../compiler-rt/lib/profile/InstrProfiling.c | 2 +- .../compiler-rt/lib/profile/InstrProfilingFile.c | 18 +- .../lib/profile/InstrProfilingInternal.c | 2 +- .../compiler-rt/lib/profile/InstrProfilingMerge.c | 2 +- .../lib/profile/InstrProfilingPlatformFuchsia.c | 2 +- .../lib/profile/InstrProfilingPlatformLinux.c | 44 +- .../lib/profile/InstrProfilingPlatformOther.c | 4 +- .../compiler-rt/lib/profile/InstrProfilingUtil.c | 6 +- .../compiler-rt/lib/profile/InstrProfilingValue.c | 4 +- .../compiler-rt/lib/safestack/safestack_platform.h | 2 +- .../sanitizer_allocator_report.cpp | 3 +- .../lib/sanitizer_common/sanitizer_atomic_clang.h | 4 +- .../sanitizer_chained_origin_depot.cpp | 2 + .../sanitizer_chained_origin_depot.h | 1 + .../lib/sanitizer_common/sanitizer_common.cpp | 50 +- .../lib/sanitizer_common/sanitizer_common.h | 33 +- .../sanitizer_common_interceptors.inc | 251 +- .../sanitizer_common_interceptors_ioctl.inc | 10 +- .../sanitizer_common/sanitizer_common_libcdep.cpp | 5 + .../sanitizer_common/sanitizer_common_nolibc.cpp | 2 +- .../sanitizer_coverage_fuchsia.cpp | 1 + .../sanitizer_coverage_libcdep_new.cpp | 20 +- .../lib/sanitizer_common/sanitizer_errno.h | 2 +- .../lib/sanitizer_common/sanitizer_file.cpp | 9 +- .../lib/sanitizer_common/sanitizer_file.h | 2 +- .../lib/sanitizer_common/sanitizer_flags.inc | 6 +- .../lib/sanitizer_common/sanitizer_fuchsia.cpp | 54 +- .../sanitizer_interface_internal.h | 178 +- .../lib/sanitizer_common/sanitizer_internal_defs.h | 11 +- .../lib/sanitizer_common/sanitizer_libignore.cpp | 4 +- .../lib/sanitizer_common/sanitizer_linux.cpp | 130 +- .../lib/sanitizer_common/sanitizer_linux.h | 1 + .../sanitizer_common/sanitizer_linux_libcdep.cpp | 14 +- .../lib/sanitizer_common/sanitizer_mac.cpp | 33 +- .../lib/sanitizer_common/sanitizer_mac.h | 10 +- .../lib/sanitizer_common/sanitizer_mac_libcdep.cpp | 4 +- .../lib/sanitizer_common/sanitizer_malloc_mac.inc | 2 +- .../lib/sanitizer_common/sanitizer_mutex.h | 16 +- .../lib/sanitizer_common/sanitizer_openbsd.cpp | 0 .../lib/sanitizer_common/sanitizer_platform.h | 93 +- .../sanitizer_platform_interceptors.h | 14 +- .../sanitizer_platform_limits_freebsd.cpp | 4 + .../sanitizer_platform_limits_freebsd.h | 37 + *** 848833 LINES SKIPPED *** From nobody Sun Apr 9 21:35:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlkm4Pblz44J8S; Sun, 9 Apr 2023 21:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlkm2yl0z4Lqk; Sun, 9 Apr 2023 21:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oY7xBSa9T6ZM5yLyyD4sc+cDg1Lt9/H2qaFwFAMtmkw=; b=WN2YHqiKZF8NAIuoqs4e4c2i/Z3QQg6TJbOiAoIMTGfCwNyZ+ahxN0WmmFMqzPcv4C91R/ 64Y/TZL9Tj3scX2KZKbG4C9jrTbXiAEBCCbyM9W8HqVKnbuWH8PAiBFmE1xOseQMyWiz5n Q/hnijqEEtfOH4el76b6ltY4YbyxxlprqGnkUNo0cxHWBfaRHGLZBwGyAasAfYZSeaBPE0 msTSVYLB481PN+/KG8Mjrxt+PoYFoWUeoxCYXtqc8vZAx64EKx8wtGthGGUngiS6dkaUjI KniynUnPj7CFByE8tqagbO38CaA0vGTCvZ7EDcHr4/wT/qClaBONexpe0oposA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076112; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oY7xBSa9T6ZM5yLyyD4sc+cDg1Lt9/H2qaFwFAMtmkw=; b=oR0o1B5jxj9Ygb1bwZAnaj6IcY37OUhMqQLD2M8KnUkLCvKwGy3Ub2z2YQraAh0VNxLe2J gT4U4OihXvyx8nMZg9/nQztXD7zrIAaofDAP8rCQljf/Z+DBCT0ZF9f2POXmCxs5pGY4RY TolG93/t4KYTH8hv5Mq8SAPAGnkS8C+0EuxI6UW5wQCizt74e6jbXI4BpxlxSF1QEdKHF9 j0YfV1BL91GzHb3wn+MmVFe53qHSWwL7SFMNUt1UBwsIr0YF6TN2zwFz3Tb11TL3R+gRbb 0xkUvmE4DYIo6iM7qJ92x5Oy4NthIhHTqSzAD6qmkSkofMenVhkSAzOm+PeC4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076112; a=rsa-sha256; cv=none; b=Oha0I0/NcZJV4Ie9d5BC7TTWHhOufOFhiZC5PH1e3jKdCYhl/K+Irs21V0f4k1QiK/N1Zp GUAnCdPgyRZxqcVyhHuufI2M7e491ToBqpH0ZxQiBClOBF7qaTGqWtkdRzdp3Ku4WVKpps okmJO4zVqL7vY1klMfiZJz/0IZv3cPlg/j2/ltf/Kqq3Cs5c15OZ4AqG8YTHei1KRZAErr avz8mIJrsyz4TordJM169hOUgmi9+aMIlyiYEvthABgpS3hFOxIBpvt47LzA9nwhcaMJ0R 28DANuE7WiI+b4FXmtxJn4nLdhIpcwDVKcZupHT6RMLiYlBhiXx1A6X3ybwWVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkm10ZvzPf7; Sun, 9 Apr 2023 21:35:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZCjv081495; Sun, 9 Apr 2023 21:35:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZACF081493; Sun, 9 Apr 2023 21:35:10 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:10 GMT Message-Id: <202304092135.339LZACF081493@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7982d1ea2c5e - stable/13 - Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7982d1ea2c5eb2ea2261fd82ebd7eebdda0e58b3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7982d1ea2c5eb2ea2261fd82ebd7eebdda0e58b3 commit 7982d1ea2c5eb2ea2261fd82ebd7eebdda0e58b3 Author: Dimitry Andric AuthorDate: 2022-07-14 18:58:48 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:46 +0000 Merge llvm-project main llvmorg-15-init-16436-g18a6ab5b8d1f This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-16436-g18a6ab5b8d1f. PR: 265425 MFC after: 2 weeks (cherry picked from commit 753f127f3ace09432b2baeffd71a308760641a62) --- .../clang/include/clang/APINotes/Types.h | 2 +- .../clang/include/clang/AST/ASTContext.h | 42 +- .../clang/include/clang/AST/ASTImportError.h | 1 - .../clang/include/clang/AST/DeclTemplate.h | 13 +- .../clang/include/clang/AST/PropertiesBase.td | 10 +- .../FlowSensitive/DataflowAnalysisContext.h | 28 +- .../clang/Analysis/FlowSensitive/DebugSupport.h | 63 + .../include/clang/Analysis/FlowSensitive/Solver.h | 62 +- .../clang/include/clang/Analysis/SelectorExtras.h | 2 +- .../clang/include/clang/Basic/AlignedAllocation.h | 4 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 11 + .../clang/include/clang/Basic/AttrDocs.td | 47 +- .../clang/include/clang/Basic/BuiltinsX86.def | 1 + .../clang/include/clang/Basic/CodeGenOptions.def | 1 + .../clang/include/clang/Basic/CodeGenOptions.h | 3 + .../include/clang/Basic/DiagnosticDriverKinds.td | 2 - .../clang/include/clang/Basic/DiagnosticGroups.td | 4 + .../include/clang/Basic/DiagnosticLexKinds.td | 11 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 34 +- .../clang/include/clang/Basic/MakeSupport.h | 23 + .../clang/include/clang/Basic/TargetInfo.h | 6 +- .../clang/include/clang/Basic/riscv_vector.td | 99 +- .../clang/include/clang/Driver/Options.td | 27 +- .../clang/include/clang/Frontend/FrontendActions.h | 4 + .../clang/include/clang/Lex/Preprocessor.h | 63 + .../include/clang/Sema/HLSLExternalSemaSource.h | 41 + .../llvm-project/clang/include/clang/Sema/Sema.h | 45 +- .../StaticAnalyzer/Core/PathSensitive/CallEvent.h | 5 +- .../Core/PathSensitive/ConstraintManager.h | 12 +- .../Core/PathSensitive/SMTConstraintManager.h | 2 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 6 +- .../DependencyScanningFilesystem.h | 4 +- .../DependencyScanning/DependencyScanningTool.h | 12 +- .../DependencyScanning/ModuleDepCollector.h | 31 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 169 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 10 - contrib/llvm-project/clang/lib/AST/AttrImpl.cpp | 6 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 6 + .../llvm-project/clang/lib/AST/FormatString.cpp | 6 + .../clang/lib/AST/Interp/ByteCodeExprGen.cpp | 2 +- .../llvm-project/clang/lib/Analysis/BodyFarm.cpp | 4 +- .../Analysis/FlowSensitive/ControlFlowContext.cpp | 2 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 8 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 197 ++ .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 6 +- .../FlowSensitive/WatchedLiteralsSolver.cpp | 66 +- .../clang/lib/Analysis/PathDiagnostic.cpp | 4 +- .../clang/lib/Analysis/UninitializedValues.cpp | 4 +- .../llvm-project/clang/lib/Basic/LangStandards.cpp | 4 +- .../llvm-project/clang/lib/Basic/MakeSupport.cpp | 35 + .../llvm-project/clang/lib/Basic/TargetInfo.cpp | 2 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 2 +- .../llvm-project/clang/lib/Basic/Targets/SystemZ.h | 8 + .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 6 + contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 7 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 12 + .../llvm-project/clang/lib/CodeGen/CGCUDANV.cpp | 11 +- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 3 + contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 4 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 140 +- .../clang/lib/CodeGen/CGOpenMPRuntime.h | 10 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 48 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 14 + .../clang/lib/CodeGen/CodeGenModule.cpp | 10 + .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 19 + .../llvm-project/clang/lib/CodeGen/CodeGenTBAA.cpp | 37 +- .../clang/lib/CodeGen/SanitizerMetadata.cpp | 18 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 39 +- .../clang/lib/Driver/ToolChains/AVR.cpp | 8 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 234 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 3 +- .../clang/lib/Driver/ToolChains/Darwin.cpp | 14 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 2 +- .../clang/lib/Driver/ToolChains/Hexagon.cpp | 4 +- .../clang/lib/Driver/ToolChains/MinGW.cpp | 28 +- .../clang/lib/Driver/ToolChains/MinGW.h | 1 + .../clang/lib/Driver/ToolChains/RISCVToolchain.cpp | 7 +- .../Serialization/SymbolGraphSerializer.cpp | 4 +- .../clang/lib/Format/ContinuationIndenter.cpp | 6 +- .../clang/lib/Format/ContinuationIndenter.h | 2 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 31 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 2 +- .../llvm-project/clang/lib/Format/FormatToken.h | 9 + .../clang/lib/Format/MacroCallReconstructor.cpp | 573 +++++ contrib/llvm-project/clang/lib/Format/Macros.h | 279 ++- .../clang/lib/Format/TokenAnnotator.cpp | 8 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 15 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 16 +- .../clang/lib/Format/UnwrappedLineParser.h | 3 +- .../clang/lib/Frontend/CompilerInstance.cpp | 21 +- .../clang/lib/Frontend/CompilerInvocation.cpp | 28 +- .../clang/lib/Frontend/FrontendAction.cpp | 9 + .../clang/lib/Frontend/FrontendActions.cpp | 3 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 4 +- .../clang/lib/Headers/hlsl/hlsl_basic_types.h | 54 +- contrib/llvm-project/clang/lib/Headers/opencl-c.h | 18 - .../llvm-project/clang/lib/Headers/rdpruintrin.h | 57 + contrib/llvm-project/clang/lib/Headers/stdatomic.h | 4 - contrib/llvm-project/clang/lib/Headers/x86intrin.h | 4 + .../clang/lib/Lex/DependencyDirectivesScanner.cpp | 2 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 117 +- .../llvm-project/clang/lib/Lex/LiteralSupport.cpp | 10 +- contrib/llvm-project/clang/lib/Lex/MacroInfo.cpp | 2 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 4 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 90 +- .../clang/lib/Lex/PPMacroExpansion.cpp | 4 +- .../clang/lib/Lex/PreprocessingRecord.cpp | 2 +- .../llvm-project/clang/lib/Lex/Preprocessor.cpp | 14 + .../llvm-project/clang/lib/Parse/ParseOpenMP.cpp | 18 +- contrib/llvm-project/clang/lib/Parse/Parser.cpp | 18 +- .../clang/lib/Sema/HLSLExternalSemaSource.cpp | 96 + contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 13 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 403 ++-- .../clang/lib/Sema/SemaCodeComplete.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 72 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 46 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 48 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 35 + contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 13 + contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 79 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 65 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 9 +- .../clang/lib/Serialization/ASTReader.cpp | 16 +- .../clang/lib/Serialization/ASTWriter.cpp | 13 +- .../Checkers/BasicObjCFoundationChecks.cpp | 4 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 2 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 9 +- .../Checkers/NonNullParamChecker.cpp | 4 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 3 +- .../lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | 6 +- .../clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 6 +- .../StaticAnalyzer/Core/BugReporterVisitors.cpp | 8 +- .../Core/ExprEngineCallAndReturn.cpp | 2 +- .../lib/StaticAnalyzer/Core/PlistDiagnostics.cpp | 4 +- .../clang/lib/StaticAnalyzer/Core/SValBuilder.cpp | 6 + .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 4 +- .../DependencyScanning/DependencyScanningTool.cpp | 19 +- .../DependencyScanning/ModuleDepCollector.cpp | 45 +- .../clang/tools/clang-format/ClangFormat.cpp | 16 +- contrib/llvm-project/clang/tools/driver/driver.cpp | 4 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 22 +- .../compiler-rt/lib/asan/asan_globals.cpp | 4 +- .../compiler-rt/lib/asan/asan_interceptors.cpp | 4 +- .../llvm-project/compiler-rt/lib/asan/asan_rtl.cpp | 3 - .../llvm-project/compiler-rt/lib/hwasan/hwasan.cpp | 6 + .../compiler-rt/lib/hwasan/hwasan_fuchsia.cpp | 6 +- .../lib/hwasan/hwasan_interface_internal.h | 8 + .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 26 +- .../compiler-rt/lib/memprof/memprof_rtl.cpp | 3 - .../compiler-rt/lib/orc/elfnix_platform.cpp | 13 + .../compiler-rt/lib/orc/elfnix_tls.aarch64.S | 94 + .../compiler-rt/lib/profile/GCDAProfiling.c | 11 +- .../lib/sanitizer_common/sanitizer_common.h | 1 - .../sanitizer_common_interceptors.inc | 28 +- .../lib/sanitizer_common/sanitizer_flags.inc | 7 +- .../lib/sanitizer_common/sanitizer_fuchsia.cpp | 1 - .../lib/sanitizer_common/sanitizer_linux.cpp | 30 +- .../lib/sanitizer_common/sanitizer_linux.h | 3 + .../lib/sanitizer_common/sanitizer_mac.cpp | 136 +- .../lib/sanitizer_common/sanitizer_platform.h | 7 +- .../sanitizer_platform_limits_posix.cpp | 10 +- .../sanitizer_common/sanitizer_procmaps_mac.cpp | 8 +- .../lib/sanitizer_common/sanitizer_vector.h | 4 +- .../lib/sanitizer_common/sanitizer_win.cpp | 4 - .../compiler-rt/lib/scudo/standalone/fuchsia.cpp | 9 +- .../lib/scudo/standalone/include/scudo/interface.h | 14 +- .../compiler-rt/lib/scudo/standalone/release.h | 5 +- .../compiler-rt/lib/scudo/standalone/vector.h | 7 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 3 - .../libcxx/include/__algorithm/binary_search.h | 10 +- .../libcxx/include/__algorithm/count.h | 4 +- .../libcxx/include/__algorithm/equal_range.h | 18 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 12 +- .../libcxx/include/__algorithm/fill_n.h | 8 +- .../llvm-project/libcxx/include/__algorithm/find.h | 4 +- .../libcxx/include/__algorithm/find_end.h | 181 +- .../include/__algorithm/iterator_operations.h | 68 +- .../libcxx/include/__algorithm/lower_bound.h | 15 +- .../libcxx/include/__algorithm/make_heap.h | 43 +- .../libcxx/include/__algorithm/make_projected.h | 22 +- .../libcxx/include/__algorithm/minmax_element.h | 8 +- .../libcxx/include/__algorithm/nth_element.h | 44 +- .../libcxx/include/__algorithm/partial_sort.h | 9 +- .../libcxx/include/__algorithm/pop_heap.h | 60 +- .../libcxx/include/__algorithm/push_heap.h | 71 +- .../include/__algorithm/ranges_binary_search.h | 4 +- .../include/__algorithm/ranges_equal_range.h | 74 + .../libcxx/include/__algorithm/ranges_find_end.h | 113 + .../libcxx/include/__algorithm/ranges_generate.h | 73 + .../libcxx/include/__algorithm/ranges_generate_n.h | 65 + .../libcxx/include/__algorithm/ranges_includes.h | 75 + .../include/__algorithm/ranges_inplace_merge.h | 73 + .../libcxx/include/__algorithm/ranges_is_heap.h | 70 + .../include/__algorithm/ranges_is_heap_until.h | 71 + .../include/__algorithm/ranges_lower_bound.h | 4 +- .../libcxx/include/__algorithm/ranges_make_heap.h | 79 + .../libcxx/include/__algorithm/ranges_merge.h | 142 ++ .../include/__algorithm/ranges_nth_element.h | 79 + .../include/__algorithm/ranges_partial_sort_copy.h | 88 + .../libcxx/include/__algorithm/ranges_partition.h | 74 + .../include/__algorithm/ranges_partition_copy.h | 82 + .../include/__algorithm/ranges_partition_point.h | 71 + .../libcxx/include/__algorithm/ranges_pop_heap.h | 80 + .../libcxx/include/__algorithm/ranges_push_heap.h | 79 + .../libcxx/include/__algorithm/ranges_remove.h | 64 + .../include/__algorithm/ranges_remove_copy.h | 81 + .../include/__algorithm/ranges_remove_copy_if.h | 80 + .../libcxx/include/__algorithm/ranges_remove_if.h | 85 + .../include/__algorithm/ranges_replace_copy.h | 84 + .../include/__algorithm/ranges_replace_copy_if.h | 81 + .../include/__algorithm/ranges_reverse_copy.h | 67 + .../include/__algorithm/ranges_rotate_copy.h | 68 + .../libcxx/include/__algorithm/ranges_search.h | 134 ++ .../libcxx/include/__algorithm/ranges_search_n.h | 120 ++ .../include/__algorithm/ranges_set_difference.h | 104 + .../include/__algorithm/ranges_set_intersection.h | 117 + .../__algorithm/ranges_set_symmetric_difference.h | 116 + .../libcxx/include/__algorithm/ranges_set_union.h | 86 + .../libcxx/include/__algorithm/ranges_shuffle.h | 74 + .../libcxx/include/__algorithm/ranges_sort_heap.h | 79 + .../include/__algorithm/ranges_stable_partition.h | 75 + .../libcxx/include/__algorithm/ranges_unique.h | 74 + .../include/__algorithm/ranges_unique_copy.h | 88 + .../include/__algorithm/ranges_upper_bound.h | 4 +- .../libcxx/include/__algorithm/remove.h | 6 +- .../libcxx/include/__algorithm/remove_copy.h | 4 +- .../libcxx/include/__algorithm/search.h | 176 +- .../libcxx/include/__algorithm/search_n.h | 159 +- .../libcxx/include/__algorithm/set_difference.h | 81 +- .../libcxx/include/__algorithm/set_intersection.h | 101 +- .../include/__algorithm/set_symmetric_difference.h | 111 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 7 +- .../libcxx/include/__algorithm/sort_heap.h | 33 +- .../libcxx/include/__algorithm/upper_bound.h | 12 +- .../llvm-project/libcxx/include/__bit_reference | 16 +- contrib/llvm-project/libcxx/include/__bits | 17 + .../libcxx/include/__charconv/tables.h | 50 + .../libcxx/include/__charconv/to_chars_base_10.h | 60 +- contrib/llvm-project/libcxx/include/__chrono/day.h | 23 +- .../libcxx/include/__chrono/duration.h | 8 +- .../libcxx/include/__chrono/time_point.h | 4 +- .../llvm-project/libcxx/include/__chrono/year.h | 9 +- .../libcxx/include/__chrono/year_month_weekday.h | 8 +- contrib/llvm-project/libcxx/include/__config | 56 +- contrib/llvm-project/libcxx/include/__debug | 16 - .../libcxx/include/__debug_utils/randomize_range.h | 42 + .../libcxx/include/__filesystem/copy_options.h | 34 +- .../include/__filesystem/directory_options.h | 46 +- .../libcxx/include/__filesystem/operations.h | 22 +- .../libcxx/include/__filesystem/perm_options.h | 34 +- .../libcxx/include/__filesystem/perms.h | 28 +- .../libcxx/include/__format/format_arg.h | 23 +- .../libcxx/include/__format/format_arg_store.h | 10 +- .../libcxx/include/__format/formatter.h | 227 -- .../libcxx/include/__format/formatter_bool.h | 1 + .../libcxx/include/__format/formatter_char.h | 2 +- .../include/__format/formatter_floating_point.h | 415 ++-- .../libcxx/include/__format/formatter_integer.h | 33 +- .../libcxx/include/__format/formatter_integral.h | 5 +- .../libcxx/include/__format/formatter_output.h | 59 +- .../include/__format/parser_std_format_spec.h | 893 +------- .../libcxx/include/__functional/default_searcher.h | 8 +- .../libcxx/include/__functional/function.h | 4 +- contrib/llvm-project/libcxx/include/__hash_table | 63 +- .../include/__iterator/back_insert_iterator.h | 8 +- .../include/__iterator/front_insert_iterator.h | 8 +- .../libcxx/include/__iterator/insert_iterator.h | 8 +- .../libcxx/include/__iterator/iterator_traits.h | 12 + .../libcxx/include/__iterator/ostream_iterator.h | 4 +- .../libcxx/include/__iterator/reverse_iterator.h | 17 +- contrib/llvm-project/libcxx/include/__mutex_base | 12 +- .../llvm-project/libcxx/include/__numeric/iota.h | 6 +- .../__random/piecewise_constant_distribution.h | 20 +- .../__random/piecewise_linear_distribution.h | 20 +- .../libcxx/include/__ranges/zip_view.h | 8 +- contrib/llvm-project/libcxx/include/__split_buffer | 26 +- .../libcxx/include/__string/char_traits.h | 4 +- .../libcxx/include/__threading_support | 22 +- contrib/llvm-project/libcxx/include/__tree | 32 +- contrib/llvm-project/libcxx/include/__tuple | 6 +- .../libcxx/include/__type_traits/extent.h | 6 +- .../include/__type_traits/has_virtual_destructor.h | 2 +- .../libcxx/include/__type_traits/is_array.h | 4 +- .../libcxx/include/__type_traits/is_assignable.h | 6 +- .../libcxx/include/__type_traits/is_compound.h | 6 +- .../libcxx/include/__type_traits/is_const.h | 4 +- .../libcxx/include/__type_traits/is_convertible.h | 6 +- .../libcxx/include/__type_traits/is_destructible.h | 6 +- .../libcxx/include/__type_traits/is_function.h | 4 +- .../libcxx/include/__type_traits/is_fundamental.h | 6 +- .../libcxx/include/__type_traits/is_integral.h | 4 +- .../__type_traits/is_member_function_pointer.h | 6 +- .../__type_traits/is_member_object_pointer.h | 6 +- .../include/__type_traits/is_member_pointer.h | 6 +- .../include/__type_traits/is_nothrow_assignable.h | 4 +- .../__type_traits/is_nothrow_constructible.h | 4 +- .../libcxx/include/__type_traits/is_object.h | 6 +- .../libcxx/include/__type_traits/is_pod.h | 4 +- .../libcxx/include/__type_traits/is_pointer.h | 6 +- .../libcxx/include/__type_traits/is_reference.h | 10 +- .../libcxx/include/__type_traits/is_scalar.h | 6 +- .../libcxx/include/__type_traits/is_signed.h | 6 +- .../include/__type_traits/is_standard_layout.h | 2 +- .../libcxx/include/__type_traits/is_trivial.h | 2 +- .../__type_traits/is_trivially_destructible.h | 6 +- .../libcxx/include/__type_traits/is_unsigned.h | 6 +- .../libcxx/include/__type_traits/is_void.h | 4 +- .../libcxx/include/__type_traits/is_volatile.h | 4 +- contrib/llvm-project/libcxx/include/algorithm | 234 ++ contrib/llvm-project/libcxx/include/any | 2 +- contrib/llvm-project/libcxx/include/array | 7 +- contrib/llvm-project/libcxx/include/atomic | 9 +- contrib/llvm-project/libcxx/include/barrier | 8 +- contrib/llvm-project/libcxx/include/charconv | 135 +- contrib/llvm-project/libcxx/include/chrono | 12 +- contrib/llvm-project/libcxx/include/cmath | 6 +- contrib/llvm-project/libcxx/include/codecvt | 96 +- .../llvm-project/libcxx/include/condition_variable | 2 +- contrib/llvm-project/libcxx/include/deque | 18 +- contrib/llvm-project/libcxx/include/exception | 6 +- .../libcxx/include/experimental/functional | 6 +- .../llvm-project/libcxx/include/experimental/simd | 12 +- contrib/llvm-project/libcxx/include/ext/hash_map | 24 +- contrib/llvm-project/libcxx/include/ext/hash_set | 24 +- contrib/llvm-project/libcxx/include/format | 93 +- contrib/llvm-project/libcxx/include/forward_list | 42 +- contrib/llvm-project/libcxx/include/future | 8 +- contrib/llvm-project/libcxx/include/list | 16 +- contrib/llvm-project/libcxx/include/map | 64 +- contrib/llvm-project/libcxx/include/memory | 4 +- .../libcxx/include/module.modulemap.in | 41 + contrib/llvm-project/libcxx/include/regex | 29 +- .../llvm-project/libcxx/include/scoped_allocator | 18 +- contrib/llvm-project/libcxx/include/shared_mutex | 4 +- contrib/llvm-project/libcxx/include/string_view | 4 +- contrib/llvm-project/libcxx/include/system_error | 4 +- contrib/llvm-project/libcxx/include/tuple | 16 +- contrib/llvm-project/libcxx/include/unordered_map | 52 +- contrib/llvm-project/libcxx/include/unordered_set | 40 +- contrib/llvm-project/libcxx/include/variant | 4 +- contrib/llvm-project/libcxx/include/vector | 68 +- contrib/llvm-project/libcxx/include/wchar.h | 8 +- contrib/llvm-project/lld/COFF/Config.h | 4 + contrib/llvm-project/lld/COFF/Driver.cpp | 35 +- contrib/llvm-project/lld/COFF/Options.td | 2 + contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 306 ++- contrib/llvm-project/lld/ELF/Config.h | 3 +- contrib/llvm-project/lld/ELF/Driver.cpp | 22 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 29 +- contrib/llvm-project/lld/ELF/InputSection.h | 29 +- contrib/llvm-project/lld/ELF/LTO.cpp | 7 +- contrib/llvm-project/lld/ELF/Options.td | 2 + contrib/llvm-project/lld/ELF/OutputSections.cpp | 30 +- contrib/llvm-project/lld/ELF/OutputSections.h | 4 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 9 +- contrib/llvm-project/lld/ELF/Relocations.h | 13 +- contrib/llvm-project/lld/ELF/Target.h | 4 + contrib/llvm-project/lld/ELF/Thunks.cpp | 29 +- contrib/llvm-project/lld/ELF/Writer.cpp | 38 +- contrib/llvm-project/lld/MachO/Arch/ARM.cpp | 36 + contrib/llvm-project/lld/MachO/Arch/ARM64.cpp | 208 +- .../llvm-project/lld/MachO/Arch/ARM64Common.cpp | 18 + contrib/llvm-project/lld/MachO/Arch/ARM64Common.h | 3 + contrib/llvm-project/lld/MachO/Arch/X86_64.cpp | 23 + contrib/llvm-project/lld/MachO/Config.h | 3 - contrib/llvm-project/lld/MachO/Driver.cpp | 1 - contrib/llvm-project/lld/MachO/InputFiles.cpp | 77 +- contrib/llvm-project/lld/MachO/InputFiles.h | 1 + contrib/llvm-project/lld/MachO/InputSection.cpp | 6 + contrib/llvm-project/lld/MachO/SymbolTable.cpp | 4 + contrib/llvm-project/lld/MachO/Target.h | 9 + .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 2 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 8 +- contrib/llvm-project/lld/tools/lld/lld.cpp | 6 + .../lldb/bindings/interface/SBSection.i | 4 + .../llvm-project/lldb/bindings/interface/SBTrace.i | 2 + .../llvm-project/lldb/include/lldb/API/SBSection.h | 6 + .../llvm-project/lldb/include/lldb/API/SBTrace.h | 22 + .../lldb/include/lldb/Core/Disassembler.h | 17 +- .../lldb/include/lldb/Expression/DWARFExpression.h | 128 +- .../include/lldb/Expression/DWARFExpressionList.h | 151 ++ .../lldb/include/lldb/Interpreter/CommandObject.h | 3 - .../lldb/include/lldb/Symbol/Function.h | 16 +- .../lldb/include/lldb/Symbol/ObjectFile.h | 2 + .../lldb/include/lldb/Symbol/TypeList.h | 7 +- .../lldb/include/lldb/Symbol/TypeMap.h | 8 +- .../lldb/include/lldb/Symbol/Variable.h | 14 +- .../lldb/include/lldb/Target/StackFrame.h | 4 +- .../llvm-project/lldb/include/lldb/Target/Trace.h | 26 +- .../lldb/include/lldb/Target/TraceCursor.h | 10 + .../lldb/include/lldb/Target/TraceDumper.h | 3 + .../lldb/include/lldb/Utility/Environment.h | 2 +- .../lldb/include/lldb/Utility/RangeMap.h | 4 + .../lldb/Utility/TraceIntelPTGDBRemotePackets.h | 5 + .../lldb/include/lldb/lldb-enumerations.h | 47 +- .../llvm-project/lldb/include/lldb/lldb-forward.h | 1 + .../llvm-project/lldb/source/API/SBInstruction.cpp | 7 +- .../lldb/source/API/SBInstructionList.cpp | 5 +- contrib/llvm-project/lldb/source/API/SBSection.cpp | 9 + contrib/llvm-project/lldb/source/API/SBTrace.cpp | 18 + .../source/Commands/CommandObjectDisassemble.cpp | 8 + .../source/Commands/CommandObjectDisassemble.h | 1 + .../lldb/source/Commands/CommandObjectProcess.cpp | 128 +- .../lldb/source/Commands/CommandObjectTarget.cpp | 69 +- .../lldb/source/Commands/CommandObjectThread.cpp | 33 +- .../lldb/source/Commands/CommandObjectTrace.cpp | 116 +- .../llvm-project/lldb/source/Commands/Options.td | 28 +- contrib/llvm-project/lldb/source/Core/Debugger.cpp | 15 +- .../llvm-project/lldb/source/Core/Disassembler.cpp | 376 +++- .../lldb/source/Core/DumpDataExtractor.cpp | 5 +- contrib/llvm-project/lldb/source/Core/Module.cpp | 19 +- .../lldb/source/Core/ValueObjectVariable.cpp | 19 +- .../lldb/source/Expression/DWARFExpression.cpp | 334 +-- .../lldb/source/Expression/DWARFExpressionList.cpp | 248 +++ .../lldb/source/Expression/IRExecutionUnit.cpp | 4 +- .../lldb/source/Expression/Materializer.cpp | 2 +- .../lldb/source/Interpreter/CommandObject.cpp | 21 +- .../source/Plugins/ABI/X86/ABIWindows_x86_64.h | 11 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 6 +- .../Clang/ClangExpressionDeclMap.cpp | 53 +- .../Clang/ClangExpressionDeclMap.h | 4 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 8 + .../source/Plugins/Language/CPlusPlus/LibCxx.cpp | 279 ++- .../source/Plugins/Language/CPlusPlus/LibCxx.h | 50 + .../BSD-Archive/ObjectContainerBSDArchive.cpp | 208 +- .../BSD-Archive/ObjectContainerBSDArchive.h | 22 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 3 +- .../Plugins/ObjectFile/PDB/ObjectFilePDB.cpp | 2 - .../gdb-remote/GDBRemoteCommunicationClient.cpp | 4 +- .../gdb-remote/GDBRemoteCommunicationClient.h | 2 - .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 2 +- .../source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp | 2 +- .../source/Plugins/SymbolFile/DWARF/DWARFDIE.h | 11 +- .../SymbolFile/DWARF/DWARFDebugInfoEntry.cpp | 19 +- .../Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h | 2 +- .../source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp | 11 + .../source/Plugins/SymbolFile/DWARF/DWARFUnit.h | 2 + .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 83 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.h | 1 + .../NativePDB/DWARFLocationExpression.cpp | 4 +- .../Plugins/SymbolFile/NativePDB/PdbUtil.cpp | 10 +- .../source/Plugins/SymbolFile/NativePDB/PdbUtil.h | 4 +- .../SymbolFile/NativePDB/SymbolFileNativePDB.cpp | 28 +- .../PDB/PDBLocationToDWARFExpression.cpp | 2 +- .../Plugins/SymbolFile/PDB/SymbolFilePDB.cpp | 7 +- .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 89 +- .../intel-pt/CommandObjectTraceStartIntelPT.h | 18 + .../Plugins/Trace/intel-pt/DecodedThread.cpp | 32 +- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 23 +- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 2 + .../Trace/intel-pt/PerfContextSwitchDecoder.cpp | 45 +- .../Trace/intel-pt/PerfContextSwitchDecoder.h | 5 + .../lldb/source/Plugins/Trace/intel-pt/TaskTimer.h | 4 +- .../Plugins/Trace/intel-pt/ThreadDecoder.cpp | 5 +- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 4 + .../Plugins/Trace/intel-pt/TraceCursorIntelPT.h | 2 + .../source/Plugins/Trace/intel-pt/TraceIntelPT.cpp | 175 +- .../source/Plugins/Trace/intel-pt/TraceIntelPT.h | 23 +- .../Trace/intel-pt/TraceIntelPTBundleSaver.cpp | 138 +- .../Trace/intel-pt/TraceIntelPTBundleSaver.h | 12 +- .../Plugins/Trace/intel-pt/TraceIntelPTConstants.h | 1 + .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp | 77 +- .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h | 16 +- .../Plugins/Trace/intel-pt/TraceIntelPTOptions.td | 29 +- .../Plugins/TraceExporter/common/TraceHTR.cpp | 6 +- .../InstEmulation/UnwindAssemblyInstEmulation.cpp | 4 +- .../llvm-project/lldb/source/Symbol/Function.cpp | 14 +- contrib/llvm-project/lldb/source/Symbol/Symbol.cpp | 5 +- .../llvm-project/lldb/source/Symbol/TypeList.cpp | 9 +- .../llvm-project/lldb/source/Symbol/TypeMap.cpp | 41 +- .../llvm-project/lldb/source/Symbol/Variable.cpp | 30 +- .../lldb/source/Target/RegisterContextUnwind.cpp | 20 +- .../llvm-project/lldb/source/Target/StackFrame.cpp | 10 +- .../lldb/source/Target/ThreadPlanTracer.cpp | 5 +- .../lldb/source/Target/TraceCursor.cpp | 3 + .../lldb/source/Target/TraceDumper.cpp | 105 +- contrib/llvm-project/lldb/source/Utility/Args.cpp | 1 + .../Utility/TraceIntelPTGDBRemotePackets.cpp | 12 +- .../llvm-project/llvm/include/llvm-c/BitReader.h | 9 +- contrib/llvm-project/llvm/include/llvm-c/Core.h | 36 +- .../llvm/include/llvm/ADT/ScopedHashTable.h | 13 +- .../llvm-project/llvm/include/llvm/ADT/StringMap.h | 30 +- .../include/llvm/Analysis/BlockFrequencyInfoImpl.h | 8 +- .../llvm/include/llvm/Analysis/GlobalsModRef.h | 6 +- .../include/llvm/Analysis/InstSimplifyFolder.h | 17 +- .../llvm/include/llvm/Analysis/ScalarEvolution.h | 6 +- .../llvm/include/llvm/Analysis/TargetFolder.h | 53 +- .../include/llvm/Analysis/TargetTransformInfo.h | 14 +- .../llvm/Analysis/TargetTransformInfoImpl.h | 4 +- .../llvm/include/llvm/Analysis/ValueTracking.h | 6 +- .../llvm/include/llvm/Analysis/VectorUtils.h | 6 +- .../llvm/include/llvm/AsmParser/LLToken.h | 5 +- .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/include/llvm/Bitcode/LLVMBitCodes.h | 5 +- .../llvm/include/llvm/Bitstream/BitstreamWriter.h | 4 +- .../llvm/include/llvm/CodeGen/AsmPrinter.h | 7 +- .../llvm/include/llvm/CodeGen/BasicTTIImpl.h | 2 +- .../llvm/CodeGen/GlobalISel/InstructionSelector.h | 4 + .../CodeGen/GlobalISel/InstructionSelectorImpl.h | 21 +- .../llvm/CodeGen/GlobalISel/LegalizerHelper.h | 3 - .../llvm/CodeGen/GlobalISel/MachineIRBuilder.h | 41 + .../llvm/include/llvm/CodeGen/ISDOpcodes.h | 7 + .../llvm/include/llvm/CodeGen/MachineScheduler.h | 2 + .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 1 + .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 4 + .../llvm/include/llvm/CodeGen/TargetLowering.h | 3 + .../llvm/include/llvm/DWARFLinker/DWARFLinker.h | 3 - .../include/llvm/DebugInfo/Symbolize/Symbolize.h | 2 + .../llvm/include/llvm/Debuginfod/Debuginfod.h | 83 +- .../llvm/include/llvm/Debuginfod/HTTPServer.h | 123 ++ .../include/llvm/ExecutionEngine/JITLink/COFF.h | 39 + .../llvm/ExecutionEngine/JITLink/COFF_x86_64.h | 38 + .../include/llvm/ExecutionEngine/JITLink/aarch64.h | 14 +- .../llvm/ExecutionEngine/Orc/MachOPlatform.h | 3 - .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 5 +- .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 23 +- .../llvm/include/llvm/Frontend/OpenMP/OMPKinds.def | 10 + .../llvm/include/llvm/IR/Attributes.td | 4 + .../llvm-project/llvm/include/llvm/IR/Constant.h | 4 - .../llvm/include/llvm/IR/ConstantFolder.h | 50 +- .../llvm-project/llvm/include/llvm/IR/Constants.h | 36 +- .../llvm/include/llvm/IR/FixedMetadataKinds.def | 1 + .../llvm/include/llvm/IR/GlobalValue.h | 48 +- .../llvm-project/llvm/include/llvm/IR/IRBuilder.h | 24 +- .../llvm/include/llvm/IR/IRBuilderFolder.h | 10 +- .../llvm-project/llvm/include/llvm/IR/InlineAsm.h | 9 +- .../llvm/include/llvm/IR/Instructions.h | 12 +- .../llvm/include/llvm/IR/Intrinsics.td | 2 +- .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 43 +- .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 2 +- .../llvm/include/llvm/IR/IntrinsicsDirectX.td | 10 +- .../llvm/include/llvm/IR/IntrinsicsX86.td | 6 + .../llvm-project/llvm/include/llvm/IR/Metadata.h | 20 +- contrib/llvm-project/llvm/include/llvm/IR/Module.h | 4 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 2 +- .../llvm-project/llvm/include/llvm/IR/NoFolder.h | 18 +- .../llvm-project/llvm/include/llvm/IR/OptBisect.h | 4 +- .../llvm-project/llvm/include/llvm/LTO/Config.h | 6 +- .../llvm-project/llvm/include/llvm/MC/MCDwarf.h | 4 +- .../llvm/include/llvm/MC/MCSymbolWasm.h | 10 +- .../llvm/include/llvm/MC/MCSymbolXCOFF.h | 2 +- .../llvm/include/llvm/ObjCopy/CommonConfig.h | 1 + .../llvm/include/llvm/Object/Decompressor.h | 4 +- .../llvm/include/llvm/Support/ARMTargetParser.def | 3 + .../llvm/include/llvm/Support/Allocator.h | 21 +- .../llvm/include/llvm/Support/AllocatorBase.h | 22 + .../llvm/include/llvm/Support/Casting.h | 4 +- .../llvm/include/llvm/Support/CodeGen.h | 7 + .../llvm/include/llvm/Support/Compression.h | 23 +- .../llvm/include/llvm/Support/ConvertUTF.h | 2 + .../llvm-project/llvm/include/llvm/Support/Error.h | 2 +- .../llvm/include/llvm/Support/TargetOpcodes.def | 2 + .../llvm/include/llvm/Support/X86TargetParser.def | 1 + .../llvm/include/llvm/Target/GenericOpcodes.td | 2 + .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 4 + .../llvm/include/llvm/Target/TargetSelectionDAG.td | 58 + .../llvm/Transforms/IPO/PassManagerBuilder.h | 2 - .../llvm/include/llvm/Transforms/Utils/Debugify.h | 66 +- .../llvm/include/llvm/Transforms/Utils/LoopUtils.h | 8 +- .../include/llvm/Transforms/Utils/ModuleUtils.h | 3 +- .../Vectorize/LoopVectorizationLegality.h | 7 - .../llvm/lib/Analysis/BranchProbabilityInfo.cpp | 11 +- .../llvm/lib/Analysis/ConstantFolding.cpp | 15 +- .../llvm/lib/Analysis/GlobalsModRef.cpp | 16 - .../llvm/lib/Analysis/IRSimilarityIdentifier.cpp | 4 +- .../llvm/lib/Analysis/InlineAdvisor.cpp | 13 +- .../llvm-project/llvm/lib/Analysis/InlineCost.cpp | 17 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 45 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 6 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 5 +- .../llvm/lib/Analysis/MemoryBuiltins.cpp | 4 +- .../llvm-project/llvm/lib/Analysis/MustExecute.cpp | 2 +- .../llvm/lib/Analysis/ProfileSummaryInfo.cpp | 12 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 44 +- contrib/llvm-project/llvm/lib/Analysis/TFUtils.cpp | 11 +- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 2 +- .../llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp | 34 +- .../llvm/lib/Analysis/ValueTracking.cpp | 24 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 2 +- .../llvm-project/llvm/lib/AsmParser/LLLexer.cpp | 3 +- .../llvm-project/llvm/lib/AsmParser/LLParser.cpp | 84 +- .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 15 +- .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 9 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 125 +- .../lib/CodeGen/AsmPrinter/DIEHashAttributes.def | 2 +- .../llvm/lib/CodeGen/AtomicExpandPass.cpp | 2 + .../llvm/lib/CodeGen/ExpandVectorPredication.cpp | 3 +- .../llvm/lib/CodeGen/GlobalISel/CallLowering.cpp | 6 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 50 +- .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 15 +- .../lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 31 + .../llvm/lib/CodeGen/InterleavedAccessPass.cpp | 9 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 46 +- .../llvm/lib/CodeGen/LiveIntervals.cpp | 17 +- .../llvm/lib/CodeGen/MIRParser/MIParser.cpp | 2 +- .../llvm/lib/CodeGen/MachineBasicBlock.cpp | 2 +- .../llvm/lib/CodeGen/MachineFunctionSplitter.cpp | 4 +- .../llvm/lib/CodeGen/MachineScheduler.cpp | 7 +- .../llvm/lib/CodeGen/MachineVerifier.cpp | 1 + .../llvm/lib/CodeGen/ModuloSchedule.cpp | 8 +- .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocEvictionAdvisor.h | 3 - .../llvm/lib/CodeGen/SelectOptimize.cpp | 4 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 128 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 17 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 93 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 3 + .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 8 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 38 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 168 +- .../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 2 +- .../CodeGen/SelectionDAG/SelectionDAGDumper.cpp | 2 + .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 99 +- .../CodeGen/SelectionDAG/StatepointLowering.cpp | 4 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 160 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 6 +- .../llvm/lib/DWARFLinker/DWARFLinker.cpp | 1 + .../llvm/lib/DebugInfo/CodeView/CodeViewError.cpp | 5 +- .../llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 4 +- .../llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 10 +- .../llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | 29 +- .../llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp | 8 + .../llvm/lib/DebugInfo/MSF/MSFError.cpp | 7 +- .../llvm/lib/DebugInfo/PDB/DIA/DIAError.cpp | 7 +- .../llvm/lib/DebugInfo/PDB/GenericError.cpp | 7 +- .../llvm/lib/DebugInfo/PDB/Native/RawError.cpp | 7 +- .../llvm/lib/DebugInfo/Symbolize/Symbolize.cpp | 4 +- .../llvm/lib/Debuginfod/Debuginfod.cpp | 315 ++- .../llvm/lib/Debuginfod/HTTPServer.cpp | 189 ++ .../ExecutionEngine/GDBRegistrationListener.cpp | 30 +- .../llvm/lib/ExecutionEngine/JITLink/COFF.cpp | 137 ++ .../JITLink/COFFLinkGraphBuilder.cpp | 527 +++++ .../ExecutionEngine/JITLink/COFFLinkGraphBuilder.h | 199 ++ .../lib/ExecutionEngine/JITLink/COFF_x86_64.cpp | 216 ++ .../lib/ExecutionEngine/JITLink/EHFrameSupport.cpp | 5 +- .../lib/ExecutionEngine/JITLink/ELF_aarch64.cpp | 161 +- .../llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp | 30 +- .../llvm/lib/ExecutionEngine/JITLink/JITLink.cpp | 11 +- .../lib/ExecutionEngine/JITLink/MachO_arm64.cpp | 2 +- .../llvm/lib/ExecutionEngine/JITLink/aarch64.cpp | 8 +- .../lib/ExecutionEngine/Orc/ELFNixPlatform.cpp | 6 +- .../llvm/lib/ExecutionEngine/Orc/LLJIT.cpp | 5 +- .../ExecutionEngine/Orc/ObjectFileInterface.cpp | 52 + .../llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp | 4 +- .../lib/ExecutionEngine/Orc/Shared/OrcError.cpp | 10 +- .../Orc/TargetProcess/JITLoaderGDB.cpp | 8 +- .../PerfJITEvents/PerfJITEventListener.cpp | 10 +- .../ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 6 +- .../ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 2 +- .../llvm/lib/Frontend/OpenMP/OMPContext.cpp | 4 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 115 +- contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp | 14 +- contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp | 27 +- contrib/llvm-project/llvm/lib/IR/Constants.cpp | 183 +- .../llvm-project/llvm/lib/IR/ConstantsContext.h | 60 +- contrib/llvm-project/llvm/lib/IR/Core.cpp | 86 +- contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp | 43 +- contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 17 +- contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 10 +- .../llvm-project/llvm/lib/IR/LLVMContextImpl.cpp | 5 +- contrib/llvm-project/llvm/lib/IR/Metadata.cpp | 7 - contrib/llvm-project/llvm/lib/IR/Module.cpp | 12 + contrib/llvm-project/llvm/lib/IR/OptBisect.cpp | 7 +- contrib/llvm-project/llvm/lib/IR/PassRegistry.cpp | 10 +- .../llvm/lib/InterfaceStub/IFSHandler.cpp | 21 +- contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp | 52 +- contrib/llvm-project/llvm/lib/Linker/IRMover.cpp | 28 +- .../llvm-project/llvm/lib/MC/ELFObjectWriter.cpp | 14 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 4 +- .../llvm/lib/MC/MCDisassembler/MCDisassembler.cpp | 4 +- .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 2 + .../llvm/lib/MC/MCParser/MasmParser.cpp | 92 +- contrib/llvm-project/llvm/lib/MC/MCSchedule.cpp | 8 +- contrib/llvm-project/llvm/lib/MC/MCSectionELF.cpp | 2 + .../llvm-project/llvm/lib/MC/MCSectionXCOFF.cpp | 4 +- .../llvm/lib/ObjCopy/ConfigManager.cpp | 28 +- .../llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp | 125 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 24 +- .../llvm-project/llvm/lib/ObjCopy/ELF/ELFObject.h | 2 +- .../llvm-project/llvm/lib/Object/Decompressor.cpp | 7 +- contrib/llvm-project/llvm/lib/Object/ELF.cpp | 1 + .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp | 18 +- contrib/llvm-project/llvm/lib/Object/Error.cpp | 6 +- .../llvm/lib/ObjectYAML/DXContainerEmitter.cpp | 6 +- .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp | 1 + .../llvm/lib/Passes/PassBuilderPipelines.cpp | 3 +- .../llvm/lib/Passes/StandardInstrumentations.cpp | 5 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 6 +- .../ProfileData/Coverage/CoverageMappingReader.cpp | 12 +- .../ProfileData/Coverage/CoverageMappingWriter.cpp | 12 +- .../llvm/lib/ProfileData/InstrProf.cpp | 32 +- .../llvm/lib/ProfileData/SampleProf.cpp | 6 +- .../llvm/lib/ProfileData/SampleProfReader.cpp | 10 +- .../llvm/lib/ProfileData/SampleProfWriter.cpp | 11 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 6 +- .../llvm-project/llvm/lib/Support/Compression.cpp | 52 +- .../llvm-project/llvm/lib/Support/ConvertUTF.cpp | 10 + contrib/llvm-project/llvm/lib/Support/Error.cpp | 12 +- contrib/llvm-project/llvm/lib/Support/Process.cpp | 2 +- contrib/llvm-project/llvm/lib/Support/Unicode.cpp | 2 +- .../llvm-project/llvm/lib/Support/Unix/Process.inc | 8 +- .../llvm/lib/Support/VirtualFileSystem.cpp | 6 +- .../llvm/lib/Support/Windows/Signals.inc | 5 + .../llvm/lib/Support/X86TargetParser.cpp | 6 +- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 2 +- contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 2 +- .../llvm/lib/Target/AArch64/AArch64.td | 11 +- .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 2 + .../lib/Target/AArch64/AArch64ISelLowering.cpp | 239 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 4 + .../llvm/lib/Target/AArch64/AArch64InstrAtomics.td | 38 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 2 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 2 + .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 73 +- .../llvm/lib/Target/AArch64/AArch64SchedA53.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedA55.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA57.td | 7 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 4 +- .../llvm/lib/Target/AArch64/AArch64SchedAmpere1.td | 4 +- .../llvm/lib/Target/AArch64/AArch64SchedCyclone.td | 3 +- .../lib/Target/AArch64/AArch64SchedExynosM3.td | 3 +- .../lib/Target/AArch64/AArch64SchedExynosM4.td | 3 +- .../lib/Target/AArch64/AArch64SchedExynosM5.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedFalkor.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedKryo.td | 3 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2279 ++++++++++++++++++++ .../llvm/lib/Target/AArch64/AArch64SchedTSV110.td | 3 +- .../lib/Target/AArch64/AArch64SchedThunderX.td | 3 +- .../lib/Target/AArch64/AArch64SchedThunderX2T99.td | 3 +- .../Target/AArch64/AArch64SchedThunderX3T110.td | 3 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 47 + .../Target/AArch64/AArch64TargetTransformInfo.h | 6 +- .../Target/AArch64/GISel/AArch64CallLowering.cpp | 29 +- .../lib/Target/AArch64/GISel/AArch64CallLowering.h | 4 + .../AArch64/GISel/AArch64InstructionSelector.cpp | 57 +- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 35 +- .../AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp | 14 +- .../AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp | 1 + .../AArch64/MCTargetDesc/AArch64MCTargetDesc.h | 1 + .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 34 + .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 10 +- .../lib/Target/AArch64/Utils/AArch64BaseInfo.h | 3 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h | 3 + .../lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 53 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 2 + .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 47 +- .../llvm/lib/Target/AMDGPU/AMDGPUInstructions.td | 76 +- .../llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp | 4 + .../lib/Target/AMDGPU/AMDGPUMachineModuleInfo.h | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp | 11 +- .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 13 + .../llvm/lib/Target/AMDGPU/BUFInstructions.td | 27 +- .../llvm/lib/Target/AMDGPU/DSInstructions.td | 77 +- .../llvm/lib/Target/AMDGPU/FLATInstructions.td | 27 +- .../llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp | 175 ++ .../llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp | 127 +- .../llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp | 212 ++ .../llvm/lib/Target/AMDGPU/GCNVOPDUtils.h | 32 + .../AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h | 6 - .../AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp | 1 + .../AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h | 1 + .../AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp | 13 +- .../AMDGPU/MCTargetDesc/R600MCTargetDesc.cpp | 2 + .../Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h | 1 + .../Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp | 8 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 2 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.h | 4 +- .../llvm/lib/Target/AMDGPU/R600MCInstLower.cpp | 4 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 19 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 125 +- .../llvm/lib/Target/AMDGPU/SIInstructions.td | 37 + .../llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp | 1 + .../llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp | 6 + .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp | 8 +- .../lib/Target/AMDGPU/SIOptimizeExecMasking.cpp | 524 ++--- .../Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp | 15 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp | 4 + .../llvm/lib/Target/AMDGPU/SIRegisterInfo.h | 2 + .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 34 + .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 14 + .../llvm/lib/Target/AMDGPU/VOP2Instructions.td | 6 +- .../llvm/lib/Target/AMDGPU/VOPCInstructions.td | 2 - .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 6 +- .../llvm/lib/Target/ARC/ARCAsmPrinter.cpp | 3 + .../Target/ARC/MCTargetDesc/ARCMCTargetDesc.cpp | 1 + .../lib/Target/ARC/MCTargetDesc/ARCMCTargetDesc.h | 1 + contrib/llvm-project/llvm/lib/Target/ARM/ARM.td | 11 +- .../llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 4 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 14 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 6 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.h | 2 +- .../Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 1 + .../lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h | 1 + .../lib/Target/ARM/MVEGatherScatterLowering.cpp | 8 +- .../llvm/lib/Target/AVR/AVRAsmPrinter.cpp | 4 + .../Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp | 1 + .../lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h | 1 + .../lib/Target/BPF/BPFAbstractMemberAccess.cpp | 79 + .../llvm/lib/Target/BPF/BPFAsmPrinter.cpp | 3 + contrib/llvm-project/llvm/lib/Target/BPF/BTF.h | 2 + .../Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp | 15 +- .../Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp | 1 + .../lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h | 1 + .../llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp | 3 + .../llvm/lib/Target/CSKY/CSKYInstrInfo.td | 2 +- .../llvm/lib/Target/CSKY/CSKYInstrInfo16Instr.td | 2 +- .../Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp | 1 + .../Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.h | 1 + .../llvm-project/llvm/lib/Target/DirectX/DXIL.td | 8 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 4 + .../llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp | 3 + .../lib/Target/Hexagon/HexagonFrameLowering.cpp | 2 +- .../Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp | 3 - .../Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h | 5 - .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp | 1 + .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.h | 1 + .../lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp | 4 +- .../llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp | 3 + .../Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp | 1 + .../Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h | 1 + .../lib/Target/LoongArch/LoongArchAsmPrinter.cpp | 3 + .../lib/Target/LoongArch/LoongArchAsmPrinter.h | 4 + .../Target/LoongArch/LoongArchFloat32InstrInfo.td | 52 + .../Target/LoongArch/LoongArchFloat64InstrInfo.td | 54 + .../Target/LoongArch/LoongArchFrameLowering.cpp | 172 +- .../lib/Target/LoongArch/LoongArchFrameLowering.h | 18 + .../lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp | 56 +- .../lib/Target/LoongArch/LoongArchISelDAGToDAG.h | 5 + .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 569 +++++ .../lib/Target/LoongArch/LoongArchISelLowering.h | 26 + .../lib/Target/LoongArch/LoongArchInstrInfo.cpp | 70 +- .../llvm/lib/Target/LoongArch/LoongArchInstrInfo.h | 10 + .../lib/Target/LoongArch/LoongArchInstrInfo.td | 218 +- .../lib/Target/LoongArch/LoongArchMCInstLower.cpp | 33 +- .../lib/Target/LoongArch/LoongArchRegisterInfo.cpp | 24 +- .../Target/LoongArch/LoongArchTargetMachine.cpp | 7 + .../MCTargetDesc/LoongArchMCTargetDesc.cpp | 1 + .../LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h | 1 + .../llvm/lib/Target/M68k/M68kAsmPrinter.cpp | 3 + .../Target/M68k/MCTargetDesc/M68kMCTargetDesc.cpp | 1 + .../Target/M68k/MCTargetDesc/M68kMCTargetDesc.h | 1 + .../MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp | 1 + .../MSP430/MCTargetDesc/MSP430MCTargetDesc.h | 1 + .../llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp | 3 + .../Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | 1 + .../Target/Mips/MCTargetDesc/MipsMCTargetDesc.h | 1 + .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 4 + .../NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp | 1 + .../Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.h | 1 + contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTX.h | 1 + .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 3 + .../llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp | 4 - .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 2 +- .../llvm/lib/Target/NVPTX/NVPTXImageOptimizer.cpp | 2 + .../lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp | 2 + .../llvm/lib/Target/NVPTX/NVPTXUtilities.cpp | 54 +- .../PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp | 10 +- .../Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h | 6 - .../PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 1 + .../Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h | 1 + .../llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 48 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 9 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.h | 1 + .../llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp | 20 +- .../RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp | 10 - .../RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp | 1 + .../Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h | 1 + .../llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp | 3 + .../llvm/lib/Target/RISCV/RISCVFrameLowering.cpp | 17 +- .../llvm/lib/Target/RISCV/RISCVFrameLowering.h | 4 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 646 +++--- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h | 13 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 105 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 6 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 1 - .../llvm/lib/Target/RISCV/RISCVInstrInfoV.td | 85 +- .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td | 36 +- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 16 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZb.td | 28 +- .../lib/Target/RISCV/RISCVMakeCompressible.cpp | 10 +- .../llvm/lib/Target/RISCV/RISCVScheduleV.td | 28 + .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 4 + .../SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp | 10 - .../SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp | 1 + .../Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.h | 1 + .../llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp | 3 + .../llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp | 6 + .../lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp | 95 + .../llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h | 174 ++ .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 52 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 41 +- .../lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 34 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 101 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 6 + .../Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp | 15 +- .../Sparc/MCTargetDesc/SparcMCTargetDesc.cpp | 1 + .../Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h | 1 + .../llvm/lib/Target/Sparc/SparcAsmPrinter.cpp | 2 + .../SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp | 17 +- .../SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp | 1 + .../SystemZ/MCTargetDesc/SystemZMCTargetDesc.h | 1 + .../llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp | 3 + .../llvm/lib/Target/SystemZ/SystemZCallingConv.td | 6 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 113 +- .../llvm/lib/Target/TargetLoweringObjectFile.cpp | 7 + .../lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp | 15 +- .../lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp | 1 + .../lib/Target/VE/MCTargetDesc/VEMCTargetDesc.h | 1 + .../llvm/lib/Target/VE/VEAsmPrinter.cpp | 2 + .../llvm-project/llvm/lib/Target/VE/VEInstrInfo.td | 8 +- .../llvm/lib/Target/VE/VERegisterInfo.cpp | 203 +- .../llvm/lib/Target/VE/VVPISelLowering.cpp | 2 +- .../AsmParser/WebAssemblyAsmTypeCheck.cpp | 7 +- .../MCTargetDesc/WebAssemblyMCTargetDesc.cpp | 1 + .../MCTargetDesc/WebAssemblyMCTargetDesc.h | 1 + .../TargetInfo/WebAssemblyTargetInfo.cpp | 1 + .../WebAssembly/Utils/WebAssemblyTypeUtilities.cpp | 33 +- .../WebAssembly/Utils/WebAssemblyTypeUtilities.h | 8 +- .../WebAssembly/Utils/WebAssemblyUtilities.cpp | 22 + .../WebAssembly/Utils/WebAssemblyUtilities.h | 4 + .../Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 2 + .../Target/WebAssembly/WebAssemblyCFGStackify.cpp | 22 +- .../Target/WebAssembly/WebAssemblyInstrInfo.cpp | 18 +- .../WebAssemblyLowerEmscriptenEHSjLj.cpp | 2 +- .../Target/WebAssembly/WebAssemblyMCInstLower.cpp | 25 +- .../lib/Target/WebAssembly/WebAssemblyPeephole.cpp | 27 +- .../WebAssemblyRuntimeLibcallSignatures.cpp | 17 +- .../Target/X86/MCTargetDesc/X86InstComments.cpp | 2 +- .../X86/MCTargetDesc/X86InstrRelaxTables.cpp | 8 +- .../Target/X86/MCTargetDesc/X86MCTargetDesc.cpp | 1 + contrib/llvm-project/llvm/lib/Target/X86/X86.h | 4 + contrib/llvm-project/llvm/lib/Target/X86/X86.td | 3 + .../llvm/lib/Target/X86/X86EvexToVex.cpp | 1 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 193 +- .../llvm/lib/Target/X86/X86InstrCompiler.td | 38 - .../llvm/lib/Target/X86/X86InstrFMA3Info.cpp | 2 +- .../llvm/lib/Target/X86/X86InstrFoldTables.cpp | 8 +- .../llvm/lib/Target/X86/X86InstrInfo.td | 1 + .../llvm/lib/Target/X86/X86InstrSystem.td | 9 + .../llvm/lib/Target/X86/X86IntrinsicsInfo.h | 3 +- .../llvm/lib/Target/X86/X86MCInstLower.cpp | 4 + .../llvm/lib/Target/X86/X86PartialReduction.cpp | 6 +- .../llvm/lib/Target/X86/X86ReturnThunks.cpp | 92 + .../llvm/lib/Target/X86/X86TargetMachine.cpp | 2 + .../XCore/MCTargetDesc/XCoreMCTargetDesc.cpp | 1 + .../Target/XCore/MCTargetDesc/XCoreMCTargetDesc.h | 1 + .../llvm/lib/Target/XCore/XCoreAsmPrinter.cpp | 3 + .../llvm/lib/ToolDrivers/llvm-lib/Options.td | 2 + .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 49 +- .../llvm/lib/Transforms/Coroutines/CoroSplit.cpp | 2 +- .../llvm/lib/Transforms/IPO/Attributor.cpp | 12 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 173 +- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 6 +- .../llvm/lib/Transforms/IPO/IROutliner.cpp | 34 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 9 +- .../llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 177 -- .../lib/Transforms/IPO/SampleContextTracker.cpp | 2 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 4 +- .../Transforms/InstCombine/InstCombineAddSub.cpp | 105 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 13 +- .../InstCombine/InstCombineAtomicRMW.cpp | 8 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 7 +- *** 66128 LINES SKIPPED *** From nobody Sun Apr 9 21:35:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlkq4KWkz44JNX; Sun, 9 Apr 2023 21:35:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlkp6Bh7z4LrK; Sun, 9 Apr 2023 21:35:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mDpbJe7hKTOh6GDzsEyQoV+yHYtfZctUL7VoRtptD3A=; b=j2q64aQbBtIqSCCDMJSc35Uq8xH3BIlM6QuD2xvnXtANcubibRkoKU9z6+6OA1qrNNiuHa IW244k6RfVKZAbDoR+0LDCa+dD5iOeMyJIlFfSeLD9AFiofSNjxC0EovGaLyj+weQkr3gS W+aspCZNsbmQ8GeUUzwAP96tlqLdCfcUduORbn7TS77ZbSpWSVYEb4Cnbq9YfOrBcdMx0U CmPqgWJLBpOicyYyRKRpEo5nsBmiPfTCL0GWFoZ9B5EwDc28Te1U11ZnjZ+IuxT0LOXDAv f2FLRggjJ5Nixgh0v/MjP29JQKlU9H0TVXC5AxpNafFyFUy4YiN3Cy1xqeXu2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076115; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mDpbJe7hKTOh6GDzsEyQoV+yHYtfZctUL7VoRtptD3A=; b=IVD8eyVwP9/ENKmQi3p+mpx1KbxVf26k5CXFntHPeL4CzTUhnpe8YTuLzZAOa6rhd3eZDp n9E2MWuqRp+YICWK2ckY/wf7LcvKADkoYZ7QxckFbxEtQq+YKc9UrKJHc4/jIsDoBNhhbk X/GPG/W00buEp5lyAU7LBeaxObIb4XL9J4yyyLCkEUzrIxmLM8b16cBchlykYdk8l2A4Hz yCXjHAot5bmSWupc9n5TwGR0odDoIEj3pzfOS7Ej3XMlyRpN2qiqHwVCHsdHNiNLazXO+r lNOypQ2c6+LHGrhcz8DBEZxTPzCM+Lhwfo452whsnoYc3nNMKU0P1HWmyElWwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076115; a=rsa-sha256; cv=none; b=DzGSMR5v9sxtMqdB3i8BCJCHLQNoQxutgZIqK7NylaKrNOWN8C5SCHKjNM0zL8WJttR0Hw Xrj2gIRjNdZTqn+zMZ2m3I+0NvYLrgZh5qERL4M+kEupuZu0ZJY4TP/c68kY/PUkyj3n3S BM17EiDscUngmxHJbMKAaU9JUC8lZ0J5CQTT8OMpRY5o6lfeB0f+nrfJ0G9vM0XhHsOyVr orpGpHb5bXQLs+WTb+mjMg7dNrg2pGl8t7Y0hhxD6wIIuk5x6k2stNaP+q6xfqSydUfjXu sBKiNK8z7ZKRLjcC9fDvPqcK+3CX9v21lZoTiGgkaTwyX/33mTisZVUQPXdq0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkp5BSVzPKS; Sun, 9 Apr 2023 21:35:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZExp081514; Sun, 9 Apr 2023 21:35:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZDYA081513; Sun, 9 Apr 2023 21:35:13 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:13 GMT Message-Id: <202304092135.339LZDYA081513@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 13a2180118bd - stable/13 - Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 13a2180118bde2302097a9e6cc995c1b255724bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=13a2180118bde2302097a9e6cc995c1b255724bb commit 13a2180118bde2302097a9e6cc995c1b255724bb Author: Dimitry Andric AuthorDate: 2022-07-24 15:11:41 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:47 +0000 Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17485-ga3e38b4a206b. PR: 265425 MFC after: 2 weeks (cherry picked from commit fcaf7f8644a9988098ac6be2165bce3ea4786e91) --- .../clang/include/clang/APINotes/Types.h | 2 +- .../clang/include/clang/AST/ASTContext.h | 9 + .../llvm-project/clang/include/clang/AST/Decl.h | 27 +- .../clang/include/clang/AST/DeclBase.h | 10 +- .../clang/include/clang/ASTMatchers/ASTMatchers.h | 33 +- .../clang/Analysis/Analyses/ThreadSafetyTIL.h | 8 +- .../Analysis/FlowSensitive/DataflowAnalysis.h | 6 + .../FlowSensitive/DataflowAnalysisContext.h | 3 + .../Analysis/FlowSensitive/DataflowEnvironment.h | 3 +- .../clang/Analysis/FlowSensitive/DebugSupport.h | 23 +- .../clang/Analysis/FlowSensitive/NoopAnalysis.h | 47 + .../FlowSensitive/TypeErasedDataflowAnalysis.h | 25 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 2 +- .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 25 + .../clang/include/clang/Basic/CodeGenOptions.def | 4 + .../include/clang/Basic/DiagnosticDriverKinds.td | 7 + .../clang/include/clang/Basic/DiagnosticGroups.td | 3 +- .../include/clang/Basic/DiagnosticLexKinds.td | 14 +- .../clang/include/clang/Basic/DiagnosticOptions.h | 2 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 42 +- .../clang/include/clang/Basic/Features.def | 2 +- .../clang/include/clang/Basic/LangOptions.def | 3 +- .../clang/include/clang/Basic/Module.h | 12 + .../clang/include/clang/Basic/NoSanitizeList.h | 2 + .../llvm-project/clang/include/clang/Basic/Sarif.h | 440 ++++ .../clang/include/clang/Driver/Options.h | 3 +- .../clang/include/clang/Driver/Options.td | 49 +- .../clang/include/clang/Format/Format.h | 2 +- .../clang/include/clang/Frontend/FrontendOptions.h | 3 + .../include/clang/Sema/CodeCompleteConsumer.h | 18 + .../llvm-project/clang/include/clang/Sema/Sema.h | 5 + .../Core/PathSensitive/ConstraintManager.h | 3 + .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 64 +- .../StaticAnalyzer/Core/PathSensitive/MemRegion.h | 1 + .../Core/PathSensitive/SValBuilder.h | 33 - .../StaticAnalyzer/Core/PathSensitive/SVals.h | 5 + .../DependencyScanning/DependencyScanningTool.h | 4 +- .../DependencyScanning/DependencyScanningWorker.h | 3 +- .../clang/Tooling/Inclusions/IncludeStyle.h | 8 +- .../clang/include/clang/Tooling/Syntax/BuildTree.h | 18 +- .../clang/include/clang/Tooling/Syntax/Mutations.h | 6 +- .../clang/include/clang/Tooling/Syntax/Nodes.h | 7 +- .../clang/Tooling/Syntax/TokenBufferTokenManager.h | 70 + .../include/clang/Tooling/Syntax/TokenManager.h | 47 + .../clang/include/clang/Tooling/Syntax/Tokens.h | 1 - .../clang/include/clang/Tooling/Syntax/Tree.h | 49 +- .../clang/include/clang/module.modulemap | 14 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 5 + contrib/llvm-project/clang/lib/AST/Decl.cpp | 24 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 5 +- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp | 8 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 6 + .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 3 + .../FlowSensitive/DataflowAnalysisContext.cpp | 13 + .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 6 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 83 +- .../clang/lib/Analysis/ThreadSafety.cpp | 11 + .../llvm-project/clang/lib/Basic/MakeSupport.cpp | 2 +- .../clang/lib/Basic/NoSanitizeList.cpp | 5 + contrib/llvm-project/clang/lib/Basic/Sarif.cpp | 389 ++++ .../clang/lib/Basic/Targets/AMDGPU.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 4 +- contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 4 - .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 1 + contrib/llvm-project/clang/lib/CodeGen/CGCall.h | 3 - .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 185 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 25 +- .../llvm-project/clang/lib/CodeGen/CGObjCRuntime.h | 3 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 7 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 23 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 2 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 137 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 49 +- .../clang/lib/CodeGen/SwiftCallingConv.cpp | 3 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.h | 4 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 36 +- contrib/llvm-project/clang/lib/Driver/Multilib.cpp | 7 +- .../llvm-project/clang/lib/Driver/ToolChain.cpp | 2 + .../clang/lib/Driver/ToolChains/AIX.cpp | 10 +- .../clang/lib/Driver/ToolChains/Ananas.cpp | 2 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 12 +- .../clang/lib/Driver/ToolChains/BareMetal.cpp | 2 + .../clang/lib/Driver/ToolChains/Clang.cpp | 103 +- .../clang/lib/Driver/ToolChains/Clang.h | 6 + .../clang/lib/Driver/ToolChains/CloudABI.cpp | 2 + .../clang/lib/Driver/ToolChains/CrossWindows.cpp | 5 +- .../clang/lib/Driver/ToolChains/Darwin.cpp | 30 +- .../clang/lib/Driver/ToolChains/DragonFly.cpp | 2 +- .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 16 +- .../clang/lib/Driver/ToolChains/Fuchsia.cpp | 4 +- .../clang/lib/Driver/ToolChains/Hexagon.cpp | 2 + .../clang/lib/Driver/ToolChains/MipsLinux.cpp | 2 + .../clang/lib/Driver/ToolChains/NaCl.cpp | 2 + .../clang/lib/Driver/ToolChains/NetBSD.cpp | 2 +- .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 11 +- .../clang/lib/Driver/ToolChains/VEToolchain.cpp | 2 + .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 2 + .../clang/lib/ExtractAPI/ExtractAPIConsumer.cpp | 1 + .../clang/lib/Format/ContinuationIndenter.cpp | 11 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 39 +- .../clang/lib/Format/TokenAnnotator.cpp | 13 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 3 +- .../clang/lib/Frontend/FrontendAction.cpp | 3 +- .../clang/lib/Frontend/InitPreprocessor.cpp | 21 +- .../clang/lib/Frontend/TextDiagnostic.cpp | 2 + .../clang/lib/Headers/__clang_cuda_intrinsics.h | 8 +- .../clang/lib/Headers/ppc_wrappers/emmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/mm_malloc.h | 3 +- .../clang/lib/Headers/ppc_wrappers/mmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/pmmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/smmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/tmmintrin.h | 7 +- .../clang/lib/Headers/ppc_wrappers/xmmintrin.h | 7 +- .../llvm-project/clang/lib/Headers/x86gprintrin.h | 28 +- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 6 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 6 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 29 +- contrib/llvm-project/clang/lib/Parse/ParseAST.cpp | 23 + .../clang/lib/Sema/AnalysisBasedWarnings.cpp | 3 +- .../clang/lib/Sema/CodeCompleteConsumer.cpp | 15 +- contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 2 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 49 +- .../clang/lib/Sema/SemaCodeComplete.cpp | 72 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 37 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 11 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 16 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 15 +- contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 10 + .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 6 +- .../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 5 + contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 3 +- .../clang/lib/Serialization/ASTReader.cpp | 502 +++-- .../clang/lib/Serialization/ASTReaderDecl.cpp | 4 + .../clang/lib/Serialization/ASTWriterDecl.cpp | 3 + .../Checkers/ExprInspectionChecker.cpp | 60 +- .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 156 +- .../lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 77 +- .../Core/ExprEngineCallAndReturn.cpp | 61 +- .../clang/lib/StaticAnalyzer/Core/MemRegion.cpp | 4 + .../StaticAnalyzer/Core/RangeConstraintManager.cpp | 133 +- .../clang/lib/StaticAnalyzer/Core/SValBuilder.cpp | 870 ++++---- .../clang/lib/StaticAnalyzer/Core/SVals.cpp | 10 + .../DependencyScanning/DependencyScanningTool.cpp | 5 +- .../DependencyScanningWorker.cpp | 7 +- .../clang/lib/Tooling/Syntax/BuildTree.cpp | 57 +- .../lib/Tooling/Syntax/ComputeReplacements.cpp | 37 +- .../clang/lib/Tooling/Syntax/Mutations.cpp | 5 +- .../clang/lib/Tooling/Syntax/Nodes.cpp | 2 +- .../clang/lib/Tooling/Syntax/Synthesis.cpp | 34 +- .../lib/Tooling/Syntax/TokenBufferTokenManager.cpp | 25 + .../llvm-project/clang/lib/Tooling/Syntax/Tree.cpp | 52 +- .../llvm-project/clang/tools/driver/cc1_main.cpp | 11 +- .../clang/utils/TableGen/ClangOptionDocEmitter.cpp | 28 + .../compiler-rt/lib/asan/asan_interceptors.cpp | 35 +- .../compiler-rt/lib/asan/asan_interceptors_vfork.S | 1 + .../compiler-rt/lib/asan/asan_internal.h | 1 + .../compiler-rt/lib/asan/asan_linux.cpp | 12 +- .../llvm-project/compiler-rt/lib/asan/asan_mac.cpp | 2 + .../compiler-rt/lib/asan/asan_mapping.h | 9 + .../llvm-project/compiler-rt/lib/asan/asan_win.cpp | 2 + .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 13 +- .../compiler-rt/lib/lsan/lsan_common.cpp | 2 +- .../compiler-rt/lib/memprof/memprof_internal.h | 2 - .../compiler-rt/lib/memprof/memprof_linux.cpp | 6 - contrib/llvm-project/compiler-rt/lib/msan/msan.h | 21 + ...zer_common_interceptors_vfork_loongarch64.inc.S | 63 + .../sanitizer_coverage_interface.inc | 10 + .../sanitizer_coverage_libcdep_new.cpp | 10 + .../sanitizer_interface_internal.h | 20 + .../lib/sanitizer_common/sanitizer_linux.cpp | 104 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 52 +- .../lib/sanitizer_common/sanitizer_mac.cpp | 56 + .../lib/sanitizer_common/sanitizer_mac.h | 11 + .../lib/sanitizer_common/sanitizer_platform.h | 6 + .../sanitizer_platform_limits_linux.cpp | 3 +- .../sanitizer_platform_limits_posix.cpp | 6 +- .../sanitizer_platform_limits_posix.h | 13 +- .../sanitizer_procmaps_solaris.cpp | 58 +- .../lib/sanitizer_common/sanitizer_solaris.h | 56 + .../lib/sanitizer_common/sanitizer_stacktrace.cpp | 4 +- .../sanitizer_stoptheworld_mac.cpp | 2 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 1 - .../sanitizer_syscall_linux_loongarch64.inc | 167 ++ .../compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h | 115 +- .../compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp | 59 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 29 +- .../compiler-rt/lib/ubsan/ubsan_value.cpp | 6 +- .../libcxx/include/__algorithm/equal_range.h | 87 +- .../libcxx/include/__algorithm/includes.h | 58 +- .../libcxx/include/__algorithm/inplace_merge.h | 48 +- .../include/__algorithm/iterator_operations.h | 28 +- .../libcxx/include/__algorithm/make_heap.h | 7 +- .../libcxx/include/__algorithm/make_projected.h | 15 + .../libcxx/include/__algorithm/min_element.h | 44 +- .../libcxx/include/__algorithm/nth_element.h | 36 +- .../libcxx/include/__algorithm/partial_sort.h | 71 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 12 +- .../libcxx/include/__algorithm/partition.h | 49 +- .../libcxx/include/__algorithm/pop_heap.h | 17 +- .../libcxx/include/__algorithm/push_heap.h | 17 +- .../include/__algorithm/ranges_equal_range.h | 41 +- .../libcxx/include/__algorithm/ranges_fill.h | 2 +- .../libcxx/include/__algorithm/ranges_find_end.h | 18 +- .../libcxx/include/__algorithm/ranges_for_each_n.h | 1 - .../libcxx/include/__algorithm/ranges_generate_n.h | 1 - .../libcxx/include/__algorithm/ranges_includes.h | 60 +- .../libcxx/include/__algorithm/ranges_is_heap.h | 1 - .../include/__algorithm/ranges_iterator_concept.h | 51 + .../libcxx/include/__algorithm/ranges_make_heap.h | 3 +- .../include/__algorithm/ranges_min_element.h | 1 + .../include/__algorithm/ranges_nth_element.h | 3 +- .../include/__algorithm/ranges_partial_sort.h | 77 + .../libcxx/include/__algorithm/ranges_partition.h | 22 +- .../include/__algorithm/ranges_partition_copy.h | 36 +- .../include/__algorithm/ranges_partition_point.h | 37 +- .../libcxx/include/__algorithm/ranges_pop_heap.h | 3 +- .../libcxx/include/__algorithm/ranges_push_heap.h | 3 +- .../libcxx/include/__algorithm/ranges_set_union.h | 84 +- .../libcxx/include/__algorithm/ranges_shuffle.h | 49 +- .../libcxx/include/__algorithm/ranges_sort.h | 3 +- .../libcxx/include/__algorithm/ranges_sort_heap.h | 3 +- .../include/__algorithm/ranges_stable_partition.h | 25 +- .../include/__algorithm/ranges_stable_sort.h | 3 +- .../libcxx/include/__algorithm/rotate.h | 85 +- .../libcxx/include/__algorithm/search_n.h | 2 +- .../libcxx/include/__algorithm/set_union.h | 102 +- .../libcxx/include/__algorithm/shuffle.h | 25 +- .../libcxx/include/__algorithm/sift_down.h | 13 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 268 ++- .../libcxx/include/__algorithm/sort_heap.h | 12 +- .../libcxx/include/__algorithm/stable_partition.h | 95 +- .../libcxx/include/__algorithm/stable_sort.h | 75 +- .../libcxx/include/__algorithm/unwrap_iter.h | 76 +- .../libcxx/include/__algorithm/upper_bound.h | 64 +- contrib/llvm-project/libcxx/include/__config | 25 +- .../libcxx/include/__debug_utils/randomize_range.h | 7 +- .../__format/extended_grapheme_cluster_table.h | 332 +++ .../libcxx/include/__format/formatter_integral.h | 2 +- .../libcxx/include/__format/formatter_output.h | 111 +- .../libcxx/include/__format/formatter_string.h | 4 +- .../include/__format/parser_std_format_spec.h | 664 ++---- .../llvm-project/libcxx/include/__format/unicode.h | 339 +++ .../libcxx/include/__iterator/reverse_iterator.h | 39 +- contrib/llvm-project/libcxx/include/__locale | 9 +- .../include/__random/binomial_distribution.h | 2 +- .../include/__random/discrete_distribution.h | 2 +- .../include/__random/geometric_distribution.h | 2 +- .../libcxx/include/__random/is_valid.h | 7 +- .../__random/negative_binomial_distribution.h | 8 +- .../libcxx/include/__random/poisson_distribution.h | 2 +- .../include/__random/uniform_int_distribution.h | 2 +- contrib/llvm-project/libcxx/include/algorithm | 122 ++ contrib/llvm-project/libcxx/include/bit | 3 - contrib/llvm-project/libcxx/include/format | 3 +- contrib/llvm-project/libcxx/include/limits | 4 - .../libcxx/include/module.modulemap.in | 46 +- contrib/llvm-project/libcxx/include/ostream | 84 + contrib/llvm-project/libcxx/include/version | 4 +- .../llvm-project/libunwind/src/UnwindCursor.hpp | 10 +- contrib/llvm-project/lld/COFF/Chunks.cpp | 3 +- contrib/llvm-project/lld/COFF/DLL.cpp | 8 +- contrib/llvm-project/lld/COFF/DebugTypes.cpp | 3 +- contrib/llvm-project/lld/COFF/DriverUtils.cpp | 10 +- contrib/llvm-project/lld/COFF/PDB.cpp | 18 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 82 +- contrib/llvm-project/lld/ELF/Driver.cpp | 27 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 37 +- contrib/llvm-project/lld/ELF/InputFiles.h | 10 +- contrib/llvm-project/lld/ELF/LTO.cpp | 4 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 8 +- contrib/llvm-project/lld/ELF/Writer.cpp | 4 +- contrib/llvm-project/lld/MachO/Arch/ARM.cpp | 34 +- contrib/llvm-project/lld/MachO/Arch/ARM64.cpp | 42 +- contrib/llvm-project/lld/MachO/Arch/ARM64_32.cpp | 39 +- contrib/llvm-project/lld/MachO/Arch/X86_64.cpp | 36 +- contrib/llvm-project/lld/MachO/Config.h | 11 +- contrib/llvm-project/lld/MachO/Driver.cpp | 138 +- contrib/llvm-project/lld/MachO/ICF.cpp | 31 +- contrib/llvm-project/lld/MachO/ICF.h | 2 +- contrib/llvm-project/lld/MachO/InputFiles.cpp | 74 +- contrib/llvm-project/lld/MachO/InputFiles.h | 1 + contrib/llvm-project/lld/MachO/InputSection.cpp | 5 + contrib/llvm-project/lld/MachO/InputSection.h | 3 +- contrib/llvm-project/lld/MachO/LTO.cpp | 25 +- contrib/llvm-project/lld/MachO/Options.td | 1 - .../llvm-project/lld/MachO/SectionPriorities.cpp | 2 +- contrib/llvm-project/lld/MachO/SymbolTable.cpp | 7 + contrib/llvm-project/lld/MachO/SymbolTable.h | 2 + .../llvm-project/lld/MachO/SyntheticSections.cpp | 235 ++- contrib/llvm-project/lld/MachO/SyntheticSections.h | 23 + contrib/llvm-project/lld/MachO/Target.h | 11 +- .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 2 +- contrib/llvm-project/lld/MachO/Writer.cpp | 5 + .../lldb/include/lldb/Core/EmulateInstruction.h | 2 +- .../include/lldb/DataFormatters/TypeCategory.h | 2 +- .../include/lldb/DataFormatters/TypeSynthetic.h | 2 +- .../lldb/include/lldb/Expression/Materializer.h | 22 + .../lldb/include/lldb/Expression/UserExpression.h | 17 + .../lldb/include/lldb/Interpreter/CommandObject.h | 11 +- .../lldb/Interpreter/CommandOptionArgumentTable.h | 334 +++ .../lldb/include/lldb/Symbol/SymbolFile.h | 2 +- .../lldb/include/lldb/Target/MemoryRegionInfo.h | 2 +- .../llvm-project/lldb/include/lldb/Target/Target.h | 6 - .../lldb/Utility/StringExtractorGDBRemote.h | 1 + .../lldb/include/lldb/lldb-enumerations.h | 2 + .../lldb/include/lldb/lldb-private-enumerations.h | 23 + .../lldb/include/lldb/lldb-private-types.h | 6 + .../llvm-project/lldb/source/API/SBBreakpoint.cpp | 3 +- .../lldb/source/API/SBMemoryRegionInfo.cpp | 6 +- .../source/Commands/CommandObjectBreakpoint.cpp | 1 + .../Commands/CommandObjectBreakpointCommand.cpp | 31 +- .../lldb/source/Commands/CommandObjectCommands.cpp | 24 +- .../source/Commands/CommandObjectDisassemble.cpp | 1 + .../source/Commands/CommandObjectExpression.cpp | 18 +- .../lldb/source/Commands/CommandObjectFrame.cpp | 5 +- .../lldb/source/Commands/CommandObjectHelp.cpp | 1 + .../lldb/source/Commands/CommandObjectLog.cpp | 31 +- .../lldb/source/Commands/CommandObjectMemory.cpp | 5 +- .../source/Commands/CommandObjectMemoryTag.cpp | 1 + .../lldb/source/Commands/CommandObjectPlatform.cpp | 1 + .../lldb/source/Commands/CommandObjectProcess.cpp | 17 +- .../lldb/source/Commands/CommandObjectRegister.cpp | 1 + .../source/Commands/CommandObjectReproducer.cpp | 87 +- .../lldb/source/Commands/CommandObjectScript.cpp | 23 +- .../lldb/source/Commands/CommandObjectSession.cpp | 1 + .../lldb/source/Commands/CommandObjectSettings.cpp | 1 + .../lldb/source/Commands/CommandObjectSource.cpp | 1 + .../lldb/source/Commands/CommandObjectStats.cpp | 1 + .../lldb/source/Commands/CommandObjectTarget.cpp | 53 +- .../lldb/source/Commands/CommandObjectThread.cpp | 23 +- .../lldb/source/Commands/CommandObjectTrace.cpp | 1 + .../lldb/source/Commands/CommandObjectType.cpp | 75 +- .../source/Commands/CommandObjectWatchpoint.cpp | 1 + .../Commands/CommandObjectWatchpointCommand.cpp | 31 +- .../source/Commands/CommandOptionArgumentTable.cpp | 313 +++ .../Commands/CommandOptionsProcessLaunch.cpp | 2 + .../llvm-project/lldb/source/Commands/Options.td | 26 +- .../lldb/source/Commands/OptionsBase.td | 6 +- .../lldb/source/Core/DumpDataExtractor.cpp | 4 +- .../lldb/source/Core/ValueObjectChild.cpp | 6 +- .../lldb/source/Expression/DWARFExpression.cpp | 18 +- .../lldb/source/Expression/Materializer.cpp | 233 ++- .../lldb/source/Expression/UserExpression.cpp | 16 +- .../llvm-project/lldb/source/Host/common/File.cpp | 10 +- .../lldb/source/Host/common/Terminal.cpp | 4 +- .../lldb/source/Interpreter/CommandObject.cpp | 438 +--- .../lldb/source/Interpreter/OptionValueArray.cpp | 2 +- .../source/Interpreter/OptionValueFileSpecList.cpp | 2 +- .../source/Interpreter/OptionValuePathMappings.cpp | 2 +- .../lldb/source/Plugins/ABI/X86/ABIX86.cpp | 4 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 6 +- .../Hexagon-DYLD/HexagonDYLDRendezvous.cpp | 4 + .../Clang/ASTResultSynthesizer.cpp | 27 +- .../ExpressionParser/Clang/ClangASTSource.cpp | 7 +- .../Clang/ClangExpressionDeclMap.cpp | 173 +- .../Clang/ClangExpressionDeclMap.h | 31 + .../Clang/ClangExpressionSourceCode.cpp | 54 +- .../Clang/ClangExpressionSourceCode.h | 16 +- .../ExpressionParser/Clang/ClangExpressionUtil.cpp | 27 + .../ExpressionParser/Clang/ClangExpressionUtil.h | 30 + .../Clang/ClangExpressionVariable.h | 8 +- .../ExpressionParser/Clang/ClangUserExpression.cpp | 38 +- .../ExpressionParser/Clang/ClangUserExpression.h | 4 + .../Instruction/ARM/EmulateInstructionARM.h | 3 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 18 +- .../Language/CPlusPlus/CPlusPlusNameParser.cpp | 12 +- .../Plugins/Language/CPlusPlus/LibCxxList.cpp | 10 +- .../Plugins/Language/CPlusPlus/LibCxxMap.cpp | 4 +- .../source/Plugins/Language/ObjC/CFBasicHash.h | 2 +- .../source/Plugins/Language/ObjC/NSDictionary.cpp | 2 +- .../lldb/source/Plugins/Language/ObjC/NSError.cpp | 2 +- .../lldb/source/Plugins/Language/ObjC/NSSet.cpp | 2 +- .../AppleObjCRuntime/AppleObjCClassDescriptorV2.h | 12 +- .../AppleObjCTrampolineHandler.cpp | 9 +- .../RenderScriptRuntime/RenderScriptRuntime.cpp | 4 +- .../RenderScriptRuntime/RenderScriptRuntime.h | 3 +- .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 5 +- .../ObjectFile/Minidump/MinidumpFileBuilder.cpp | 1 + .../Process/Utility/RegisterContextPOSIX_x86.cpp | 1 + .../Process/Utility/RegisterInfoPOSIX_arm64.cpp | 8 +- .../Process/gdb-remote/GDBRemoteCommunication.cpp | 6 +- .../GDBRemoteCommunicationServerLLGS.cpp | 333 ++- .../gdb-remote/GDBRemoteCommunicationServerLLGS.h | 25 +- .../Process/gdb-remote/ProcessGDBRemote.cpp | 10 +- .../Python/ScriptInterpreterPython.cpp | 6 +- .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 81 +- .../Plugins/SymbolFile/DWARF/DWARFASTParserClang.h | 16 + .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 7 +- .../Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp | 34 + .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 1 + .../ctf/CommandObjectThreadTraceExportCTF.cpp | 1 + .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp | 2 +- .../InstEmulation/UnwindAssemblyInstEmulation.h | 4 +- .../x86/x86AssemblyInspectionEngine.cpp | 5 +- .../lldb/source/Symbol/ArmUnwindInfo.cpp | 2 +- .../lldb/source/Symbol/CompileUnit.cpp | 2 +- contrib/llvm-project/lldb/source/Symbol/Symtab.cpp | 2 +- .../lldb/source/Target/DynamicRegisterInfo.cpp | 2 +- contrib/llvm-project/lldb/source/Target/Target.cpp | 2 +- .../llvm-project/lldb/source/Target/TargetList.cpp | 3 +- contrib/llvm-project/lldb/source/Target/Thread.cpp | 3 +- .../lldb/source/Target/UnixSignals.cpp | 7 +- .../lldb/source/Utility/ReproducerProvider.cpp | 2 +- .../lldb/source/Utility/SelectHelper.cpp | 4 +- .../source/Utility/StringExtractorGDBRemote.cpp | 2 + contrib/llvm-project/lldb/source/Utility/Timer.cpp | 2 +- .../lldb/utils/TableGen/LLDBOptionDefEmitter.cpp | 8 +- contrib/llvm-project/llvm/include/llvm/ADT/APInt.h | 4 +- .../llvm-project/llvm/include/llvm/ADT/APSInt.h | 4 +- .../llvm/include/llvm/ADT/AddressRanges.h | 82 +- .../llvm-project/llvm/include/llvm/ADT/BitVector.h | 4 +- .../llvm/include/llvm/ADT/EpochTracker.h | 6 +- .../llvm/include/llvm/ADT/IntEqClasses.h | 4 +- .../llvm-project/llvm/include/llvm/ADT/Triple.h | 14 +- .../llvm/Analysis/FunctionPropertiesAnalysis.h | 1 - .../llvm/include/llvm/Analysis/IVDescriptors.h | 3 - .../llvm/include/llvm/Analysis/LoopCacheAnalysis.h | 5 +- .../llvm/include/llvm/Analysis/LoopInfo.h | 15 +- .../llvm/include/llvm/Analysis/MemoryBuiltins.h | 39 +- .../llvm/include/llvm/Analysis/MemoryProfileInfo.h | 112 + .../llvm/include/llvm/Analysis/ScalarEvolution.h | 6 +- .../llvm/include/llvm/Analysis/SparsePropagation.h | 4 +- .../include/llvm/Analysis/TargetTransformInfo.h | 20 +- .../llvm/Analysis/TargetTransformInfoImpl.h | 2 +- .../llvm/include/llvm/BinaryFormat/XCOFF.h | 1 + .../include/llvm/CodeGen/BasicBlockSectionUtils.h | 2 + .../llvm/CodeGen/BasicBlockSectionsProfileReader.h | 6 +- .../llvm/include/llvm/CodeGen/BasicTTIImpl.h | 4 +- .../llvm/include/llvm/CodeGen/CallingConvLower.h | 4 +- .../include/llvm/CodeGen/GlobalISel/IRTranslator.h | 1 + .../llvm/include/llvm/CodeGen/GlobalISel/Utils.h | 1 - .../llvm/include/llvm/CodeGen/ISDOpcodes.h | 6 + .../llvm/include/llvm/CodeGen/LiveIntervals.h | 7 +- .../llvm/include/llvm/CodeGen/LiveRangeEdit.h | 14 +- .../llvm/include/llvm/CodeGen/LiveVariables.h | 6 +- .../llvm/include/llvm/CodeGen/MachineInstr.h | 7 +- .../llvm/include/llvm/CodeGen/MachineModuleInfo.h | 1 - .../llvm/include/llvm/CodeGen/MachinePipeliner.h | 4 +- .../llvm/include/llvm/CodeGen/Passes.h | 1 - .../llvm/include/llvm/CodeGen/RegisterScavenging.h | 12 +- .../llvm/include/llvm/CodeGen/ScheduleDAG.h | 5 +- .../llvm/include/llvm/CodeGen/SelectionDAG.h | 6 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 4 + .../llvm/include/llvm/CodeGen/TargetInstrInfo.h | 13 +- .../llvm/include/llvm/CodeGen/TargetLowering.h | 10 +- .../llvm/include/llvm/DWARFLinker/DWARFLinker.h | 22 +- .../llvm/DWARFLinker/DWARFLinkerCompileUnit.h | 26 +- .../llvm/include/llvm/DWARFLinker/DWARFStreamer.h | 2 +- .../llvm/DebugInfo/CodeView/CodeViewRegisters.def | 76 +- .../llvm/include/llvm/DebugInfo/Symbolize/Markup.h | 4 + .../llvm/DebugInfo/Symbolize/MarkupFilter.h | 98 +- .../llvm/include/llvm/Debuginfod/HTTPServer.h | 6 +- .../llvm/include/llvm/Demangle/ItaniumDemangle.h | 6 +- .../llvm/include/llvm/Demangle/StringView.h | 4 +- .../llvm/include/llvm/Demangle/Utility.h | 4 +- .../Orc/MapperJITLinkMemoryManager.h | 56 + .../llvm/ExecutionEngine/Orc/MemoryMapper.h | 60 +- .../llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h | 21 + .../Orc/Shared/SimplePackedSerialization.h | 9 +- .../Orc/Shared/TargetProcessControlTypes.h | 61 +- .../ExecutorSharedMemoryMapperService.h | 78 + .../llvm/Frontend/Directive/DirectiveBase.td | 12 + .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 7 + .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 9 + .../llvm/include/llvm/Frontend/OpenMP/OMPKinds.def | 5 +- .../llvm/include/llvm/IR/FixedMetadataKinds.def | 2 + .../llvm/include/llvm/IR/GlobalIFunc.h | 6 + .../llvm-project/llvm/include/llvm/IR/IRBuilder.h | 2 +- .../llvm-project/llvm/include/llvm/IR/InlineAsm.h | 5 +- .../llvm/include/llvm/IR/Instruction.h | 15 - .../llvm/include/llvm/IR/Instructions.h | 7 +- .../llvm/include/llvm/IR/IntrinsicInst.h | 2 +- .../llvm/include/llvm/IR/Intrinsics.td | 14 +- .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 78 + .../llvm/include/llvm/IR/IntrinsicsSPIRV.td | 3 +- .../llvm-project/llvm/include/llvm/IR/Metadata.h | 6 +- .../llvm/include/llvm/IR/PatternMatch.h | 18 +- .../llvm-project/llvm/include/llvm/IR/Statepoint.h | 1 - .../llvm/include/llvm/InitializePasses.h | 13 - .../llvm-project/llvm/include/llvm/LinkAllPasses.h | 5 - .../llvm-project/llvm/include/llvm/MC/MCContext.h | 2 - .../llvm/include/llvm/MC/MCDXContainerStreamer.h | 2 - .../llvm/include/llvm/MC/MCMachObjectWriter.h | 4 +- .../llvm/include/llvm/MC/MCSPIRVStreamer.h | 2 - .../llvm/include/llvm/MC/MCTargetOptions.h | 1 - .../llvm/include/llvm/Object/Archive.h | 2 +- .../llvm/include/llvm/Object/DXContainer.h | 2 +- .../llvm/include/llvm/Object/Decompressor.h | 12 - .../llvm-project/llvm/include/llvm/Object/ELF.h | 31 +- .../llvm/include/llvm/Object/ELFObjectFile.h | 2 + .../llvm/include/llvm/Object/OffloadBinary.h | 6 +- .../llvm/include/llvm/ObjectYAML/OffloadYAML.h | 2 +- .../include/llvm/Passes/StandardInstrumentations.h | 6 +- .../include/llvm/ProfileData/InstrProfReader.h | 11 +- .../llvm/include/llvm/ProfileData/SampleProf.h | 18 +- .../include/llvm/Support/AMDHSAKernelDescriptor.h | 3 +- .../llvm/include/llvm/Support/Casting.h | 2 +- .../llvm/include/llvm/Support/Compression.h | 23 +- .../include/llvm/Support/DivisionByConstantInfo.h | 8 +- .../llvm-project/llvm/include/llvm/Support/JSON.h | 106 +- .../llvm/include/llvm/Support/SpecialCaseList.h | 7 +- .../llvm/include/llvm/Support/VirtualFileSystem.h | 1 - .../llvm/include/llvm/TableGen/DirectiveEmitter.h | 10 + .../llvm/include/llvm/TableGen/Record.h | 10 +- .../llvm/include/llvm/Target/TargetCallingConv.td | 9 + .../llvm/include/llvm/Target/TargetSelectionDAG.td | 3 + .../llvm/include/llvm/Transforms/IPO.h | 40 - .../llvm/include/llvm/Transforms/IPO/Attributor.h | 165 +- .../llvm/Transforms/IPO/PassManagerBuilder.h | 16 - .../llvm/Transforms/IPO/ProfiledCallGraph.h | 4 +- .../llvm/Transforms/InstCombine/InstCombiner.h | 2 +- .../llvm/include/llvm/Transforms/Instrumentation.h | 10 - .../Transforms/Instrumentation/AddressSanitizer.h | 5 - .../Instrumentation/HWAddressSanitizer.h | 1 - .../Transforms/Instrumentation/MemorySanitizer.h | 1 - .../Transforms/Instrumentation/SanitizerCoverage.h | 11 +- .../Transforms/Instrumentation/ThreadSanitizer.h | 1 - .../llvm/include/llvm/Transforms/Scalar.h | 4 - .../llvm/include/llvm/Transforms/Utils.h | 16 - .../include/llvm/Transforms/Utils/LowerAtomic.h | 6 +- .../llvm/include/llvm/Transforms/Utils/MisExpect.h | 5 + .../Transforms/Utils/ScalarEvolutionExpander.h | 23 +- .../llvm/include/llvm/WindowsDriver/MSVCPaths.h | 4 +- .../llvm/lib/Analysis/AliasSetTracker.cpp | 2 +- .../llvm/lib/Analysis/BasicAliasAnalysis.cpp | 2 +- .../llvm/lib/Analysis/BranchProbabilityInfo.cpp | 2 +- contrib/llvm-project/llvm/lib/Analysis/CFG.cpp | 2 +- .../llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp | 2 +- contrib/llvm-project/llvm/lib/Analysis/CFLGraph.h | 3 +- .../llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp | 2 +- .../llvm/lib/Analysis/ConstraintSystem.cpp | 2 +- .../llvm-project/llvm/lib/Analysis/CostModel.cpp | 26 +- contrib/llvm-project/llvm/lib/Analysis/DDG.cpp | 4 +- .../llvm/lib/Analysis/Delinearization.cpp | 2 +- .../llvm/lib/Analysis/DivergenceAnalysis.cpp | 8 +- .../llvm/lib/Analysis/GlobalsModRef.cpp | 4 +- .../llvm/lib/Analysis/IVDescriptors.cpp | 16 +- contrib/llvm-project/llvm/lib/Analysis/IVUsers.cpp | 2 +- .../lib/Analysis/InstructionPrecedenceTracking.cpp | 4 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 6 +- .../llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp | 4 +- contrib/llvm-project/llvm/lib/Analysis/Lint.cpp | 2 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 184 +- .../llvm/lib/Analysis/LoopCacheAnalysis.cpp | 29 +- .../llvm-project/llvm/lib/Analysis/LoopInfo.cpp | 19 +- .../llvm/lib/Analysis/MemoryBuiltins.cpp | 125 +- .../llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 10 +- .../llvm/lib/Analysis/MemoryProfileInfo.cpp | 226 ++ .../llvm/lib/Analysis/MemorySSAUpdater.cpp | 16 +- .../llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp | 2 +- .../llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 32 +- .../llvm-project/llvm/lib/Analysis/MustExecute.cpp | 18 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 139 +- .../llvm/lib/Analysis/StackLifetime.cpp | 2 +- .../llvm/lib/Analysis/StackSafetyAnalysis.cpp | 20 +- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 10 +- .../llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp | 5 +- .../llvm/lib/Analysis/ValueTracking.cpp | 12 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 4 +- .../lib/BinaryFormat/AMDGPUMetadataVerifier.cpp | 3 + .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 55 + .../llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 27 +- .../llvm/lib/Bitcode/Reader/ValueList.h | 1 - .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 5 +- .../llvm/lib/Bitcode/Writer/ValueEnumerator.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 12 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 55 +- .../lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp | 2 +- .../AsmPrinter/DbgEntityHistoryCalculator.cpp | 4 +- .../lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | 2 +- .../lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 6 +- .../llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 6 +- .../llvm/lib/CodeGen/AtomicExpandPass.cpp | 6 +- .../llvm/lib/CodeGen/BasicBlockSections.cpp | 8 +- .../llvm/lib/CodeGen/CalcSpillWeights.cpp | 4 +- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 48 +- .../llvm/lib/CodeGen/DFAPacketizer.cpp | 2 +- .../llvm/lib/CodeGen/EarlyIfConversion.cpp | 10 +- .../llvm/lib/CodeGen/ExpandVectorPredication.cpp | 87 +- .../llvm-project/llvm/lib/CodeGen/FaultMaps.cpp | 2 +- .../llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp | 2 +- .../llvm/lib/CodeGen/GlobalISel/CallLowering.cpp | 4 +- .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 20 +- .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 89 +- .../lib/CodeGen/GlobalISel/InlineAsmLowering.cpp | 5 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 30 +- .../llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp | 6 +- .../lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 2 +- .../llvm/lib/CodeGen/GlobalISel/Utils.cpp | 2 +- .../llvm/lib/CodeGen/HardwareLoops.cpp | 6 +- .../llvm/lib/CodeGen/ImplicitNullChecks.cpp | 2 +- .../llvm/lib/CodeGen/InlineSpiller.cpp | 22 +- .../llvm/lib/CodeGen/InterleavedAccessPass.cpp | 2 +- .../lib/CodeGen/InterleavedLoadCombinePass.cpp | 8 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 49 +- .../CodeGen/LiveDebugValues/VarLocBasedImpl.cpp | 6 +- .../llvm/lib/CodeGen/LiveDebugVariables.cpp | 2 +- .../llvm/lib/CodeGen/LiveIntervals.cpp | 13 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 23 +- .../llvm/lib/CodeGen/LiveVariables.cpp | 3 +- .../llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp | 2 +- .../llvm/lib/CodeGen/MIRCanonicalizerPass.cpp | 4 +- .../llvm/lib/CodeGen/MIRParser/MIParser.cpp | 2 +- .../llvm/lib/CodeGen/MIRParser/MIRParser.cpp | 4 +- .../llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp | 8 +- .../llvm/lib/CodeGen/MachineBasicBlock.cpp | 2 +- .../llvm/lib/CodeGen/MachineBlockPlacement.cpp | 8 +- .../llvm-project/llvm/lib/CodeGen/MachineCSE.cpp | 2 +- .../llvm/lib/CodeGen/MachineCombiner.cpp | 49 +- .../llvm/lib/CodeGen/MachineFrameInfo.cpp | 2 +- .../llvm/lib/CodeGen/MachineFunction.cpp | 4 +- .../llvm/lib/CodeGen/MachineFunctionSplitter.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/MachineInstr.cpp | 12 +- .../llvm-project/llvm/lib/CodeGen/MachineLICM.cpp | 17 +- .../llvm/lib/CodeGen/MachinePipeliner.cpp | 24 +- .../llvm/lib/CodeGen/MachineScheduler.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/MachineSink.cpp | 2 +- .../llvm/lib/CodeGen/MachineStableHash.cpp | 4 +- .../llvm/lib/CodeGen/MachineTraceMetrics.cpp | 4 +- .../llvm/lib/CodeGen/MachineVerifier.cpp | 4 +- contrib/llvm-project/llvm/lib/CodeGen/RDFGraph.cpp | 4 +- .../llvm-project/llvm/lib/CodeGen/RDFLiveness.cpp | 12 +- .../llvm/lib/CodeGen/ReachingDefAnalysis.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/RegAllocBase.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocBasic.cpp | 1 + .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 7 +- .../llvm/lib/CodeGen/RegAllocGreedy.cpp | 16 +- .../llvm-project/llvm/lib/CodeGen/RegAllocGreedy.h | 3 - .../llvm-project/llvm/lib/CodeGen/RegAllocPBQP.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocScore.cpp | 5 +- .../llvm-project/llvm/lib/CodeGen/RegAllocScore.h | 4 +- .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 4 +- .../llvm/lib/CodeGen/RegisterPressure.cpp | 6 +- .../llvm-project/llvm/lib/CodeGen/SafeStack.cpp | 4 +- .../llvm/lib/CodeGen/ScheduleDAGInstrs.cpp | 8 +- .../llvm/lib/CodeGen/SelectOptimize.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 327 +-- .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 12 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 18 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 140 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 5 + .../lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp | 24 + .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 2 +- .../CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 131 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 128 +- .../CodeGen/SelectionDAG/SelectionDAGDumper.cpp | 2 + .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 95 +- .../CodeGen/SelectionDAG/StatepointLowering.cpp | 42 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 114 +- .../llvm-project/llvm/lib/CodeGen/SlotIndexes.cpp | 11 +- contrib/llvm-project/llvm/lib/CodeGen/SplitKit.cpp | 14 +- contrib/llvm-project/llvm/lib/CodeGen/SplitKit.h | 7 +- .../llvm-project/llvm/lib/CodeGen/StackMaps.cpp | 2 +- .../llvm/lib/CodeGen/SwiftErrorValueTracking.cpp | 2 +- .../llvm/lib/CodeGen/TailDuplicator.cpp | 2 +- .../llvm/lib/CodeGen/TargetInstrInfo.cpp | 4 +- .../llvm/lib/CodeGen/TargetLoweringBase.cpp | 2 +- .../llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 6 +- .../llvm/lib/CodeGen/TypePromotion.cpp | 6 +- .../llvm/lib/CodeGen/VLIWMachineScheduler.cpp | 2 +- .../llvm/lib/DWARFLinker/DWARFLinker.cpp | 64 +- .../lib/DWARFLinker/DWARFLinkerCompileUnit.cpp | 6 +- .../llvm/lib/DWARFLinker/DWARFStreamer.cpp | 20 +- contrib/llvm-project/llvm/lib/DWP/DWP.cpp | 19 +- .../lib/DebugInfo/CodeView/TypeRecordMapping.cpp | 6 +- .../llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 2 +- .../llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 4 - .../llvm/lib/DebugInfo/Symbolize/Markup.cpp | 3 + .../llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp | 389 +++- .../JITLink/COFFLinkGraphBuilder.cpp | 2 +- .../JITLink/DWARFRecordSectionSplitter.cpp | 2 +- .../Orc/JITTargetMachineBuilder.cpp | 4 + .../Orc/MapperJITLinkMemoryManager.cpp | 135 ++ .../llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp | 254 +++ .../lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp | 15 + .../ExecutorSharedMemoryMapperService.cpp | 341 ++++ .../TargetProcess/SimpleExecutorMemoryManager.cpp | 3 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 31 +- contrib/llvm-project/llvm/lib/IR/Function.cpp | 2 + contrib/llvm-project/llvm/lib/IR/GCStrategy.cpp | 5 +- contrib/llvm-project/llvm/lib/IR/Globals.cpp | 37 +- contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp | 20 +- contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 13 +- contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 22 +- contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 110 +- contrib/llvm-project/llvm/lib/Linker/IRMover.cpp | 32 +- .../llvm-project/llvm/lib/MC/ELFObjectWriter.cpp | 82 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 18 - .../llvm-project/llvm/lib/MC/MCMachOStreamer.cpp | 18 +- .../llvm/lib/MC/MCParser/MasmParser.cpp | 33 +- contrib/llvm-project/llvm/lib/MC/MCPseudoProbe.cpp | 3 +- .../llvm-project/llvm/lib/MC/MachObjectWriter.cpp | 25 +- .../llvm/lib/MC/WinCOFFObjectWriter.cpp | 1 + .../llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp | 43 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 3 - contrib/llvm-project/llvm/lib/Object/Archive.cpp | 61 +- .../llvm-project/llvm/lib/Object/Decompressor.cpp | 39 +- .../llvm/lib/Object/WasmObjectFile.cpp | 2 +- .../llvm/lib/Passes/PassBuilderPipelines.cpp | 2 +- .../llvm/lib/Passes/StandardInstrumentations.cpp | 84 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 12 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 38 +- .../llvm/lib/Support/AddressRanges.cpp | 57 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 2 +- .../llvm-project/llvm/lib/Support/Compression.cpp | 65 + .../llvm/lib/Support/DivisionByConstantInfo.cpp | 8 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 2 + .../llvm-project/llvm/lib/TableGen/JSONBackend.cpp | 4 +- contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 8 + .../llvm-project/llvm/lib/TableGen/TGParser.cpp | 2 + .../llvm/lib/Target/AArch64/AArch64.td | 2 +- .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 55 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 119 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 9 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 6 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 25 + .../lib/Target/AArch64/AArch64MachineScheduler.cpp | 4 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 36 +- .../lib/Target/AArch64/AArch64TargetMachine.cpp | 24 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 86 + .../Target/AArch64/AArch64TargetTransformInfo.h | 10 + .../AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp | 65 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 17 +- .../lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp | 5 + .../lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h | 2 + .../llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp | 67 + .../llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h | 3 + .../llvm/lib/Target/AMDGPU/AMDGPUAttributes.def | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp | 19 +- .../llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp | 14 +- .../llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 4 + .../Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp | 2 + .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 76 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 14 +- .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 166 +- .../lib/Target/AMDGPU/AMDGPUInstructionSelector.h | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 32 + .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h | 7 + .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp | 23 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 45 +- .../lib/Target/AMDGPU/AMDGPUMachineFunction.cpp | 16 + .../llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h | 5 +- .../lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp | 47 +- .../lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.h | 6 +- .../lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp | 5 +- .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 20 +- .../AMDGPU/AMDGPUReplaceLDSUseWithPointer.cpp | 2 +- .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 16 + .../llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp | 50 +- .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 3 + .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 102 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 91 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.h | 1 + .../llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp | 17 + .../llvm/lib/Target/AMDGPU/GCNProcessors.td | 4 +- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp | 7 +- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.h | 2 +- .../llvm/lib/Target/AMDGPU/GCNSubtarget.h | 7 +- .../AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp | 5 +- .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp | 2 + .../llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp | 323 ++- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 40 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 1 + .../llvm/lib/Target/AMDGPU/SIInstrFormats.td | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 23 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 110 +- .../lib/Target/AMDGPU/SIMachineFunctionInfo.cpp | 11 + .../llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h | 6 + .../lib/Target/AMDGPU/SIOptimizeExecMasking.cpp | 309 +-- .../Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp | 82 +- .../llvm/lib/Target/AMDGPU/SIProgramInfo.h | 2 + .../llvm/lib/Target/AMDGPU/SMInstructions.td | 119 +- .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 4 +- .../lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h | 2 +- .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 78 + .../llvm/lib/Target/AMDGPU/VOP3Instructions.td | 100 +- .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 38 + .../llvm/lib/Target/AMDGPU/VOPCInstructions.td | 26 +- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 42 + .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 4 +- .../llvm/lib/Target/ARM/ARMBaseInstrInfo.h | 3 +- .../llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp | 15 +- .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 42 + .../llvm/lib/Target/ARM/ARMISelLowering.h | 2 + .../llvm/lib/Target/ARM/ARMInstrMVE.td | 6 + .../llvm/lib/Target/ARM/ARMInstrThumb.td | 8 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 14 +- .../llvm/lib/Target/ARM/ARMTargetTransformInfo.h | 8 +- .../llvm/lib/Target/AVR/AVRSubtarget.h | 14 +- .../llvm/lib/Target/CSKY/CSKYInstrInfo.cpp | 2 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 8 +- .../DirectX/DXILWriter/DXILValueEnumerator.cpp | 2 +- .../lib/Target/Hexagon/HexagonVectorCombine.cpp | 1 - .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 5 +- .../Target/LoongArch/LoongArchTargetMachine.cpp | 4 +- .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 6 + .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 128 +- .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h | 100 +- .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 95 +- .../llvm/lib/Target/NVPTX/NVPTXSubtarget.h | 1 + .../llvm/lib/Target/NVPTX/NVPTXUtilities.h | 10 + .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 25 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.cpp | 4 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.h | 3 +- .../lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp | 13 +- contrib/llvm-project/llvm/lib/Target/RISCV/RISCV.h | 3 + .../llvm-project/llvm/lib/Target/RISCV/RISCV.td | 26 +- .../llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp | 169 ++ .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 27 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 376 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 112 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.h | 13 + .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 7 + .../llvm/lib/Target/RISCV/RISCVInstrInfoM.td | 22 +- .../llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp | 3 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 2 + .../llvm/lib/Target/RISCV/RISCVTargetMachine.cpp | 7 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp | 5 +- .../Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp | 10 + .../lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h | 13 + .../Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp | 15 +- contrib/llvm-project/llvm/lib/Target/SPIRV/SPIRV.h | 1 + .../llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp | 164 +- .../llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp | 201 +- .../llvm/lib/Target/SPIRV/SPIRVCallLowering.h | 6 +- .../lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp | 2 +- .../llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h | 4 +- .../llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 61 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 425 +++- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h | 53 +- .../llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp | 14 +- .../llvm/lib/Target/SPIRV/SPIRVInstrInfo.h | 1 + .../llvm/lib/Target/SPIRV/SPIRVInstrInfo.td | 24 +- .../lib/Target/SPIRV/SPIRVInstructionSelector.cpp | 252 ++- .../llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp | 7 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 168 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 8 +- .../llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 75 +- .../lib/Target/SPIRV/SPIRVPrepareFunctions.cpp | 288 +++ .../llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp | 3 +- .../llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp | 5 +- .../llvm/lib/Target/SPIRV/SPIRVUtils.cpp | 31 + .../llvm/lib/Target/SPIRV/SPIRVUtils.h | 6 + .../Target/Sparc/TargetInfo/SparcTargetInfo.cpp | 8 +- .../llvm/lib/Target/SystemZ/SystemZCallingConv.cpp | 4 - .../llvm/lib/Target/SystemZ/SystemZCallingConv.h | 38 - .../llvm/lib/Target/SystemZ/SystemZCallingConv.td | 34 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 101 +- .../llvm/lib/Target/SystemZ/SystemZFrameLowering.h | 2 + .../lib/Target/SystemZ/SystemZISelLowering.cpp | 8 +- .../llvm/lib/Target/VE/VEInstrInfo.cpp | 40 +- .../llvm/lib/Target/VE/VEInstrPatternsVec.td | 14 + .../llvm-project/llvm/lib/Target/VE/VEInstrVec.td | 27 + .../llvm/lib/Target/VE/VERegisterInfo.cpp | 201 ++ .../Target/WebAssembly/WebAssemblyInstrInfo.cpp | 2 +- .../lib/Target/WebAssembly/WebAssemblyInstrInfo.h | 3 +- .../Target/WebAssembly/WebAssemblyRegStackify.cpp | 23 +- contrib/llvm-project/llvm/lib/Target/X86/X86.td | 2 +- .../llvm/lib/Target/X86/X86FixupBWInsts.cpp | 12 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 561 +++-- .../llvm/lib/Target/X86/X86InstrAVX512.td | 48 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 12 +- .../llvm/lib/Target/X86/X86InstrInfo.h | 3 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 70 + .../llvm/lib/Target/X86/X86TargetMachine.cpp | 8 +- .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 65 +- .../llvm/lib/Target/XCore/XCoreFrameLowering.cpp | 2 +- .../llvm/lib/ToolDrivers/llvm-lib/Options.td | 1 + .../llvm/lib/Transforms/Coroutines/CoroCleanup.cpp | 4 +- .../llvm/lib/Transforms/Coroutines/CoroInternal.h | 2 - .../llvm/lib/Transforms/Coroutines/CoroSplit.cpp | 19 +- .../llvm/lib/Transforms/IPO/Attributor.cpp | 278 ++- .../lib/Transforms/IPO/AttributorAttributes.cpp | 2156 ++++++++++++-------- .../llvm/lib/Transforms/IPO/FunctionImport.cpp | 45 +- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 2 +- .../llvm-project/llvm/lib/Transforms/IPO/IPO.cpp | 4 - .../llvm/lib/Transforms/IPO/Internalize.cpp | 36 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 42 - .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 2 +- .../llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 106 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 102 +- .../llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp | 70 - .../Transforms/InstCombine/InstCombineAddSub.cpp | 12 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 45 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 55 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 57 +- .../Transforms/InstCombine/InstCombineInternal.h | 2 +- .../Transforms/InstCombine/InstCombineShifts.cpp | 18 + .../InstCombine/InstructionCombining.cpp | 52 +- .../Instrumentation/AddressSanitizer.cpp | 3 + .../lib/Transforms/Instrumentation/CGProfile.cpp | 36 - .../Instrumentation/ControlHeightReduction.cpp | 53 - .../Transforms/Instrumentation/InstrOrderFile.cpp | 31 - .../Transforms/Instrumentation/InstrProfiling.cpp | 44 - .../Transforms/Instrumentation/Instrumentation.cpp | 5 - .../Transforms/Instrumentation/MemorySanitizer.cpp | 16 + .../Instrumentation/PGOInstrumentation.cpp | 42 +- .../Instrumentation/SanitizerCoverage.cpp | 64 - .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 73 +- .../llvm/lib/Transforms/Scalar/IndVarSimplify.cpp | 5 +- .../Scalar/InductiveRangeCheckElimination.cpp | 4 +- .../lib/Transforms/Scalar/LoopDataPrefetch.cpp | 6 +- .../lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 4 +- .../llvm/lib/Transforms/Scalar/LoopInterchange.cpp | 1 - .../llvm/lib/Transforms/Scalar/LoopPredication.cpp | 29 +- .../llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp | 12 + .../lib/Transforms/Scalar/LoopStrengthReduce.cpp | 93 +- .../llvm/lib/Transforms/Scalar/Reassociate.cpp | 58 +- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 14 +- .../llvm/lib/Transforms/Scalar/Scalar.cpp | 2 - .../llvm/lib/Transforms/Scalar/StructurizeCFG.cpp | 59 - .../llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | 13 +- .../llvm/lib/Transforms/Utils/BuildLibCalls.cpp | 228 ++- .../lib/Transforms/Utils/CanonicalizeAliases.cpp | 28 - .../llvm/lib/Transforms/Utils/CloneFunction.cpp | 19 +- .../lib/Transforms/Utils/EntryExitInstrumenter.cpp | 59 - .../llvm/lib/Transforms/Utils/Evaluator.cpp | 12 +- .../lib/Transforms/Utils/FunctionImportUtils.cpp | 7 + .../llvm/lib/Transforms/Utils/InlineFunction.cpp | 10 +- .../llvm/lib/Transforms/Utils/Local.cpp | 27 +- .../lib/Transforms/Utils/LoopRotationUtils.cpp | 2 +- .../llvm/lib/Transforms/Utils/LoopSimplify.cpp | 6 +- .../llvm/lib/Transforms/Utils/LoopUtils.cpp | 10 +- .../llvm/lib/Transforms/Utils/LowerAtomic.cpp | 2 +- .../llvm/lib/Transforms/Utils/NameAnonGlobals.cpp | 31 - .../Transforms/Utils/ScalarEvolutionExpander.cpp | 19 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 2 +- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 105 +- .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 11 +- .../llvm/lib/Transforms/Utils/UnifyLoopExits.cpp | 46 +- .../llvm/lib/Transforms/Utils/Utils.cpp | 2 - .../lib/Transforms/Vectorize/LoopVectorize.cpp | 245 +-- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 11 +- .../lib/Transforms/Vectorize/VPRecipeBuilder.h | 6 +- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 46 + .../lib/Transforms/Vectorize/VPlanVerifier.cpp | 66 +- .../lib/Transforms/Vectorize/VectorCombine.cpp | 2 +- contrib/llvm-project/llvm/tools/llc/llc.cpp | 2 - .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 162 +- .../llvm/tools/llvm-cov/CodeCoverage.cpp | 17 +- .../llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 2 +- .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp | 277 +++ .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.h | 31 + .../llvm-project/llvm/tools/llvm-dwarfutil/Error.h | 44 + .../llvm/tools/llvm-dwarfutil/Options.h | 46 + .../llvm/tools/llvm-dwarfutil/Options.td | 65 + .../llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp | 527 +++++ .../llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp | 4 +- .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 62 +- .../llvm/tools/llvm-objdump/llvm-objdump.h | 2 +- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 7 +- .../llvm/tools/llvm-size/llvm-size.cpp | 7 +- .../llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 15 +- contrib/llvm-project/llvm/tools/opt/opt.cpp | 28 - .../llvm/utils/TableGen/CTagsEmitter.cpp | 29 +- .../llvm/utils/TableGen/CallingConvEmitter.cpp | 25 +- .../llvm/utils/TableGen/DXILEmitter.cpp | 51 +- .../llvm/utils/TableGen/DirectiveEmitter.cpp | 82 + .../llvm/utils/TableGen/SearchableTableEmitter.cpp | 6 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 13 + *** 63399 LINES SKIPPED *** From nobody Sun Apr 9 21:35:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlks5pyMz44JTc; Sun, 9 Apr 2023 21:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlks04Yrz4M9k; Sun, 9 Apr 2023 21:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uw8GxdvTkSr4ZyFYurcgeRMIlpLpiZjCA3UeTKVTKIg=; b=cQqNQvbpzXCT0Wy6avJZhc44E6gYCghK7/hht9hh22FXw+df61jKyzEGVpX6r8Fc77V99k 7G1XzWuDG3JKDdcs2L7ObWbi/NMsPEgpf1EJrEkENAjvpOujmol9vkDj2KrUYT5KgqVkR6 DNJvST3zFeM3tV8oA8hmZgglOGK4Rv83o7KYVC3fM6RMzMywt80VdbxDZ7oaVj04IBaRJN tbflsSdBO4fcu9iHuO3Yv4JcN96QOrPjpUaYFtxaoA9d5JTUBeQrgAJkR4t612hGNUXyvW WFknpKP8WQbsmZ+KSbQyhH6VCAISj+A9OjiiRmANlNSl1t0nUU8uOwuNd7EQRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uw8GxdvTkSr4ZyFYurcgeRMIlpLpiZjCA3UeTKVTKIg=; b=he0ZF+9KUAVDHYq0HKhpekJzlUgxjtDJEGmZAk+WxaniyXRWCbYAxPhtdTPHffAeQW/fid U3ZLBXBIJS+c0fWCnobdlb2QLYsIgU4vwx6fN7Z0lL3Nz2tY8cLAfmNY+ZpXe3V1omW6Qa lLf81kVL3PLre6Fv4Pcri6siWStgzZ0gt+nHaULzulTqR0Bmz3NgqW/Mmybn/Jtj4Gwjxn doIDSgQGxbpe2VQLNYSj4zJmu1VXkEPJZ8io3SMSi8PS75KH1AiOsBtxS2dSqRHVSBPGFa 9Vo0k5hb5iRMvCOmlV3K2JgrVeX6pSK4YYwUQnlCGHC+ATWV6PhRPphHEMakKg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076117; a=rsa-sha256; cv=none; b=BYevaZ/FFBK6LJcCMFUfpSDJTaNFNw9Ag12y8l4DhWcz65YANQ1jzQkHRHN+1rLiZeOv7t 0YuWrz+R2L4x8zq7aygw3tZ7w6E3IQBXU+j0G0QksYiba3Ku6PAI1on3DkcKr4iXT3Cvnh SUj+XJ1CoE9ztlYPB2fQZtHyh0oTR5WgPC5zyXCia1lTpYYyv25lbd1fspSetDFvM5xPni jKU0OSkUluQt+TMsKbJwuI6vQGvHK97ZQo3h+AGP1rHjsiO56tfeZ9oh9vHeRmUB7CnK8N 0icfuYA+CG5UnjkylWWdbaALSSfWf61UmoAO2y0OFz+5Swt6Z1BUejDY4nCAsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkr3RwnzPKT; Sun, 9 Apr 2023 21:35:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZGqP081537; Sun, 9 Apr 2023 21:35:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZFjU081535; Sun, 9 Apr 2023 21:35:15 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:15 GMT Message-Id: <202304092135.339LZFjU081535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 74093eb27f68 - stable/13 - Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 74093eb27f687d9f89d8db457e410aec1cd71b6b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=74093eb27f687d9f89d8db457e410aec1cd71b6b commit 74093eb27f687d9f89d8db457e410aec1cd71b6b Author: Dimitry Andric AuthorDate: 2022-07-27 20:11:54 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:48 +0000 Merge llvm-project main llvmorg-15-init-17826-g1f8ae9d7e7e4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15-init-17826-g1f8ae9d7e7e4, the last commit before the upstream release/16.x branch was created. PR: 265425 MFC after: 2 weeks (cherry picked from commit 972a253a57b6f144b0e4a3e2080a2a0076ec55a0) --- .../clang/include/clang/Analysis/CFG.h | 3 +- .../include/clang/Analysis/ConstructionContext.h | 72 +- .../FlowSensitive/DataflowAnalysisContext.h | 4 + .../Analysis/FlowSensitive/DataflowEnvironment.h | 15 + .../clang/Analysis/FlowSensitive/MapLattice.h | 9 +- .../clang/Analysis/FlowSensitive/Transfer.h | 9 +- .../FlowSensitive/TypeErasedDataflowAnalysis.h | 11 +- .../include/clang/Analysis/FlowSensitive/Value.h | 59 +- .../clang/include/clang/Basic/AttrDocs.td | 6 + .../clang/include/clang/Basic/DiagnosticIDs.h | 24 +- .../include/clang/Basic/DiagnosticParseKinds.td | 6 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 8 +- .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/TokenKinds.def | 3 + .../clang/include/clang/Basic/riscv_vector.td | 103 +-- .../clang/include/clang/CodeGen/ModuleBuilder.h | 8 +- .../clang/include/clang/Driver/Driver.h | 2 - .../clang/include/clang/Driver/Options.td | 4 + .../clang/include/clang/Frontend/Utils.h | 4 +- .../clang/include/clang/Lex/PreprocessingRecord.h | 1 - .../clang/include/clang/Lex/Preprocessor.h | 1 - .../clang/include/clang/Parse/Parser.h | 3 +- .../clang/include/clang/Sema/Overload.h | 4 + .../include/clang/Sema/RISCVIntrinsicManager.h | 36 + .../llvm-project/clang/include/clang/Sema/Scope.h | 38 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 14 +- .../clang/include/clang/Sema/Template.h | 34 + .../clang/include/clang/Serialization/ASTWriter.h | 4 + .../Core/BugReporter/BugReporterVisitors.h | 2 +- .../StaticAnalyzer/Core/PathSensitive/ExprEngine.h | 19 +- .../Core/PathSensitive/ProgramState.h | 2 - .../StaticAnalyzer/Core/PathSensitive/SVals.h | 1 - .../include/clang/Support/RISCVVIntrinsicUtils.h | 100 ++- .../RefactoringActionRuleRequirements.h | 2 +- .../Tooling/Refactoring/RefactoringActionRules.h | 4 +- .../clang/Tooling/Refactoring/RefactoringOptions.h | 4 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 52 +- contrib/llvm-project/clang/lib/AST/Decl.cpp | 14 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 10 +- contrib/llvm-project/clang/lib/Analysis/CFG.cpp | 45 +- .../clang/lib/Analysis/ConstructionContext.cpp | 11 + .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 18 +- .../FlowSensitive/DataflowAnalysisContext.cpp | 71 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 48 +- .../lib/Analysis/FlowSensitive/DebugSupport.cpp | 14 + .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 48 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 20 +- .../FlowSensitive/WatchedLiteralsSolver.cpp | 110 ++- .../clang/lib/Analysis/LiveVariables.cpp | 27 +- .../llvm-project/clang/lib/Basic/Targets/CSKY.h | 2 +- .../llvm-project/clang/lib/Basic/Targets/PPC.cpp | 3 + contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 4 +- contrib/llvm-project/clang/lib/CodeGen/ABIInfo.h | 2 +- contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h | 2 + contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 19 +- contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 14 +- .../llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp | 8 +- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 12 +- .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.h | 23 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 25 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 39 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 11 +- .../clang/lib/CodeGen/ItaniumCXXABI.cpp | 6 +- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 2 +- .../clang/lib/CodeGen/ModuleBuilder.cpp | 24 +- .../CodeGen/ObjectFilePCHContainerOperations.cpp | 4 +- .../clang/lib/CodeGen/SanitizerMetadata.h | 1 - .../clang/lib/Driver/ToolChains/Arch/ARM.cpp | 5 + .../clang/lib/Driver/ToolChains/Arch/PPC.cpp | 4 + .../clang/lib/Driver/ToolChains/Clang.cpp | 7 + .../clang/lib/Driver/ToolChains/FreeBSD.cpp | 6 +- .../llvm-project/clang/lib/Edit/EditedSource.cpp | 4 +- .../clang/lib/Format/FormatTokenLexer.cpp | 159 ++-- .../clang/lib/Frontend/CompilerInvocation.cpp | 6 + contrib/llvm-project/clang/lib/Headers/stdatomic.h | 3 +- .../clang/lib/Interpreter/IncrementalExecutor.h | 1 - contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 36 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 594 +++++++-------- .../llvm-project/clang/lib/Parse/ParsePragma.cpp | 52 ++ contrib/llvm-project/clang/lib/Parse/Parser.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/Scope.cpp | 82 +- contrib/llvm-project/clang/lib/Sema/Sema.cpp | 7 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 20 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 37 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 45 ++ .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 26 +- .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 395 ++++++++++ contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 10 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 55 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 3 +- .../clang/lib/Serialization/ASTWriter.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 100 ++- .../Checkers/InnerPointerChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/MallocChecker.cpp | 11 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 2 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 2 +- .../UninitializedObjectChecker.cpp | 20 +- .../UninitializedObject/UninitializedPointee.cpp | 26 +- .../StaticAnalyzer/Core/BugReporterVisitors.cpp | 23 +- .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 91 ++- .../lib/StaticAnalyzer/Core/ExprEngineCXX.cpp | 124 +++- .../Core/ExprEngineCallAndReturn.cpp | 28 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 69 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 88 ++- .../clang/utils/TableGen/RISCVVEmitter.cpp | 417 +++++++---- .../llvm-project/clang/utils/TableGen/TableGen.cpp | 6 + .../clang/utils/TableGen/TableGenBackends.h | 1 + .../compiler-rt/lib/builtins/int_types.h | 2 +- .../lib/sanitizer_common/sanitizer_common.h | 5 + .../lib/sanitizer_common/sanitizer_win.cpp | 11 + .../compiler-rt/lib/tsan/rtl/tsan_flags.inc | 4 - .../compiler-rt/lib/tsan/rtl/tsan_platform.h | 1 + .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp | 63 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl.h | 40 +- .../compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp | 9 - .../compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp | 44 +- .../compiler-rt/lib/tsan/rtl/tsan_shadow.h | 10 + .../llvm-project/libcxx/include/__algorithm/copy.h | 16 +- .../libcxx/include/__algorithm/copy_backward.h | 42 +- .../libcxx/include/__algorithm/equal_range.h | 1 + .../libcxx/include/__algorithm/includes.h | 19 +- .../libcxx/include/__algorithm/inplace_merge.h | 4 +- .../libcxx/include/__algorithm/is_heap.h | 2 +- .../libcxx/include/__algorithm/is_heap_until.h | 4 +- .../include/__algorithm/ranges_copy_backward.h | 7 +- .../libcxx/include/__algorithm/ranges_generate.h | 24 +- .../libcxx/include/__algorithm/ranges_generate_n.h | 14 +- .../libcxx/include/__algorithm/ranges_includes.h | 8 +- .../libcxx/include/__algorithm/ranges_is_heap.h | 23 +- .../include/__algorithm/ranges_is_heap_until.h | 20 +- contrib/llvm-project/libcxx/include/__assert | 6 +- .../libcxx/include/__concepts/arithmetic.h | 2 + .../libcxx/include/__format/formatter_integer.h | 1 + .../libcxx/include/__functional/invoke.h | 11 +- contrib/llvm-project/libcxx/include/__hash_table | 1 + .../include/__iterator/incrementable_traits.h | 1 + .../libcxx/include/__iterator/iterator_traits.h | 6 + .../libcxx/include/__iterator/reverse_iterator.h | 184 ++++- .../libcxx/include/__memory/swap_allocator.h | 53 ++ .../libcxx/include/__memory/temporary_buffer.h | 1 + .../include/__memory/uninitialized_algorithms.h | 144 ++++ contrib/llvm-project/libcxx/include/__split_buffer | 1 + contrib/llvm-project/libcxx/include/__tree | 1 + .../libcxx/include/__type_traits/aligned_storage.h | 142 ++++ .../libcxx/include/__type_traits/aligned_union.h | 55 ++ .../include/__type_traits/common_reference.h | 188 +++++ .../libcxx/include/__type_traits/common_type.h | 138 ++++ .../libcxx/include/__type_traits/copy_cv.h | 54 ++ .../libcxx/include/__type_traits/copy_cvref.h | 46 ++ .../include/__type_traits/is_nothrow_convertible.h | 53 ++ .../include/__type_traits/is_primary_template.h | 34 + .../include/__type_traits/is_signed_integer.h | 33 + .../include/__type_traits/is_unsigned_integer.h | 33 + .../include/__type_traits/is_valid_expansion.h | 31 + .../libcxx/include/__type_traits/lazy.h | 25 + .../include/__type_traits/make_32_64_or_128_bit.h | 48 ++ .../libcxx/include/__type_traits/make_signed.h | 76 ++ .../libcxx/include/__type_traits/make_unsigned.h | 89 +++ .../libcxx/include/__type_traits/nat.h | 32 + .../libcxx/include/__type_traits/promote.h | 95 +++ .../libcxx/include/__type_traits/remove_cvref.h | 41 + .../libcxx/include/__type_traits/type_list.h | 44 ++ .../libcxx/include/__utility/transaction.h | 5 + contrib/llvm-project/libcxx/include/algorithm | 33 + contrib/llvm-project/libcxx/include/charconv | 1 + contrib/llvm-project/libcxx/include/forward_list | 1 + contrib/llvm-project/libcxx/include/list | 1 + contrib/llvm-project/libcxx/include/math.h | 1 + contrib/llvm-project/libcxx/include/memory | 118 --- .../libcxx/include/module.modulemap.in | 20 + contrib/llvm-project/libcxx/include/string | 1 + contrib/llvm-project/libcxx/include/type_traits | 787 +------------------- contrib/llvm-project/libcxx/include/vector | 19 +- contrib/llvm-project/libcxx/src/assert.cpp | 47 +- contrib/llvm-project/lld/ELF/Driver.cpp | 15 +- contrib/llvm-project/lld/ELF/DriverUtils.cpp | 20 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 4 +- contrib/llvm-project/lld/ELF/LinkerScript.cpp | 12 +- contrib/llvm-project/lld/ELF/Options.td | 14 +- contrib/llvm-project/lld/ELF/ScriptParser.cpp | 7 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 12 +- contrib/llvm-project/lld/ELF/Writer.cpp | 30 +- contrib/llvm-project/lld/MachO/Driver.cpp | 20 +- contrib/llvm-project/lld/MachO/DriverUtils.cpp | 1 + contrib/llvm-project/lld/MachO/InputFiles.cpp | 60 +- contrib/llvm-project/lld/MachO/InputFiles.h | 12 +- contrib/llvm-project/lld/MachO/InputSection.cpp | 2 +- contrib/llvm-project/lld/MachO/Options.td | 10 +- contrib/llvm-project/lld/MachO/SyntheticSections.h | 6 +- .../lldb/include/lldb/Core/Disassembler.h | 8 +- .../lldb/include/lldb/Target/MemoryTagManager.h | 15 + .../lldb/include/lldb/Target/Process.h | 4 +- .../lldb/include/lldb/Target/TraceCursor.h | 36 +- .../lldb/include/lldb/Target/TraceDumper.h | 7 +- .../lldb/Utility/TraceIntelPTGDBRemotePackets.h | 4 +- .../lldb/include/lldb/lldb-enumerations.h | 8 +- .../source/Commands/CommandObjectDisassemble.cpp | 3 +- .../source/Commands/CommandObjectExpression.cpp | 2 +- .../lldb/source/Commands/CommandObjectMemory.cpp | 2 +- .../lldb/source/Commands/CommandObjectThread.cpp | 2 +- .../llvm-project/lldb/source/Commands/Options.td | 10 +- .../llvm-project/lldb/source/Core/Disassembler.cpp | 385 +--------- .../llvm-project/lldb/source/Host/common/Host.cpp | 2 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 331 +++++++++ .../ExpressionParser/Clang/ClangASTSource.cpp | 10 +- .../Clang/ClangExpressionParser.cpp | 5 +- .../Instruction/ARM/EmulateInstructionARM.cpp | 4 +- .../Plugins/Instruction/ARM/EmulationStateARM.cpp | 85 ++- .../Plugins/Instruction/ARM/EmulationStateARM.h | 7 +- .../ObjectFile/Minidump/MinidumpFileBuilder.cpp | 4 +- .../Process/Utility/MemoryTagManagerAArch64MTE.cpp | 65 ++ .../Process/Utility/MemoryTagManagerAArch64MTE.h | 6 + .../Utility/RegisterContextDarwin_arm64.cpp | 2 +- .../Plugins/Process/Utility/ThreadMemory.cpp | 3 +- .../Plugins/Process/elf-core/ProcessElfCore.cpp | 72 +- .../Plugins/Process/elf-core/ProcessElfCore.h | 14 + .../gdb-remote/GDBRemoteCommunicationClient.cpp | 18 + .../gdb-remote/GDBRemoteCommunicationClient.h | 2 + .../Process/gdb-remote/ProcessGDBRemote.cpp | 68 +- .../Plugins/Process/minidump/ProcessMinidump.cpp | 3 +- .../Plugins/SymbolFile/NativePDB/PdbUtil.cpp | 2 +- .../Plugins/Trace/intel-pt/DecodedThread.cpp | 198 ++--- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 180 +++-- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 57 +- .../source/Plugins/Trace/intel-pt/LibiptDecoder.h | 10 + .../Plugins/Trace/intel-pt/ThreadDecoder.cpp | 19 +- .../source/Plugins/Trace/intel-pt/ThreadDecoder.h | 6 + .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 89 ++- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.h | 46 +- .../source/Plugins/Trace/intel-pt/TraceIntelPT.cpp | 50 +- .../source/Plugins/Trace/intel-pt/TraceIntelPT.h | 9 + .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp | 26 +- .../Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h | 6 + .../x86/x86AssemblyInspectionEngine.cpp | 2 +- contrib/llvm-project/lldb/source/Symbol/Type.cpp | 4 +- .../llvm-project/lldb/source/Target/Process.cpp | 15 +- .../lldb/source/Target/RegisterContextUnwind.cpp | 4 +- .../llvm-project/lldb/source/Target/StackFrame.cpp | 42 +- .../lldb/source/Target/ThreadPlanCallFunction.cpp | 10 +- .../lldb/source/Target/ThreadPlanTracer.cpp | 4 +- .../lldb/source/Target/TraceCursor.cpp | 2 + .../lldb/source/Target/TraceDumper.cpp | 58 +- .../llvm-project/llvm/include/llvm/ADT/DenseMap.h | 2 + .../llvm-project/llvm/include/llvm/ADT/Optional.h | 7 +- .../llvm-project/llvm/include/llvm/Analysis/DDG.h | 23 +- .../llvm/include/llvm/Analysis/MemoryBuiltins.h | 1 - .../include/llvm/Analysis/TargetTransformInfo.h | 1 - .../llvm/include/llvm/BinaryFormat/ELF.h | 22 + .../llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h | 4 +- .../include/llvm/CodeGen/GlobalISel/IRTranslator.h | 2 +- .../llvm/include/llvm/CodeGen/LiveIntervals.h | 1 - .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 6 + .../llvm/include/llvm/CodeGen/TargetInstrInfo.h | 1 - .../llvm/include/llvm/DWARFLinker/DWARFLinker.h | 2 +- .../include/llvm/DebugInfo/PDB/IPDBEnumChildren.h | 11 +- .../include/llvm/ExecutionEngine/JITLink/x86_64.h | 23 +- .../ExecutorSharedMemoryMapperService.h | 6 +- .../llvm/include/llvm/IR/Instructions.h | 2 + .../llvm/include/llvm/IR/IntrinsicInst.h | 11 +- .../llvm/include/llvm/IR/Intrinsics.td | 6 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 6 + .../llvm/include/llvm/IR/PrintPasses.h | 15 + .../include/llvm/LTO/legacy/LTOCodeGenerator.h | 4 + .../llvm/MC/MCDisassembler/MCDisassembler.h | 23 + .../include/llvm/Passes/StandardInstrumentations.h | 10 +- .../include/llvm/ProfileData/SampleProfReader.h | 37 +- .../include/llvm/ProfileData/SampleProfWriter.h | 45 +- .../llvm/include/llvm/Support/BinaryByteStream.h | 4 +- .../include/llvm/Support/DXILOperationCommon.h | 63 ++ .../llvm-project/llvm/include/llvm/Support/Error.h | 2 +- .../llvm/include/llvm/Support/MathExtras.h | 6 + .../llvm/include/llvm/Support/raw_ostream.h | 4 +- .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 2 + .../llvm/include/llvm/Transforms/IPO.h | 2 - .../llvm/include/llvm/Transforms/IPO/Attributor.h | 2 +- .../llvm/Transforms/IPO/WholeProgramDevirt.h | 4 +- .../include/llvm/Transforms/Utils/MatrixUtils.h | 47 +- .../include/llvm/Transforms/Utils/MemoryOpRemark.h | 6 +- .../llvm/Transforms/Utils/SimplifyLibCalls.h | 2 +- .../llvm-project/llvm/lib/Analysis/CodeMetrics.cpp | 3 +- .../llvm-project/llvm/lib/Analysis/InlineCost.cpp | 4 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 12 - .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 4 +- .../llvm/lib/Analysis/MemoryBuiltins.cpp | 7 - .../llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 3 +- .../llvm/lib/Analysis/PHITransAddr.cpp | 17 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 26 +- .../llvm/lib/Analysis/TypeMetadataUtils.cpp | 4 +- .../llvm/lib/Analysis/ValueTracking.cpp | 43 +- .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 7 +- .../llvm/lib/CodeGen/AsmPrinter/WasmException.h | 2 +- .../llvm/lib/CodeGen/AtomicExpandPass.cpp | 7 +- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 4 +- .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 3 +- .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 10 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 5 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 16 +- .../llvm/lib/CodeGen/MachineFunctionPass.cpp | 29 + .../llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp | 7 +- .../llvm/lib/CodeGen/ProcessImplicitDefs.cpp | 2 +- .../llvm/lib/CodeGen/RegAllocGreedy.cpp | 19 +- .../llvm-project/llvm/lib/CodeGen/RegAllocGreedy.h | 2 + .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 90 ++- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 41 +- .../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 2 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 17 +- .../llvm/lib/DWARFLinker/DWARFLinker.cpp | 53 +- contrib/llvm-project/llvm/lib/DWP/DWP.cpp | 7 + .../JITLink/COFFLinkGraphBuilder.cpp | 124 ++-- .../ExecutionEngine/JITLink/COFFLinkGraphBuilder.h | 10 +- .../lib/ExecutionEngine/JITLink/COFF_x86_64.cpp | 179 +++-- .../lib/ExecutionEngine/JITLink/SEHFrameSupport.h | 61 ++ .../llvm/lib/ExecutionEngine/JITLink/x86_64.cpp | 2 + .../ExecutionEngine/Orc/ObjectFileInterface.cpp | 38 +- .../llvm-project/llvm/lib/FileCheck/FileCheck.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 4 + contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 33 + .../llvm/lib/IR/ModuleSummaryIndex.cpp | 8 +- contrib/llvm-project/llvm/lib/IR/PrintPasses.cpp | 44 ++ contrib/llvm-project/llvm/lib/LTO/LTO.cpp | 4 + contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp | 3 + .../llvm-project/llvm/lib/LTO/LTOCodeGenerator.cpp | 12 + .../llvm/lib/LTO/ThinLTOCodeGenerator.cpp | 6 + .../llvm-project/llvm/lib/MC/ELFObjectWriter.cpp | 5 +- .../llvm/lib/MC/MCDisassembler/MCDisassembler.cpp | 5 + .../llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp | 2 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 52 +- .../llvm-project/llvm/lib/ObjCopy/ELF/ELFObject.h | 14 +- .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp | 8 + .../llvm/lib/Passes/PassBuilderPipelines.cpp | 3 + .../llvm/lib/Passes/StandardInstrumentations.cpp | 58 -- .../llvm/lib/Support/ARMAttributeParser.cpp | 2 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 144 +++- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 6 + .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 32 +- .../AArch64/Disassembler/AArch64Disassembler.cpp | 8 + .../AArch64/Disassembler/AArch64Disassembler.h | 3 + .../GISel/AArch64O0PreLegalizerCombiner.cpp | 4 +- .../AArch64/GISel/AArch64PostLegalizerCombiner.cpp | 4 +- .../AArch64/GISel/AArch64PostLegalizerLowering.cpp | 4 +- .../AArch64/GISel/AArch64PreLegalizerCombiner.cpp | 4 +- .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 12 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 212 ++++-- .../llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h | 2 +- .../Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp | 4 +- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp | 826 ++++++++++++--------- .../llvm/lib/Target/AMDGPU/GCNSchedStrategy.h | 233 ++++-- .../Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp | 16 + .../llvm/lib/Target/AMDGPU/R600ISelLowering.h | 4 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 6 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 8 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 56 +- .../llvm/lib/Target/AMDGPU/VOPCInstructions.td | 2 +- .../Target/ARM/Disassembler/ARMDisassembler.cpp | 30 + .../llvm/lib/Target/DirectX/DXILOpBuilder.cpp | 324 ++++++++ .../llvm/lib/Target/DirectX/DXILOpBuilder.h | 46 ++ .../llvm/lib/Target/DirectX/DXILOpLowering.cpp | 167 +---- .../DirectX/DXILWriter/DXILValueEnumerator.cpp | 4 +- .../llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h | 1 - .../llvm/lib/Target/Hexagon/HexagonISelLowering.h | 3 - .../llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp | 46 -- .../llvm/lib/Target/Hexagon/HexagonInstrInfo.h | 4 - .../LoongArch/AsmParser/LoongArchAsmParser.cpp | 2 +- .../Disassembler/LoongArchDisassembler.cpp | 2 +- .../llvm/lib/Target/LoongArch/LoongArch.h | 2 +- .../lib/Target/LoongArch/LoongArchFrameLowering.h | 2 +- .../lib/Target/LoongArch/LoongArchISelDAGToDAG.h | 2 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 2 +- .../lib/Target/LoongArch/LoongArchRegisterInfo.h | 2 +- .../llvm/lib/Target/LoongArch/LoongArchSubtarget.h | 2 +- .../Target/LoongArch/LoongArchTargetMachine.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchAsmBackend.h | 2 +- .../LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp | 4 +- .../LoongArch/MCTargetDesc/LoongArchBaseInfo.h | 4 +- .../MCTargetDesc/LoongArchELFObjectWriter.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchInstPrinter.h | 2 +- .../LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h | 2 +- .../MCTargetDesc/LoongArchMCCodeEmitter.cpp | 2 +- .../MCTargetDesc/LoongArchMCTargetDesc.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h | 2 +- .../LoongArch/MCTargetDesc/LoongArchMatInt.h | 4 +- .../LoongArch/TargetInfo/LoongArchTargetInfo.h | 2 +- .../lib/Target/Mips/MipsPreLegalizerCombiner.cpp | 4 +- .../llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp | 15 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 53 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 1 + .../llvm/lib/Target/RISCV/RISCVInstrInfo.h | 21 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoC.td | 56 +- .../llvm/lib/Target/RISCV/RISCVTargetMachine.h | 3 +- .../llvm/lib/Target/SystemZ/SystemZRegisterInfo.h | 34 +- .../Target/WebAssembly/WebAssemblyISelLowering.cpp | 30 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 84 ++- .../llvm/lib/Target/X86/X86ISelLowering.h | 2 +- .../llvm/lib/Target/X86/X86InstrInfo.h | 2 +- .../AggressiveInstCombine.cpp | 55 +- .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 6 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 28 +- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 61 +- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 3 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 61 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 12 - .../llvm-project/llvm/lib/Transforms/IPO/SCCP.cpp | 2 +- .../lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp | 8 + .../llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp | 35 +- .../Transforms/InstCombine/InstCombineInternal.h | 7 +- .../Instrumentation/AddressSanitizer.cpp | 4 +- .../lib/Transforms/Scalar/LoopDataPrefetch.cpp | 8 +- .../Transforms/Scalar/LowerMatrixIntrinsics.cpp | 25 +- .../llvm/lib/Transforms/Scalar/Reassociate.cpp | 24 +- .../llvm/lib/Transforms/Utils/InlineFunction.cpp | 59 +- .../llvm/lib/Transforms/Utils/MatrixUtils.cpp | 42 +- .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 137 +++- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 9 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 4 +- .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp | 49 +- .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.h | 4 +- .../llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp | 22 +- .../llvm-project/llvm/tools/llvm-lto/llvm-lto.cpp | 7 + .../llvm/tools/llvm-mca/CodeRegionGenerator.cpp | 4 +- .../llvm/tools/llvm-objcopy/ObjcopyOptions.cpp | 27 +- .../llvm/tools/llvm-objcopy/ObjcopyOpts.td | 11 +- .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 152 +++- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 3 +- .../llvm/tools/llvm-readobj/ELFDumper.cpp | 15 + .../llvm/tools/llvm-xray/xray-graph.cpp | 9 +- .../llvm/utils/TableGen/DXILEmitter.cpp | 107 ++- .../TableGen/GlobalISel/GIMatchDagPredicate.h | 6 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 4 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libclang/Makefile | 9 + lib/clang/liblldb/LLDBWrapLua.cpp | 2 +- lib/libc++/Makefile | 20 + 438 files changed, 9684 insertions(+), 4700 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h index d8e7e1e43d81..4f16a6361950 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h @@ -202,7 +202,8 @@ public: isa(C) || isa(C) || isa(C) || - isa(C))); + isa(C) || + isa(C))); Data2.setPointer(const_cast(C)); } diff --git a/contrib/llvm-project/clang/include/clang/Analysis/ConstructionContext.h b/contrib/llvm-project/clang/include/clang/Analysis/ConstructionContext.h index a437160e0778..67a091199b91 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/ConstructionContext.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/ConstructionContext.h @@ -36,13 +36,14 @@ public: ElidedDestructorKind, ElidableConstructorKind, ArgumentKind, - STATEMENT_WITH_INDEX_KIND_BEGIN=ArgumentKind, - STATEMENT_WITH_INDEX_KIND_END=ArgumentKind, + LambdaCaptureKind, + STATEMENT_WITH_INDEX_KIND_BEGIN = ArgumentKind, + STATEMENT_WITH_INDEX_KIND_END = LambdaCaptureKind, STATEMENT_KIND_BEGIN = VariableKind, - STATEMENT_KIND_END = ArgumentKind, + STATEMENT_KIND_END = LambdaCaptureKind, InitializerKind, - INITIALIZER_KIND_BEGIN=InitializerKind, - INITIALIZER_KIND_END=InitializerKind + INITIALIZER_KIND_BEGIN = InitializerKind, + INITIALIZER_KIND_END = InitializerKind }; LLVM_DUMP_METHOD static StringRef getKindAsString(ItemKind K) { @@ -55,6 +56,8 @@ public: case ElidedDestructorKind: return "elide destructor"; case ElidableConstructorKind: return "elide constructor"; case ArgumentKind: return "construct into argument"; + case LambdaCaptureKind: + return "construct into lambda captured variable"; case InitializerKind: return "construct into member variable"; }; llvm_unreachable("Unknown ItemKind"); @@ -72,7 +75,7 @@ private: bool hasIndex() const { return Kind >= STATEMENT_WITH_INDEX_KIND_BEGIN && - Kind >= STATEMENT_WITH_INDEX_KIND_END; + Kind <= STATEMENT_WITH_INDEX_KIND_END; } bool hasInitializer() const { @@ -127,6 +130,9 @@ public: ConstructionContextItem(const CXXCtorInitializer *Init) : Data(Init), Kind(InitializerKind), Index(0) {} + ConstructionContextItem(const LambdaExpr *LE, unsigned Index) + : Data(LE), Kind(LambdaCaptureKind), Index(Index) {} + ItemKind getKind() const { return Kind; } LLVM_DUMP_METHOD StringRef getKindAsString() const { @@ -254,7 +260,8 @@ public: CXX17ElidedCopyReturnedValueKind, RETURNED_VALUE_BEGIN = SimpleReturnedValueKind, RETURNED_VALUE_END = CXX17ElidedCopyReturnedValueKind, - ArgumentKind + ArgumentKind, + LambdaCaptureKind }; protected: @@ -298,6 +305,11 @@ public: const ConstructionContextLayer *TopLayer); Kind getKind() const { return K; } + + virtual const ArrayInitLoopExpr *getArrayInitLoop() const { return nullptr; } + + // Only declared to silence -Wnon-virtual-dtor warnings. + virtual ~ConstructionContext() = default; }; /// An abstract base class for local variable constructors. @@ -314,6 +326,12 @@ protected: public: const DeclStmt *getDeclStmt() const { return DS; } + const ArrayInitLoopExpr *getArrayInitLoop() const override { + const auto *Var = cast(DS->getSingleDecl()); + + return dyn_cast(Var->getInit()); + } + static bool classof(const ConstructionContext *CC) { return CC->getKind() >= VARIABLE_BEGIN && CC->getKind() <= VARIABLE_END; @@ -381,6 +399,10 @@ protected: public: const CXXCtorInitializer *getCXXCtorInitializer() const { return I; } + const ArrayInitLoopExpr *getArrayInitLoop() const override { + return dyn_cast(I->getInit()); + } + static bool classof(const ConstructionContext *CC) { return CC->getKind() >= INITIALIZER_BEGIN && CC->getKind() <= INITIALIZER_END; @@ -659,6 +681,42 @@ public: } }; +class LambdaCaptureConstructionContext : public ConstructionContext { + // The lambda of which the initializer we capture. + const LambdaExpr *LE; + + // Index of the captured element in the captured list. + unsigned Index; + + friend class ConstructionContext; // Allows to create<>() itself. + + explicit LambdaCaptureConstructionContext(const LambdaExpr *LE, + unsigned Index) + : ConstructionContext(LambdaCaptureKind), LE(LE), Index(Index) {} + +public: + const LambdaExpr *getLambdaExpr() const { return LE; } + unsigned getIndex() const { return Index; } + + const Expr *getInitializer() const { + return *(LE->capture_init_begin() + Index); + } + + const FieldDecl *getFieldDecl() const { + auto It = LE->getLambdaClass()->field_begin(); + std::advance(It, Index); + return *It; + } + + const ArrayInitLoopExpr *getArrayInitLoop() const override { + return dyn_cast_or_null(getInitializer()); + } + + static bool classof(const ConstructionContext *CC) { + return CC->getKind() == LambdaCaptureKind; + } +}; + } // end namespace clang #endif // LLVM_CLANG_ANALYSIS_CONSTRUCTIONCONTEXT_H diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h index abc3183e1b0b..b3e725ad3f6a 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h @@ -340,6 +340,10 @@ private: llvm::DenseMap, DisjunctionValue *> DisjunctionVals; llvm::DenseMap NegationVals; + llvm::DenseMap, ImplicationValue *> + ImplicationVals; + llvm::DenseMap, BiconditionalValue *> + BiconditionalVals; // Flow conditions are tracked symbolically: each unique flow condition is // associated with a fresh symbolic variable (token), bound to the clause that diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h index f17df36f6a4a..2e9c088d0e5c 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h @@ -128,6 +128,21 @@ public: /// with a symbolic representation of the `this` pointee. Environment(DataflowAnalysisContext &DACtx, const DeclContext &DeclCtx); + /// Creates and returns an environment to use for an inline analysis of the + /// callee. Uses the storage location from each argument in the `Call` as the + /// storage location for the corresponding parameter in the callee. + /// + /// Requirements: + /// + /// The callee of `Call` must be a `FunctionDecl` with a body. + /// + /// The body of the callee must not reference globals. + /// + /// The arguments of `Call` must map 1:1 to the callee's parameters. + /// + /// Each argument of `Call` must already have a `StorageLocation`. + Environment pushCall(const CallExpr *Call) const; + /// Returns true if and only if the environment is equivalent to `Other`, i.e /// the two environments: /// - have the same mappings from declarations to storage locations, diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/MapLattice.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/MapLattice.h index 014cd60841ee..16b0c978779a 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/MapLattice.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/MapLattice.h @@ -54,10 +54,13 @@ public: // The `bottom` element is the empty map. static MapLattice bottom() { return MapLattice(); } - void insert(const std::pair &P) { C.insert(P); } + std::pair + insert(const std::pair &P) { + return C.insert(P); + } - void insert(std::pair &&P) { - C.insert(std::move(P)); + std::pair insert(std::pair &&P) { + return C.insert(std::move(P)); } unsigned size() const { return C.size(); } diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Transfer.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Transfer.h index 25afa01f307c..cbb625487c1e 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Transfer.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Transfer.h @@ -20,6 +20,12 @@ namespace clang { namespace dataflow { +struct TransferOptions { + /// Determines whether to analyze function bodies when present in the + /// translation unit. + bool ContextSensitive = false; +}; + /// Maps statements to the environments of basic blocks that contain them. class StmtToEnvMap { public: @@ -36,7 +42,8 @@ public: /// Requirements: /// /// `S` must not be `ParenExpr` or `ExprWithCleanups`. -void transfer(const StmtToEnvMap &StmtToEnv, const Stmt &S, Environment &Env); +void transfer(const StmtToEnvMap &StmtToEnv, const Stmt &S, Environment &Env, + TransferOptions Options); } // namespace dataflow } // namespace clang diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h index b043062459e4..92700f164e7b 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h @@ -23,6 +23,7 @@ #include "clang/Analysis/FlowSensitive/ControlFlowContext.h" #include "clang/Analysis/FlowSensitive/DataflowEnvironment.h" #include "clang/Analysis/FlowSensitive/DataflowLattice.h" +#include "clang/Analysis/FlowSensitive/Transfer.h" #include "llvm/ADT/Any.h" #include "llvm/ADT/Optional.h" #include "llvm/Support/Error.h" @@ -36,6 +37,9 @@ struct DataflowAnalysisOptions { // (at which point the built-in transfer functions can be simply a standalone // analysis). bool ApplyBuiltinTransfer = true; + + /// Only has an effect if `ApplyBuiltinTransfer` is true. + TransferOptions BuiltinTransferOptions; }; /// Type-erased lattice element container. @@ -57,7 +61,7 @@ public: /// Deprecated. Use the `DataflowAnalysisOptions` constructor instead. TypeErasedDataflowAnalysis(bool ApplyBuiltinTransfer) - : Options({ApplyBuiltinTransfer}) {} + : Options({ApplyBuiltinTransfer, TransferOptions{}}) {} TypeErasedDataflowAnalysis(DataflowAnalysisOptions Options) : Options(Options) {} @@ -90,6 +94,11 @@ public: /// Determines whether to apply the built-in transfer functions, which model /// the heap and stack in the `Environment`. bool applyBuiltinTransfer() const { return Options.ApplyBuiltinTransfer; } + + /// Returns the options to be passed to the built-in transfer functions. + TransferOptions builtinTransferOptions() const { + return Options.BuiltinTransferOptions; + } }; /// Type-erased model of the program at a given program point. diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Value.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Value.h index 70348f874543..c63799fe6a46 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Value.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/Value.h @@ -37,12 +37,13 @@ public: Pointer, Struct, - // Synthetic boolean values are either atomic values or composites that - // represent conjunctions, disjunctions, and negations. + // Synthetic boolean values are either atomic values or logical connectives. AtomicBool, Conjunction, Disjunction, - Negation + Negation, + Implication, + Biconditional, }; explicit Value(Kind ValKind) : ValKind(ValKind) {} @@ -84,7 +85,9 @@ public: return Val->getKind() == Kind::AtomicBool || Val->getKind() == Kind::Conjunction || Val->getKind() == Kind::Disjunction || - Val->getKind() == Kind::Negation; + Val->getKind() == Kind::Negation || + Val->getKind() == Kind::Implication || + Val->getKind() == Kind::Biconditional; } }; @@ -162,6 +165,54 @@ private: BoolValue &SubVal; }; +/// Models a boolean implication. +/// +/// Equivalent to `!LHS v RHS`. +class ImplicationValue : public BoolValue { +public: + explicit ImplicationValue(BoolValue &LeftSubVal, BoolValue &RightSubVal) + : BoolValue(Kind::Implication), LeftSubVal(LeftSubVal), + RightSubVal(RightSubVal) {} + + static bool classof(const Value *Val) { + return Val->getKind() == Kind::Implication; + } + + /// Returns the left sub-value of the implication. + BoolValue &getLeftSubValue() const { return LeftSubVal; } + + /// Returns the right sub-value of the implication. + BoolValue &getRightSubValue() const { return RightSubVal; } + +private: + BoolValue &LeftSubVal; + BoolValue &RightSubVal; +}; + +/// Models a boolean biconditional. +/// +/// Equivalent to `(LHS ^ RHS) v (!LHS ^ !RHS)`. +class BiconditionalValue : public BoolValue { +public: + explicit BiconditionalValue(BoolValue &LeftSubVal, BoolValue &RightSubVal) + : BoolValue(Kind::Biconditional), LeftSubVal(LeftSubVal), + RightSubVal(RightSubVal) {} + + static bool classof(const Value *Val) { + return Val->getKind() == Kind::Biconditional; + } + + /// Returns the left sub-value of the biconditional. + BoolValue &getLeftSubValue() const { return LeftSubVal; } + + /// Returns the right sub-value of the biconditional. + BoolValue &getRightSubValue() const { return RightSubVal; } + +private: + BoolValue &LeftSubVal; + BoolValue &RightSubVal; +}; + /// Models an integer. class IntegerValue : public Value { public: diff --git a/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td b/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td index aff0dbbdd94d..5c84e2fc5b77 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td +++ b/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td @@ -5040,6 +5040,12 @@ general this requires the template to be declared at least twice. For example: clang::preferred_name(wstring)]] basic_string { // ... }; + + +Note that the ``preferred_name`` attribute will be ignored when the compiler +writes a C++20 Module interface now. This is due to a compiler issue +(https://github.com/llvm/llvm-project/issues/56490) that blocks users to modularize +declarations with `preferred_name`. This is intended to be fixed in the future. }]; } diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h index 709d5e1dc80d..91b180f8004d 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticIDs.h @@ -45,18 +45,18 @@ namespace clang { // Start position for diagnostics. enum { DIAG_START_COMMON = 0, - DIAG_START_DRIVER = DIAG_START_COMMON + DIAG_SIZE_COMMON, - DIAG_START_FRONTEND = DIAG_START_DRIVER + DIAG_SIZE_DRIVER, - DIAG_START_SERIALIZATION = DIAG_START_FRONTEND + DIAG_SIZE_FRONTEND, - DIAG_START_LEX = DIAG_START_SERIALIZATION + DIAG_SIZE_SERIALIZATION, - DIAG_START_PARSE = DIAG_START_LEX + DIAG_SIZE_LEX, - DIAG_START_AST = DIAG_START_PARSE + DIAG_SIZE_PARSE, - DIAG_START_COMMENT = DIAG_START_AST + DIAG_SIZE_AST, - DIAG_START_CROSSTU = DIAG_START_COMMENT + DIAG_SIZE_COMMENT, - DIAG_START_SEMA = DIAG_START_CROSSTU + DIAG_SIZE_CROSSTU, - DIAG_START_ANALYSIS = DIAG_START_SEMA + DIAG_SIZE_SEMA, - DIAG_START_REFACTORING = DIAG_START_ANALYSIS + DIAG_SIZE_ANALYSIS, - DIAG_UPPER_LIMIT = DIAG_START_REFACTORING + DIAG_SIZE_REFACTORING + DIAG_START_DRIVER = DIAG_START_COMMON + static_cast(DIAG_SIZE_COMMON), + DIAG_START_FRONTEND = DIAG_START_DRIVER + static_cast(DIAG_SIZE_DRIVER), + DIAG_START_SERIALIZATION = DIAG_START_FRONTEND + static_cast(DIAG_SIZE_FRONTEND), + DIAG_START_LEX = DIAG_START_SERIALIZATION + static_cast(DIAG_SIZE_SERIALIZATION), + DIAG_START_PARSE = DIAG_START_LEX + static_cast(DIAG_SIZE_LEX), + DIAG_START_AST = DIAG_START_PARSE + static_cast(DIAG_SIZE_PARSE), + DIAG_START_COMMENT = DIAG_START_AST + static_cast(DIAG_SIZE_AST), + DIAG_START_CROSSTU = DIAG_START_COMMENT + static_cast(DIAG_SIZE_COMMENT), + DIAG_START_SEMA = DIAG_START_CROSSTU + static_cast(DIAG_SIZE_CROSSTU), + DIAG_START_ANALYSIS = DIAG_START_SEMA + static_cast(DIAG_SIZE_SEMA), + DIAG_START_REFACTORING = DIAG_START_ANALYSIS + static_cast(DIAG_SIZE_ANALYSIS), + DIAG_UPPER_LIMIT = DIAG_START_REFACTORING + static_cast(DIAG_SIZE_REFACTORING) }; class CustomDiagInfo; diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td index 352a050ba5cf..18adb21e2be0 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td @@ -282,7 +282,7 @@ def err_inline_nested_namespace_definition : Error< def err_expected_semi_after_attribute_list : Error< "expected ';' after attribute list">; def err_expected_semi_after_static_assert : Error< - "expected ';' after static_assert">; + "expected ';' after '%0'">; def err_expected_semi_for : Error<"expected ';' in 'for' statement specifier">; def err_single_decl_assign_in_for_range : Error< "range-based 'for' statement uses ':', not '='">; @@ -425,7 +425,7 @@ def err_unexpected_token_in_nested_name_spec : Error< def err_bool_redeclaration : Error< "redeclaration of C++ built-in type 'bool'">; def warn_cxx98_compat_static_assert : Warning< - "static_assert declarations are incompatible with C++98">, + "'static_assert' declarations are incompatible with C++98">, InGroup, DefaultIgnore; def ext_ms_static_assert : ExtWarn< "use of 'static_assert' without inclusion of is a Microsoft " @@ -538,6 +538,8 @@ def err_invalid_operator_on_type : Error< "cannot use %select{dot|arrow}0 operator on a type">; def err_expected_unqualified_id : Error< "expected %select{identifier|unqualified-id}0">; +def err_while_loop_outside_of_a_function : Error< + "while loop outside of a function">; def err_brackets_go_after_unqualified_id : Error< "brackets are not allowed here; to declare an array, " "place the brackets after the %select{identifier|name}0">; diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td index 756102720049..6ff5b8de57fd 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -1526,12 +1526,12 @@ def err_messaging_class_with_direct_method : Error< // C++ declarations def err_static_assert_expression_is_not_constant : Error< - "static_assert expression is not an integral constant expression">; + "static assertion expression is not an integral constant expression">; def err_constexpr_if_condition_expression_is_not_constant : Error< "constexpr if condition is not a constant expression">; -def err_static_assert_failed : Error<"static_assert failed%select{: %1|}0">; +def err_static_assert_failed : Error<"static assertion failed%select{: %1|}0">; def err_static_assert_requirement_failed : Error< - "static_assert failed due to requirement '%0'%select{: %2|}1">; + "static assertion failed due to requirement '%0'%select{: %2|}1">; def warn_consteval_if_always_true : Warning< "consteval if is always true in an %select{unevaluated|immediate}0 context">, @@ -5774,6 +5774,8 @@ def warn_forward_class_redefinition : Warning< def err_redefinition_different_typedef : Error< "%select{typedef|type alias|type alias template}0 " "redefinition with different types%diff{ ($ vs $)|}1,2">; +def err_redefinition_different_concept : Error< + "redefinition of concept %0 with different template parameters or requirements">; def err_tag_reference_non_tag : Error< "%select{non-struct type|non-class type|non-union type|non-enum " "type|typedef|type alias|template|type alias template|template " diff --git a/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def b/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def index 6fb31c5655ab..ad366821f3cb 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def +++ b/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def @@ -195,6 +195,7 @@ VALUE_LANGOPT(DoubleSize , 32, 0, "width of double") VALUE_LANGOPT(LongDoubleSize , 32, 0, "width of long double") LANGOPT(PPCIEEELongDouble , 1, 0, "use IEEE 754 quadruple-precision for long double") LANGOPT(EnableAIXExtendedAltivecABI , 1, 0, "__EXTABI__ predefined macro") +LANGOPT(EnableAIXQuadwordAtomicsABI , 1, 0, "Use 16-byte atomic lock free semantics") COMPATIBLE_VALUE_LANGOPT(PICLevel , 2, 0, "__PIC__ level") COMPATIBLE_VALUE_LANGOPT(PIE , 1, 0, "is pie") LANGOPT(ROPI , 1, 0, "Read-only position independence") diff --git a/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def b/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def index 7b65a1537805..84fc0893c8b5 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def +++ b/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def @@ -908,6 +908,9 @@ PRAGMA_ANNOTATION(pragma_fp) // Annotation for the attribute pragma directives - #pragma clang attribute ... PRAGMA_ANNOTATION(pragma_attribute) +// Annotation for the riscv pragma directives - #pragma clang riscv intrinsic ... +PRAGMA_ANNOTATION(pragma_riscv) + // Annotations for module import translated from #include etc. ANNOTATION(module_include) ANNOTATION(module_begin) diff --git a/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td b/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td index d96020ee40d0..6b21f48110de 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td +++ b/contrib/llvm-project/clang/include/clang/Basic/riscv_vector.td @@ -186,7 +186,7 @@ class RVVBuiltin To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: a2e927433f9d - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a2e927433f9d66b477247c4d36da79c008cfa8a4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a2e927433f9d66b477247c4d36da79c008cfa8a4 commit a2e927433f9d66b477247c4d36da79c008cfa8a4 Author: Dimitry Andric AuthorDate: 2022-08-13 15:37:04 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:49 +0000 Merge llvm-project release/15.x llvmorg-15.0.0-rc2-40-gfbd2950d8d0d This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-rc2-40-gfbd2950d8d0d. PR: 265425 MFC after: 2 weeks (cherry picked from commit 61cfbce3347e4372143bcabf7b197577b9f3958a) --- .../clang/include/clang/AST/DeclTemplate.h | 8 +- .../clang/include/clang/Basic/Module.h | 5 + .../llvm-project/clang/include/clang/Sema/Sema.h | 2 + .../clang/include/clang/Serialization/ASTReader.h | 3 +- contrib/llvm-project/clang/lib/AST/APValue.cpp | 8 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 2 + contrib/llvm-project/clang/lib/Basic/Targets/X86.h | 4 + .../llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp | 8 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 15 + .../clang/lib/CodeGen/CodeGenModule.cpp | 10 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 13 +- .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp | 25 + .../clang/lib/Driver/ToolChains/Arch/Sparc.h | 3 + .../clang/lib/Driver/ToolChains/Clang.cpp | 21 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 11 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 10 + .../clang/lib/Frontend/FrontendAction.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 76 ++- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 5 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 8 +- .../clang/lib/Serialization/ASTReader.cpp | 89 ++-- .../compiler-rt/lib/builtins/fp_trunc.h | 2 +- .../compiler-rt/lib/builtins/int_types.h | 2 +- .../lib/sanitizer_common/sanitizer_platform.h | 2 +- .../libcxx/include/__algorithm/adjacent_find.h | 32 +- .../libcxx/include/__algorithm/clamp.h | 4 +- .../llvm-project/libcxx/include/__algorithm/copy.h | 10 +- .../libcxx/include/__algorithm/copy_backward.h | 6 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 2 + .../libcxx/include/__algorithm/fill_n.h | 2 + .../libcxx/include/__algorithm/find_first_of.h | 3 +- .../libcxx/include/__algorithm/inplace_merge.h | 91 ++-- .../libcxx/include/__algorithm/is_permutation.h | 259 ++++++---- .../include/__algorithm/iterator_operations.h | 83 ++- .../libcxx/include/__algorithm/make_heap.h | 4 +- .../libcxx/include/__algorithm/make_projected.h | 98 ++-- .../llvm-project/libcxx/include/__algorithm/move.h | 26 +- .../libcxx/include/__algorithm/move_backward.h | 38 +- .../libcxx/include/__algorithm/next_permutation.h | 36 +- .../libcxx/include/__algorithm/partial_sort.h | 10 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 42 +- .../libcxx/include/__algorithm/pop_heap.h | 4 +- .../libcxx/include/__algorithm/prev_permutation.h | 36 +- .../libcxx/include/__algorithm/push_heap.h | 2 +- .../libcxx/include/__algorithm/ranges_clamp.h | 65 +++ .../include/__algorithm/ranges_inplace_merge.h | 52 +- .../libcxx/include/__algorithm/ranges_is_heap.h | 2 +- .../include/__algorithm/ranges_is_heap_until.h | 2 +- .../include/__algorithm/ranges_is_permutation.h | 89 ++++ .../libcxx/include/__algorithm/ranges_make_heap.h | 2 +- .../libcxx/include/__algorithm/ranges_move.h | 15 +- .../include/__algorithm/ranges_move_backward.h | 5 +- .../include/__algorithm/ranges_next_permutation.h | 72 +++ .../include/__algorithm/ranges_nth_element.h | 2 +- .../include/__algorithm/ranges_partial_sort.h | 2 +- .../include/__algorithm/ranges_partial_sort_copy.h | 19 +- .../libcxx/include/__algorithm/ranges_partition.h | 2 +- .../libcxx/include/__algorithm/ranges_pop_heap.h | 2 +- .../include/__algorithm/ranges_prev_permutation.h | 76 +++ .../libcxx/include/__algorithm/ranges_push_heap.h | 2 +- .../include/__algorithm/ranges_remove_copy.h | 55 +- .../include/__algorithm/ranges_remove_copy_if.h | 58 ++- .../include/__algorithm/ranges_replace_copy.h | 69 +-- .../include/__algorithm/ranges_replace_copy_if.h | 72 +-- .../libcxx/include/__algorithm/ranges_rotate.h | 71 +++ .../libcxx/include/__algorithm/ranges_sample.h | 74 +++ .../libcxx/include/__algorithm/ranges_shuffle.h | 34 +- .../libcxx/include/__algorithm/ranges_sort.h | 2 +- .../libcxx/include/__algorithm/ranges_sort_heap.h | 2 +- .../include/__algorithm/ranges_stable_partition.h | 2 +- .../include/__algorithm/ranges_stable_sort.h | 2 +- .../include/__algorithm/ranges_swap_ranges.h | 11 +- .../libcxx/include/__algorithm/ranges_unique.h | 46 +- .../include/__algorithm/ranges_unique_copy.h | 73 ++- .../libcxx/include/__algorithm/reverse.h | 23 +- .../libcxx/include/__algorithm/rotate.h | 57 ++- .../libcxx/include/__algorithm/sample.h | 48 +- .../libcxx/include/__algorithm/sift_down.h | 4 +- .../libcxx/include/__algorithm/sort_heap.h | 4 +- .../libcxx/include/__algorithm/stable_partition.h | 4 +- .../libcxx/include/__algorithm/stable_sort.h | 2 +- .../libcxx/include/__algorithm/swap_ranges.h | 37 +- .../uniform_random_bit_generator_adaptor.h | 62 +++ .../libcxx/include/__algorithm/unique.h | 48 +- .../libcxx/include/__algorithm/unique_copy.h | 147 +++--- .../libcxx/include/__algorithm/unwrap_range.h | 97 ++++ contrib/llvm-project/libcxx/include/__assert | 11 +- contrib/llvm-project/libcxx/include/__availability | 41 +- .../llvm-project/libcxx/include/__bit_reference | 243 +++++---- .../include/__iterator/incrementable_traits.h | 1 + .../libcxx/include/__iterator/iterator_traits.h | 7 + .../libcxx/include/__iterator/reverse_iterator.h | 14 +- .../libcxx/include/__memory/construct_at.h | 3 +- .../libcxx/include/__memory/pointer_traits.h | 28 +- .../include/__memory/uninitialized_algorithms.h | 7 +- .../llvm-project/libcxx/include/__ranges/size.h | 1 + contrib/llvm-project/libcxx/include/__split_buffer | 134 +++-- .../llvm-project/libcxx/include/__verbose_abort | 51 ++ contrib/llvm-project/libcxx/include/algorithm | 219 +++++++- contrib/llvm-project/libcxx/include/format | 101 ++-- contrib/llvm-project/libcxx/include/memory | 26 +- .../libcxx/include/module.modulemap.in | 16 +- contrib/llvm-project/libcxx/include/vector | 557 ++++++++++++--------- contrib/llvm-project/libcxx/include/version | 8 +- .../libcxx/src/include/sso_allocator.h | 5 + .../libcxx/src/{assert.cpp => verbose_abort.cpp} | 22 +- contrib/llvm-project/lld/COFF/Driver.cpp | 17 +- contrib/llvm-project/lld/COFF/Driver.h | 4 +- contrib/llvm-project/lld/COFF/DriverUtils.cpp | 3 + contrib/llvm-project/lld/COFF/MinGW.cpp | 10 +- contrib/llvm-project/lld/COFF/MinGW.h | 6 +- contrib/llvm-project/lld/COFF/Options.td | 2 + contrib/llvm-project/lld/COFF/PDB.cpp | 4 + contrib/llvm-project/lld/ELF/Arch/AArch64.cpp | 4 +- contrib/llvm-project/lld/ELF/Config.h | 1 + contrib/llvm-project/lld/ELF/Driver.cpp | 6 +- contrib/llvm-project/lld/ELF/Options.td | 2 + contrib/llvm-project/lld/ELF/Relocations.cpp | 3 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 17 + contrib/llvm-project/lld/ELF/SyntheticSections.h | 10 + contrib/llvm-project/lld/ELF/Writer.cpp | 5 + contrib/llvm-project/lld/MachO/Arch/ARM64.cpp | 2 +- contrib/llvm-project/lld/MachO/DriverUtils.cpp | 2 +- contrib/llvm-project/lld/MachO/EhFrame.cpp | 10 +- contrib/llvm-project/lld/MachO/EhFrame.h | 8 +- contrib/llvm-project/lld/MachO/InputFiles.cpp | 118 ++++- contrib/llvm-project/lld/MachO/InputFiles.h | 17 +- .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 8 +- contrib/llvm-project/lld/MachO/Writer.cpp | 122 ++--- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 144 +++++- .../llvm-project/lldb/source/Core/Disassembler.cpp | 1 + .../include/llvm/Analysis/TargetTransformInfo.h | 9 + .../llvm/Analysis/TargetTransformInfoImpl.h | 2 + .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/include/llvm/CodeGen/ISDOpcodes.h | 5 + .../include/llvm/DebugInfo/CodeView/CodeView.h | 3 + .../ExecutorSharedMemoryMapperService.h | 3 + .../Orc/TargetProcess/JITLoaderGDB.h | 3 + contrib/llvm-project/llvm/include/llvm/IR/Type.h | 5 + .../llvm/include/llvm/Support/ErrorHandling.h | 6 +- .../llvm-project/llvm/include/llvm/Support/Host.h | 1 + .../llvm/lib/Analysis/ConstantFolding.cpp | 4 +- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 4 + .../llvm/lib/CodeGen/MachineScheduler.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 45 +- .../llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp | 7 + .../IntelJITEvents/IntelJITEventListener.cpp | 1 + .../llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp | 22 +- .../ExecutorSharedMemoryMapperService.cpp | 7 +- contrib/llvm-project/llvm/lib/Support/Host.cpp | 108 ++++ .../lib/Target/AArch64/AArch64ISelLowering.cpp | 47 +- .../Target/AArch64/AArch64TargetTransformInfo.h | 4 + .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 2 +- contrib/llvm-project/llvm/lib/Target/ARM/ARM.td | 9 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 3 +- .../llvm/lib/Target/PowerPC/PPCFastISel.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp | 25 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 96 ++-- .../llvm/lib/Target/X86/X86ISelLowering.h | 12 + .../lib/Transforms/IPO/AttributorAttributes.cpp | 13 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 12 + .../Transforms/Utils/RelLookupTableConverter.cpp | 8 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 15 +- contrib/llvm-project/llvm/tools/lli/lli.cpp | 3 +- .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 33 +- .../openmp/runtime/src/kmp_dispatch.cpp | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libllvm/Makefile | 4 +- lib/libc++/Makefile | 11 +- sys/conf/kern.mk | 10 +- 173 files changed, 3754 insertions(+), 1472 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h b/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h index 725bb0bced9c..baed5ca22fa7 100755 --- a/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h +++ b/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h @@ -3287,8 +3287,12 @@ public: return isa(getTemplateParameters()->getParam(0)); } - ConceptDecl *getCanonicalDecl() override { return getFirstDecl(); } - const ConceptDecl *getCanonicalDecl() const { return getFirstDecl(); } + ConceptDecl *getCanonicalDecl() override { + return cast(getPrimaryMergedDecl(this)); + } + const ConceptDecl *getCanonicalDecl() const { + return const_cast(this)->getCanonicalDecl(); + } // Implement isa/cast/dyncast/etc. static bool classof(const Decl *D) { return classofKind(D->getKind()); } diff --git a/contrib/llvm-project/clang/include/clang/Basic/Module.h b/contrib/llvm-project/clang/include/clang/Basic/Module.h index 47d736a3b455..8ef1c5991c56 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/Module.h +++ b/contrib/llvm-project/clang/include/clang/Basic/Module.h @@ -525,6 +525,11 @@ public: Parent->SubModules.push_back(this); } + /// Is this module have similar semantics as headers. + bool isHeaderLikeModule() const { + return isModuleMapModule() || isHeaderUnit(); + } + /// Is this a module partition. bool isModulePartition() const { return Kind == ModulePartitionInterface || diff --git a/contrib/llvm-project/clang/include/clang/Sema/Sema.h b/contrib/llvm-project/clang/include/clang/Sema/Sema.h index 06ea0b417cb3..681a76dfa56a 100644 --- a/contrib/llvm-project/clang/include/clang/Sema/Sema.h +++ b/contrib/llvm-project/clang/include/clang/Sema/Sema.h @@ -4479,6 +4479,8 @@ public: bool CheckRedeclarationModuleOwnership(NamedDecl *New, NamedDecl *Old); bool CheckRedeclarationExported(NamedDecl *New, NamedDecl *Old); bool CheckRedeclarationInModule(NamedDecl *New, NamedDecl *Old); + bool IsRedefinitionInModule(const NamedDecl *New, + const NamedDecl *Old) const; void DiagnoseAmbiguousLookup(LookupResult &Result); //@} diff --git a/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h b/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h index cc4ced02876e..dee2744516d5 100644 --- a/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h +++ b/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h @@ -1738,7 +1738,8 @@ public: const LangOptions &LangOpts, const TargetOptions &TargetOpts, const PreprocessorOptions &PPOpts, - StringRef ExistingModuleCachePath); + StringRef ExistingModuleCachePath, + bool RequireStrictOptionMatches = false); /// Returns the suggested contents of the predefines buffer, /// which contains a (typically-empty) subset of the predefines diff --git a/contrib/llvm-project/clang/lib/AST/APValue.cpp b/contrib/llvm-project/clang/lib/AST/APValue.cpp index a22031142c7c..d522c87388a5 100644 --- a/contrib/llvm-project/clang/lib/AST/APValue.cpp +++ b/contrib/llvm-project/clang/lib/AST/APValue.cpp @@ -637,10 +637,10 @@ static bool TryPrintAsStringLiteral(raw_ostream &Out, return false; // Nothing we can do about a sequence that is not null-terminated - if (!Inits.back().getInt().isZero()) + if (!Inits.back().isInt() || !Inits.back().getInt().isZero()) return false; - else - Inits = Inits.drop_back(); + + Inits = Inits.drop_back(); llvm::SmallString<40> Buf; Buf.push_back('"'); @@ -655,6 +655,8 @@ static bool TryPrintAsStringLiteral(raw_ostream &Out, } for (auto &Val : Inits) { + if (!Val.isInt()) + return false; int64_t Char64 = Val.getInt().getExtValue(); if (!isASCII(Char64)) return false; // Bye bye, see you in integers. diff --git a/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp b/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp index 69afdf8a3584..0f5c366816df 100644 --- a/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp +++ b/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp @@ -358,6 +358,8 @@ bool X86TargetInfo::handleTargetFeatures(std::vector &Features, HasFloat16 = SSELevel >= SSE2; + HasBFloat16 = SSELevel >= SSE2; + MMX3DNowEnum ThreeDNowLevel = llvm::StringSwitch(Feature) .Case("+3dnowa", AMD3DNowAthlon) .Case("+3dnow", AMD3DNow) diff --git a/contrib/llvm-project/clang/lib/Basic/Targets/X86.h b/contrib/llvm-project/clang/lib/Basic/Targets/X86.h index 224145f4b020..136047a5055c 100644 --- a/contrib/llvm-project/clang/lib/Basic/Targets/X86.h +++ b/contrib/llvm-project/clang/lib/Basic/Targets/X86.h @@ -156,6 +156,8 @@ protected: public: X86TargetInfo(const llvm::Triple &Triple, const TargetOptions &) : TargetInfo(Triple) { + BFloat16Width = BFloat16Align = 16; + BFloat16Format = &llvm::APFloat::BFloat(); LongDoubleFormat = &llvm::APFloat::x87DoubleExtended(); AddrSpaceMap = &X86AddrSpaceMap; HasStrictFP = true; @@ -400,6 +402,8 @@ public: uint64_t getPointerAlignV(unsigned AddrSpace) const override { return getPointerWidthV(AddrSpace); } + + const char *getBFloat16Mangling() const override { return "u6__bf16"; }; }; // X86-32 generic target diff --git a/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp b/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp index 949112c63cc9..6915f950b6ce 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp @@ -649,8 +649,8 @@ void CodeGenModule::EmitCXXModuleInitFunc(Module *Primary) { SmallVector ModuleInits; for (Module *M : AllImports) { - // No Itanium initializer in module map modules. - if (M->isModuleMapModule()) + // No Itanium initializer in header like modules. + if (M->isHeaderLikeModule()) continue; // TODO: warn of mixed use of module map modules and C++20? llvm::FunctionType *FTy = llvm::FunctionType::get(VoidTy, false); SmallString<256> FnName; @@ -778,8 +778,8 @@ CodeGenModule::EmitCXXGlobalInitFunc() { SmallVector ModuleInits; if (CXX20ModuleInits) for (Module *M : ImportedModules) { - // No Itanium initializer in module map modules. - if (M->isModuleMapModule()) + // No Itanium initializer in header like modules. + if (M->isHeaderLikeModule()) continue; llvm::FunctionType *FTy = llvm::FunctionType::get(VoidTy, false); SmallString<256> FnName; diff --git a/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp b/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp index 05ab16668743..481438de0e53 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp @@ -2343,6 +2343,7 @@ void CodeGenFunction::EmitAsmStmt(const AsmStmt &S) { std::vector ArgElemTypes; std::vector Args; llvm::BitVector ResultTypeRequiresCast; + llvm::BitVector ResultRegIsFlagReg; // Keep track of inout constraints. std::string InOutConstraints; @@ -2400,6 +2401,9 @@ void CodeGenFunction::EmitAsmStmt(const AsmStmt &S) { ResultRegQualTys.push_back(QTy); ResultRegDests.push_back(Dest); + bool IsFlagReg = llvm::StringRef(OutputConstraint).startswith("{@cc"); + ResultRegIsFlagReg.push_back(IsFlagReg); + llvm::Type *Ty = ConvertTypeForMem(QTy); const bool RequiresCast = Info.allowsRegister() && (getTargetHooks().isScalarizableAsmOperand(*this, Ty) || @@ -2717,10 +2721,21 @@ void CodeGenFunction::EmitAsmStmt(const AsmStmt &S) { // ResultRegDests can be also populated by addReturnRegisterOutputs() above, // in which case its size may grow. assert(ResultTypeRequiresCast.size() <= ResultRegDests.size()); + assert(ResultRegIsFlagReg.size() <= ResultRegDests.size()); for (unsigned i = 0, e = RegResults.size(); i != e; ++i) { llvm::Value *Tmp = RegResults[i]; llvm::Type *TruncTy = ResultTruncRegTypes[i]; + if ((i < ResultRegIsFlagReg.size()) && ResultRegIsFlagReg[i]) { + // Target must guarantee the Value `Tmp` here is lowered to a boolean + // value. + llvm::Constant *Two = llvm::ConstantInt::get(Tmp->getType(), 2); + llvm::Value *IsBooleanValue = + Builder.CreateCmp(llvm::CmpInst::ICMP_ULT, Tmp, Two); + llvm::Function *FnAssume = CGM.getIntrinsic(llvm::Intrinsic::assume); + Builder.CreateCall(FnAssume, IsBooleanValue); + } + // If the result type of the LLVM IR asm doesn't match the result type of // the expression, do the conversion. if (ResultRegTypes[i] != ResultTruncRegTypes[i]) { diff --git a/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp b/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp index 4e8e120d89df..d87692face2a 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp @@ -521,7 +521,7 @@ static void setVisibilityFromDLLStorageClass(const clang::LangOptions &LO, void CodeGenModule::Release() { Module *Primary = getContext().getModuleForCodeGen(); - if (CXX20ModuleInits && Primary && !Primary->isModuleMapModule()) + if (CXX20ModuleInits && Primary && !Primary->isHeaderLikeModule()) EmitModuleInitializers(Primary); EmitDeferred(); DeferredDecls.insert(EmittedDeferredDecls.begin(), @@ -2521,21 +2521,23 @@ void CodeGenModule::EmitModuleInitializers(clang::Module *Primary) { // source, first Global Module Fragments, if present. if (auto GMF = Primary->getGlobalModuleFragment()) { for (Decl *D : getContext().getModuleInitializers(GMF)) { - assert(D->getKind() == Decl::Var && "GMF initializer decl is not a var?"); + if (isa(D)) + continue; + assert(isa(D) && "GMF initializer decl is not a var?"); EmitTopLevelDecl(D); } } // Second any associated with the module, itself. for (Decl *D : getContext().getModuleInitializers(Primary)) { // Skip import decls, the inits for those are called explicitly. - if (D->getKind() == Decl::Import) + if (isa(D)) continue; EmitTopLevelDecl(D); } // Third any associated with the Privat eMOdule Fragment, if present. if (auto PMF = Primary->getPrivateModuleFragment()) { for (Decl *D : getContext().getModuleInitializers(PMF)) { - assert(D->getKind() == Decl::Var && "PMF initializer decl is not a var?"); + assert(isa(D) && "PMF initializer decl is not a var?"); EmitTopLevelDecl(D); } } diff --git a/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp b/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp index d1ee61eab9d6..195ad8cdc13e 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp @@ -2871,7 +2871,7 @@ void X86_64ABIInfo::classify(QualType Ty, uint64_t OffsetBase, Class &Lo, } else if (k >= BuiltinType::Bool && k <= BuiltinType::LongLong) { Current = Integer; } else if (k == BuiltinType::Float || k == BuiltinType::Double || - k == BuiltinType::Float16) { + k == BuiltinType::Float16 || k == BuiltinType::BFloat16) { Current = SSE; } else if (k == BuiltinType::LongDouble) { const llvm::fltSemantics *LDF = &getTarget().getLongDoubleFormat(); @@ -3002,7 +3002,8 @@ void X86_64ABIInfo::classify(QualType Ty, uint64_t OffsetBase, Class &Lo, Current = Integer; else if (Size <= 128) Lo = Hi = Integer; - } else if (ET->isFloat16Type() || ET == getContext().FloatTy) { + } else if (ET->isFloat16Type() || ET == getContext().FloatTy || + ET->isBFloat16Type()) { Current = SSE; } else if (ET == getContext().DoubleTy) { Lo = Hi = SSE; @@ -3474,9 +3475,9 @@ GetSSETypeAtOffset(llvm::Type *IRType, unsigned IROffset, if (SourceSize > T0Size) T1 = getFPTypeAtOffset(IRType, IROffset + T0Size, TD); if (T1 == nullptr) { - // Check if IRType is a half + float. float type will be in IROffset+4 due + // Check if IRType is a half/bfloat + float. float type will be in IROffset+4 due // to its alignment. - if (T0->isHalfTy() && SourceSize > 4) + if (T0->is16bitFPTy() && SourceSize > 4) T1 = getFPTypeAtOffset(IRType, IROffset + 4, TD); // If we can't get a second FP type, return a simple half or float. // avx512fp16-abi.c:pr51813_2 shows it works to return float for @@ -3488,7 +3489,7 @@ GetSSETypeAtOffset(llvm::Type *IRType, unsigned IROffset, if (T0->isFloatTy() && T1->isFloatTy()) return llvm::FixedVectorType::get(T0, 2); - if (T0->isHalfTy() && T1->isHalfTy()) { + if (T0->is16bitFPTy() && T1->is16bitFPTy()) { llvm::Type *T2 = nullptr; if (SourceSize > 4) T2 = getFPTypeAtOffset(IRType, IROffset + 4, TD); @@ -3497,7 +3498,7 @@ GetSSETypeAtOffset(llvm::Type *IRType, unsigned IROffset, return llvm::FixedVectorType::get(T0, 4); } - if (T0->isHalfTy() || T1->isHalfTy()) + if (T0->is16bitFPTy() || T1->is16bitFPTy()) return llvm::FixedVectorType::get(llvm::Type::getHalfTy(getVMContext()), 4); return llvm::Type::getDoubleTy(getVMContext()); diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.cpp index 70ba8eb2a7d0..2c9d65e7714a 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.cpp @@ -12,6 +12,7 @@ #include "clang/Driver/Options.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Option/ArgList.h" +#include "llvm/Support/Host.h" using namespace clang::driver; using namespace clang::driver::tools; @@ -113,6 +114,30 @@ sparc::FloatABI sparc::getSparcFloatABI(const Driver &D, return ABI; } +std::string sparc::getSparcTargetCPU(const Driver &D, const ArgList &Args, + const llvm::Triple &Triple) { + if (const Arg *A = Args.getLastArg(clang::driver::options::OPT_march_EQ)) { + D.Diag(diag::err_drv_unsupported_opt_for_target) + << A->getSpelling() << Triple.getTriple(); + return ""; + } + + if (const Arg *A = Args.getLastArg(clang::driver::options::OPT_mcpu_EQ)) { + StringRef CPUName = A->getValue(); + if (CPUName == "native") { + std::string CPU = std::string(llvm::sys::getHostCPUName()); + if (!CPU.empty() && CPU != "generic") + return CPU; + return ""; + } + return std::string(CPUName); + } + + if (Triple.getArch() == llvm::Triple::sparc && Triple.isOSSolaris()) + return "v9"; + return ""; +} + void sparc::getSparcTargetFeatures(const Driver &D, const ArgList &Args, std::vector &Features) { sparc::FloatABI FloatABI = sparc::getSparcFloatABI(D, Args); diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.h b/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.h index d12a9a70e264..44658c4259c6 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.h +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Sparc.h @@ -28,6 +28,9 @@ enum class FloatABI { FloatABI getSparcFloatABI(const Driver &D, const llvm::opt::ArgList &Args); +std::string getSparcTargetCPU(const Driver &D, const llvm::opt::ArgList &Args, + const llvm::Triple &Triple); + void getSparcTargetFeatures(const Driver &D, const llvm::opt::ArgList &Args, std::vector &Features); const char *getSparcAsmModeForCPU(llvm::StringRef Name, diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp index b62a025c5072..3704ed858668 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp @@ -2205,6 +2205,18 @@ void Clang::AddSparcTargetArgs(const ArgList &Args, CmdArgs.push_back("-mfloat-abi"); CmdArgs.push_back("hard"); } + + if (const Arg *A = Args.getLastArg(clang::driver::options::OPT_mtune_EQ)) { + StringRef Name = A->getValue(); + std::string TuneCPU; + if (Name == "native") + TuneCPU = std::string(llvm::sys::getHostCPUName()); + else + TuneCPU = std::string(Name); + + CmdArgs.push_back("-tune-cpu"); + CmdArgs.push_back(Args.MakeArgString(TuneCPU)); + } } void Clang::AddSystemZTargetArgs(const ArgList &Args, @@ -4610,8 +4622,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, TC.addClangWarningOptions(CmdArgs); // FIXME: Subclass ToolChain for SPIR and move this to addClangWarningOptions. - if (Triple.isSPIR() || Triple.isSPIRV()) + if (Triple.isSPIR() || Triple.isSPIRV()) { CmdArgs.push_back("-Wspir-compat"); + // SPIR-V support still needs pointer types in some cases as recovering + // type from pointer uses is not always possible e.g. for extern functions + // (see PR56660). + CmdArgs.push_back("-no-opaque-pointers"); + } // Select the appropriate action. RewriteKind rewriteKind = RK_None; @@ -6576,7 +6593,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // support by default, or just assume that all languages do. bool HaveModules = Std && (Std->containsValue("c++2a") || Std->containsValue("c++20") || - Std->containsValue("c++latest")); + Std->containsValue("c++2b") || Std->containsValue("c++latest")); RenderModulesOptions(C, D, Args, Input, Output, CmdArgs, HaveModules); if (Args.hasFlag(options::OPT_fpch_validate_input_files_content, diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp index 1d2c085d683e..443725f7d8a8 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -12,6 +12,7 @@ #include "Arch/M68k.h" #include "Arch/Mips.h" #include "Arch/PPC.h" +#include "Arch/Sparc.h" #include "Arch/SystemZ.h" #include "Arch/VE.h" #include "Arch/X86.h" @@ -431,15 +432,15 @@ std::string tools::getCPUName(const Driver &D, const ArgList &Args, case llvm::Triple::bpfel: case llvm::Triple::bpfeb: - case llvm::Triple::sparc: - case llvm::Triple::sparcel: - case llvm::Triple::sparcv9: if (const Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) return A->getValue(); - if (T.getArch() == llvm::Triple::sparc && T.isOSSolaris()) - return "v9"; return ""; + case llvm::Triple::sparc: + case llvm::Triple::sparcel: + case llvm::Triple::sparcv9: + return sparc::getSparcTargetCPU(D, Args, T); + case llvm::Triple::x86: case llvm::Triple::x86_64: return x86::getX86TargetCPU(D, Args, T); diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp index 34396b0b59c2..f203cae1d329 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp @@ -631,6 +631,16 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, AddRunTimeLibs(ToolChain, D, CmdArgs, Args); + // LLVM support for atomics on 32-bit SPARC V8+ is incomplete, so + // forcibly link with libatomic as a workaround. + // TODO: Issue #41880 and D118021. + if (getToolChain().getTriple().getArch() == llvm::Triple::sparc) { + CmdArgs.push_back("--push-state"); + CmdArgs.push_back("--as-needed"); + CmdArgs.push_back("-latomic"); + CmdArgs.push_back("--pop-state"); + } + if (WantPthread && !isAndroid) CmdArgs.push_back("-lpthread"); diff --git a/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp b/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp index 7b07ab948f64..53cb48d2de9e 100644 --- a/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp +++ b/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp @@ -772,7 +772,7 @@ bool FrontendAction::BeginSourceFile(CompilerInstance &CI, if (ASTReader::isAcceptableASTFile( Dir->path(), FileMgr, CI.getPCHContainerReader(), CI.getLangOpts(), CI.getTargetOpts(), CI.getPreprocessorOpts(), - SpecificModuleCachePath)) { + SpecificModuleCachePath, /*RequireStrictOptionMatches=*/true)) { PPOpts.ImplicitPCHInclude = std::string(Dir->path()); Found = true; break; diff --git a/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp b/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp index 985005d0b79b..75ffa8b0a90a 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp @@ -1711,6 +1711,80 @@ bool Sema::CheckRedeclarationInModule(NamedDecl *New, NamedDecl *Old) { return false; } +// Check the redefinition in C++20 Modules. +// +// [basic.def.odr]p14: +// For any definable item D with definitions in multiple translation units, +// - if D is a non-inline non-templated function or variable, or +// - if the definitions in different translation units do not satisfy the +// following requirements, +// the program is ill-formed; a diagnostic is required only if the definable +// item is attached to a named module and a prior definition is reachable at +// the point where a later definition occurs. +// - Each such definition shall not be attached to a named module +// ([module.unit]). +// - Each such definition shall consist of the same sequence of tokens, ... +// ... +// +// Return true if the redefinition is not allowed. Return false otherwise. +bool Sema::IsRedefinitionInModule(const NamedDecl *New, + const NamedDecl *Old) const { + assert(getASTContext().isSameEntity(New, Old) && + "New and Old are not the same definition, we should diagnostic it " + "immediately instead of checking it."); + assert(const_cast(this)->isReachable(New) && + const_cast(this)->isReachable(Old) && + "We shouldn't see unreachable definitions here."); + + Module *NewM = New->getOwningModule(); + Module *OldM = Old->getOwningModule(); + + // We only checks for named modules here. The header like modules is skipped. + // FIXME: This is not right if we import the header like modules in the module + // purview. + // + // For example, assuming "header.h" provides definition for `D`. + // ```C++ + // //--- M.cppm + // export module M; + // import "header.h"; // or #include "header.h" but import it by clang modules + // actually. + // + // //--- Use.cpp + // import M; + // import "header.h"; // or uses clang modules. + // ``` + // + // In this case, `D` has multiple definitions in multiple TU (M.cppm and + // Use.cpp) and `D` is attached to a named module `M`. The compiler should + // reject it. But the current implementation couldn't detect the case since we + // don't record the information about the importee modules. + // + // But this might not be painful in practice. Since the design of C++20 Named + // Modules suggests us to use headers in global module fragment instead of + // module purview. + if (NewM && NewM->isHeaderLikeModule()) + NewM = nullptr; + if (OldM && OldM->isHeaderLikeModule()) + OldM = nullptr; + + if (!NewM && !OldM) + return true; + + // [basic.def.odr]p14.3 + // Each such definition shall not be attached to a named module + // ([module.unit]). + if ((NewM && NewM->isModulePurview()) || (OldM && OldM->isModulePurview())) + return true; + + // Then New and Old lives in the same TU if their share one same module unit. + if (NewM) + NewM = NewM->getTopLevelModule(); + if (OldM) + OldM = OldM->getTopLevelModule(); + return OldM == NewM; +} + static bool isUsingDecl(NamedDecl *D) { return isa(D) || isa(D) || @@ -3960,7 +4034,7 @@ bool Sema::MergeFunctionDecl(FunctionDecl *New, NamedDecl *&OldD, Scope *S, // default argument promotion rules were already checked by // ASTContext::typesAreCompatible(). if (Old->hasPrototype() && !New->hasWrittenPrototype() && NewDeclIsDefn && - Old->getNumParams() != New->getNumParams()) { + Old->getNumParams() != New->getNumParams() && !Old->isImplicit()) { if (Old->hasInheritedPrototype()) Old = Old->getCanonicalDecl(); Diag(New->getLocation(), diag::err_conflicting_types) << New; diff --git a/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp b/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp index d72cc33ed0f5..5dc0aadb2d5f 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp @@ -63,9 +63,8 @@ static ExprResult CreateFunctionRefExpr( // being used. if (FoundDecl != Fn && S.DiagnoseUseOfDecl(Fn, Loc)) return ExprError(); - DeclRefExpr *DRE = - DeclRefExpr::Create(S.Context, Fn->getQualifierLoc(), SourceLocation(), - Fn, false, Loc, Fn->getType(), VK_LValue, FoundDecl); + DeclRefExpr *DRE = new (S.Context) + DeclRefExpr(S.Context, Fn, false, Fn->getType(), VK_LValue, Loc, LocInfo); if (HadMultipleCandidates) DRE->setHadMultipleCandidates(true); diff --git a/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp b/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp index 1542a07713fb..ecc9596a87f0 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp @@ -8728,7 +8728,7 @@ void Sema::CheckConceptRedefinition(ConceptDecl *NewDecl, if (Previous.empty()) return; - auto *OldConcept = dyn_cast(Previous.getRepresentativeDecl()); + auto *OldConcept = dyn_cast(Previous.getRepresentativeDecl()->getUnderlyingDecl()); if (!OldConcept) { auto *Old = Previous.getRepresentativeDecl(); Diag(NewDecl->getLocation(), diag::err_redefinition_different_kind) @@ -8746,7 +8746,8 @@ void Sema::CheckConceptRedefinition(ConceptDecl *NewDecl, AddToScope = false; return; } - if (hasReachableDefinition(OldConcept)) { + if (hasReachableDefinition(OldConcept) && + IsRedefinitionInModule(NewDecl, OldConcept)) { Diag(NewDecl->getLocation(), diag::err_redefinition) << NewDecl->getDeclName(); notePreviousDefinition(OldConcept, NewDecl->getLocation()); @@ -8758,7 +8759,8 @@ void Sema::CheckConceptRedefinition(ConceptDecl *NewDecl, // Other decls (e.g. namespaces) also have this shortcoming. return; } - Context.setPrimaryMergedDecl(NewDecl, OldConcept); + // We unwrap canonical decl late to check for module visibility. + Context.setPrimaryMergedDecl(NewDecl, OldConcept->getCanonicalDecl()); } /// \brief Strips various properties off an implicit instantiation diff --git a/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp b/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp index 76281d26b2ae..d1e47c1045de 100644 --- a/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp +++ b/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp @@ -624,20 +624,28 @@ collectMacroDefinitions(const PreprocessorOptions &PPOpts, } } +enum OptionValidation { + OptionValidateNone, + OptionValidateContradictions, + OptionValidateStrictMatches, +}; + /// Check the preprocessor options deserialized from the control block /// against the preprocessor options in an existing preprocessor. /// /// \param Diags If non-null, produce diagnostics for any mismatches incurred. -/// \param Validate If true, validate preprocessor options. If false, allow -/// macros defined by \p ExistingPPOpts to override those defined by -/// \p PPOpts in SuggestedPredefines. -static bool checkPreprocessorOptions(const PreprocessorOptions &PPOpts, - const PreprocessorOptions &ExistingPPOpts, - DiagnosticsEngine *Diags, - FileManager &FileMgr, - std::string &SuggestedPredefines, - const LangOptions &LangOpts, - bool Validate = true) { +/// \param Validation If set to OptionValidateNone, ignore differences in +/// preprocessor options. If set to OptionValidateContradictions, +/// require that options passed both in the AST file and on the command +/// line (-D or -U) match, but tolerate options missing in one or the +/// other. If set to OptionValidateContradictions, require that there +/// are no differences in the options between the two. +static bool checkPreprocessorOptions( + const PreprocessorOptions &PPOpts, + const PreprocessorOptions &ExistingPPOpts, DiagnosticsEngine *Diags, + FileManager &FileMgr, std::string &SuggestedPredefines, + const LangOptions &LangOpts, + OptionValidation Validation = OptionValidateContradictions) { // Check macro definitions. MacroDefinitionsMap ASTFileMacros; collectMacroDefinitions(PPOpts, ASTFileMacros); @@ -653,7 +661,15 @@ static bool checkPreprocessorOptions(const PreprocessorOptions &PPOpts, // Check whether we know anything about this macro name or not. llvm::StringMap>::iterator Known = ASTFileMacros.find(MacroName); - if (!Validate || Known == ASTFileMacros.end()) { + if (Validation == OptionValidateNone || Known == ASTFileMacros.end()) { + if (Validation == OptionValidateStrictMatches) { + // If strict matches are requested, don't tolerate any extra defines on + // the command line that are missing in the AST file. + if (Diags) { + Diags->Report(diag::err_pch_macro_def_undef) << MacroName << true; + } + return true; + } // FIXME: Check whether this identifier was referenced anywhere in the // AST file. If so, we should reject the AST file. Unfortunately, this // information isn't in the control block. What shall we do about it? @@ -684,8 +700,10 @@ static bool checkPreprocessorOptions(const PreprocessorOptions &PPOpts, // If the macro was #undef'd in both, or if the macro bodies are identical, // it's fine. - if (Existing.second || Existing.first == Known->second.first) + if (Existing.second || Existing.first == Known->second.first) { + ASTFileMacros.erase(Known); continue; + } // The macro bodies differ; complain. if (Diags) { @@ -694,9 +712,20 @@ static bool checkPreprocessorOptions(const PreprocessorOptions &PPOpts, } return true; } + if (Validation == OptionValidateStrictMatches) { + // If strict matches are requested, don't tolerate any extra defines in + // the AST file that are missing on the command line. + for (const auto &MacroName : ASTFileMacros.keys()) { + if (Diags) { + Diags->Report(diag::err_pch_macro_def_undef) << MacroName << false; + } + return true; + } + } // Check whether we're using predefines. - if (PPOpts.UsePredefines != ExistingPPOpts.UsePredefines && Validate) { + if (PPOpts.UsePredefines != ExistingPPOpts.UsePredefines && + Validation != OptionValidateNone) { if (Diags) { Diags->Report(diag::err_pch_undef) << ExistingPPOpts.UsePredefines; } @@ -705,7 +734,8 @@ static bool checkPreprocessorOptions(const PreprocessorOptions &PPOpts, // Detailed record is important since it is used for the module cache hash. if (LangOpts.Modules && - PPOpts.DetailedRecord != ExistingPPOpts.DetailedRecord && Validate) { + PPOpts.DetailedRecord != ExistingPPOpts.DetailedRecord && + Validation != OptionValidateNone) { if (Diags) { Diags->Report(diag::err_pch_pp_detailed_record) << PPOpts.DetailedRecord; } @@ -766,13 +796,9 @@ bool SimpleASTReaderListener::ReadPreprocessorOptions( const PreprocessorOptions &PPOpts, bool Complain, std::string &SuggestedPredefines) { - return checkPreprocessorOptions(PPOpts, - PP.getPreprocessorOpts(), - nullptr, - PP.getFileManager(), - SuggestedPredefines, - PP.getLangOpts(), - false); + return checkPreprocessorOptions(PPOpts, PP.getPreprocessorOpts(), nullptr, + PP.getFileManager(), SuggestedPredefines, + PP.getLangOpts(), OptionValidateNone); } /// Check the header search options deserialized from the control block @@ -5138,16 +5164,19 @@ namespace { const PreprocessorOptions &ExistingPPOpts; std::string ExistingModuleCachePath; FileManager &FileMgr; + bool StrictOptionMatches; public: SimplePCHValidator(const LangOptions &ExistingLangOpts, const TargetOptions &ExistingTargetOpts, const PreprocessorOptions &ExistingPPOpts, - StringRef ExistingModuleCachePath, FileManager &FileMgr) + StringRef ExistingModuleCachePath, FileManager &FileMgr, + bool StrictOptionMatches) : ExistingLangOpts(ExistingLangOpts), ExistingTargetOpts(ExistingTargetOpts), ExistingPPOpts(ExistingPPOpts), - ExistingModuleCachePath(ExistingModuleCachePath), FileMgr(FileMgr) {} + ExistingModuleCachePath(ExistingModuleCachePath), FileMgr(FileMgr), + StrictOptionMatches(StrictOptionMatches) {} bool ReadLanguageOptions(const LangOptions &LangOpts, bool Complain, bool AllowCompatibleDifferences) override { @@ -5172,9 +5201,11 @@ namespace { bool ReadPreprocessorOptions(const PreprocessorOptions &PPOpts, bool Complain, std::string &SuggestedPredefines) override { - return checkPreprocessorOptions(PPOpts, ExistingPPOpts, /*Diags=*/nullptr, - FileMgr, SuggestedPredefines, - ExistingLangOpts); + return checkPreprocessorOptions( + PPOpts, ExistingPPOpts, /*Diags=*/nullptr, FileMgr, + SuggestedPredefines, ExistingLangOpts, + StrictOptionMatches ? OptionValidateStrictMatches + : OptionValidateContradictions); } }; @@ -5451,9 +5482,11 @@ bool ASTReader::isAcceptableASTFile(StringRef Filename, FileManager &FileMgr, const LangOptions &LangOpts, const TargetOptions &TargetOpts, const PreprocessorOptions &PPOpts, - StringRef ExistingModuleCachePath) { + StringRef ExistingModuleCachePath, + bool RequireStrictOptionMatches) { SimplePCHValidator validator(LangOpts, TargetOpts, PPOpts, - ExistingModuleCachePath, FileMgr); + ExistingModuleCachePath, FileMgr, + RequireStrictOptionMatches); return !readASTFileControlBlock(Filename, FileMgr, PCHContainerRdr, /*FindModuleFileExtensions=*/false, validator, diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/fp_trunc.h b/contrib/llvm-project/compiler-rt/lib/builtins/fp_trunc.h index 7a54564a3520..91f614528ab3 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/fp_trunc.h +++ b/contrib/llvm-project/compiler-rt/lib/builtins/fp_trunc.h @@ -60,7 +60,7 @@ typedef uint16_t dst_rep_t; static const int dstSigBits = 10; #elif defined DST_BFLOAT -typedef uint16_t dst_t; +typedef __bf16 dst_t; typedef uint16_t dst_rep_t; #define DST_REP_C UINT16_C static const int dstSigBits = 7; diff --git a/contrib/llvm-project/compiler-rt/lib/builtins/int_types.h b/contrib/llvm-project/compiler-rt/lib/builtins/int_types.h index 9ee5a327b28a..7a72de480676 100644 --- a/contrib/llvm-project/compiler-rt/lib/builtins/int_types.h +++ b/contrib/llvm-project/compiler-rt/lib/builtins/int_types.h @@ -64,7 +64,7 @@ typedef union { } udwords; *** 10317 LINES SKIPPED *** From nobody Sun Apr 9 21:35:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlkv3QvFz44J8g; Sun, 9 Apr 2023 21:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlkv1jbMz4MBG; Sun, 9 Apr 2023 21:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fby/UJ3MARcdky/akyAzXfBHLCuvuQL/Xqn32QMzUN0=; b=FiZhHfor4Pc3XaoDjJrQDwNj5XR4X3CFyRoclOCw7tfuBgmQbKvyFuFy2CYvSjeRtdloY0 itiep6fOxQi+v/GX1v6W+jidIPO/jvRhxJTLgCfXW+2rsZX8AtBVHtKerDKqNtRtffIWnJ jy2QDB1xeejDBfhNrE/bQQ2BQmrNISu8jCUU5UCu4rfL9wQ1DuCgC8t2zpS+6bTcPaglOM qfd3cSkOjreo6KcVq303/6TccUeNdO6KMnP/vF17ug2BKhBTwUnJsR+S4f66HUILH4MLOr ANtNkoH9sP45oL9cNyOnECqgUt7OjXE1DAAUOYkTjkxad86+20IcRlFVoxXrQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fby/UJ3MARcdky/akyAzXfBHLCuvuQL/Xqn32QMzUN0=; b=Q9BiVNHBygsvxlVYPxjgjcrV2fW+aCHE3cGWkd01geg0Jmam0X2LZziBW3qyD/hOk8V/l1 Vq1AoVP/9FtYPNFB2sfUBdLspgveRjnFABCGQGOgO4GvCMgqUl83nb3Fw/RehlC6fEKfcE U5En9YdUHi0NLioLF7fCZ6iui6X6oxSJiC4N32jBwXb5rvpauaKHx/LMBvASZzUH4nejdV DyFNZpO+9Fr6vxYlWeTPqxPZB8SiemvcxzUsRDUUfB45ckgx9cl/r8Axyho0W9kUvcebI3 rYslEaCavtXbH3IGOEw+rAYCnBvRanHsxcMENCNHOMAtZ+5qkQTAQGE+mjYWTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076119; a=rsa-sha256; cv=none; b=abA2gw3PtuF5gmSyHUVE1dQuCGcmxS/3qYieyP38r9dk4PzSTEo4XlvZo769aZmHL2Xfjz cru4NYOfJNE198x+QMtBWl7PnL+K9xQlTupQB9nzh5Lpog4zui6f0Jp4GroRcD5IGkQEQJ NKVJCHaly8G16XraHGoryY/yIiLpavmQeQ0T28u6udjYj3iK0oearDRnpcoQLbsEISKEOI lhEUPz4XL34Etnyjc7gaTqJgxuBul0pk9PObwJwEiLUooEOI3rK8YEnHvDEc1jyyv0cIz+ trEw2mxTRbi8ESrtwaTDBawCG6PvOzBcxkRlSVPzcZEjQplckbx8fqCX9QL5Lw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkv0MN4zPhD; Sun, 9 Apr 2023 21:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZJqj081582; Sun, 9 Apr 2023 21:35:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZIa9081580; Sun, 9 Apr 2023 21:35:18 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:18 GMT Message-Id: <202304092135.339LZIa9081580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 5d976198a6de - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.0-9-g1c73596d3454 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5d976198a6de2c316a9f371a4ca587cc8545d941 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=5d976198a6de2c316a9f371a4ca587cc8545d941 commit 5d976198a6de2c316a9f371a4ca587cc8545d941 Author: Dimitry Andric AuthorDate: 2022-09-10 18:56:18 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:50 +0000 Merge llvm-project release/15.x llvmorg-15.0.0-9-g1c73596d3454 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.0-9-g1c73596d3454. PR: 265425 MFC after: 2 weeks (cherry picked from commit a4a491e2238b12ccd64d3faf9e6401487f6f1f1b) --- .../clang/include/clang/Lex/Preprocessor.h | 7 + .../clang/lib/AST/RecordLayoutBuilder.cpp | 7 +- .../clang/lib/Basic/Targets/AArch64.cpp | 5 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 13 +- .../clang/lib/CodeGen/CodeGenFunction.h | 7 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 15 +- .../clang/lib/Driver/ToolChains/Cuda.cpp | 4 +- .../clang/lib/Format/TokenAnnotator.cpp | 19 -- contrib/llvm-project/clang/lib/Headers/cpuid.h | 1 + .../clang/lib/Lex/PPMacroExpansion.cpp | 55 ++++ contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 7 + .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 2 + contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 3 + .../clang/utils/TableGen/SveEmitter.cpp | 2 + contrib/llvm-project/libcxx/include/regex | 2 +- contrib/llvm-project/libcxx/include/span | 7 +- contrib/llvm-project/lld/COFF/Driver.cpp | 15 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 11 +- .../include/llvm/Analysis/LoopAccessAnalysis.h | 2 + .../llvm/DebugInfo/Symbolize/MarkupFilter.h | 30 +- .../llvm-project/llvm/include/llvm/MC/MCContext.h | 6 +- .../llvm-project/llvm/include/llvm/MC/MCDwarf.h | 6 + .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 56 ++-- .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 5 +- .../llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp | 10 +- .../llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp | 302 +++++++++++++++++++-- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 39 +-- contrib/llvm-project/llvm/lib/MC/MCDwarf.cpp | 14 +- .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 3 +- contrib/llvm-project/llvm/lib/Support/Host.cpp | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp | 4 +- .../Target/RISCV/TargetInfo/RISCVTargetInfo.cpp | 8 +- .../Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp | 1 - .../llvm/lib/Target/X86/X86ISelLowering.cpp | 49 +++- .../Transforms/InstCombine/InstCombineCompares.cpp | 4 +- .../llvm/lib/Transforms/Utils/LoopUtils.cpp | 5 +- .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 12 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 18 +- .../llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 28 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 44 files changed, 616 insertions(+), 193 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h b/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h index 79454b5addea..7c5df05069ed 100644 --- a/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h +++ b/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h @@ -178,6 +178,8 @@ class Preprocessor { IdentifierInfo *Ident__is_target_vendor; // __is_target_vendor IdentifierInfo *Ident__is_target_os; // __is_target_os IdentifierInfo *Ident__is_target_environment; // __is_target_environment + IdentifierInfo *Ident__is_target_variant_os; + IdentifierInfo *Ident__is_target_variant_environment; IdentifierInfo *Ident__FLT_EVAL_METHOD__; // __FLT_EVAL_METHOD // Weak, only valid (and set) while InMacroArgs is true. @@ -1353,6 +1355,11 @@ public: StringRef getLastMacroWithSpelling(SourceLocation Loc, ArrayRef Tokens) const; + /// Get the predefines for this processor. + /// Used by some third-party tools to inspect and add predefines (see + /// https://github.com/llvm/llvm-project/issues/57483). + const std::string &getPredefines() const { return Predefines; } + /// Set the predefines for this Preprocessor. /// /// These predefines are automatically injected when parsing the main file. diff --git a/contrib/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp b/contrib/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp index 6f3ede2ce42a..5ddd95e2ecca 100644 --- a/contrib/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/contrib/llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp @@ -1889,12 +1889,7 @@ void ItaniumRecordLayoutBuilder::LayoutField(const FieldDecl *D, UnfilledBitsInLastUnit = 0; LastBitfieldStorageUnitSize = 0; - llvm::Triple Target = Context.getTargetInfo().getTriple(); - bool FieldPacked = (Packed && (!FieldClass || FieldClass->isPOD() || - Context.getLangOpts().getClangABICompat() <= - LangOptions::ClangABI::Ver14 || - Target.isPS() || Target.isOSDarwin())) || - D->hasAttr(); + bool FieldPacked = Packed || D->hasAttr(); AlignRequirementKind AlignRequirement = AlignRequirementKind::None; CharUnits FieldSize; diff --git a/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp b/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp index 60ef52ac3f0d..8d8972c1613a 100644 --- a/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp +++ b/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp @@ -489,9 +489,12 @@ void AArch64TargetInfo::getTargetDefines(const LangOptions &Opts, Builder.defineMacro("__FP_FAST_FMA", "1"); Builder.defineMacro("__FP_FAST_FMAF", "1"); + // C/C++ operators work on both VLS and VLA SVE types + if (FPU & SveMode) + Builder.defineMacro("__ARM_FEATURE_SVE_VECTOR_OPERATORS", "2"); + if (Opts.VScaleMin && Opts.VScaleMin == Opts.VScaleMax) { Builder.defineMacro("__ARM_FEATURE_SVE_BITS", Twine(Opts.VScaleMin * 128)); - Builder.defineMacro("__ARM_FEATURE_SVE_VECTOR_OPERATORS"); } } diff --git a/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp b/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp index aa55cdaca5dc..570424dae7fc 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp @@ -2582,8 +2582,9 @@ static void emitOMPSimdRegion(CodeGenFunction &CGF, const OMPLoopDirective &S, CGF.EmitOMPReductionClauseFinal(S, /*ReductionKind=*/OMPD_simd); emitPostUpdateForReductionClause(CGF, S, [](CodeGenFunction &) { return nullptr; }); + LoopScope.restoreMap(); + CGF.EmitOMPLinearClauseFinal(S, [](CodeGenFunction &) { return nullptr; }); } - CGF.EmitOMPLinearClauseFinal(S, [](CodeGenFunction &) { return nullptr; }); // Emit: if (PreCond) - end. if (ContBlock) { CGF.EmitBranch(ContBlock); @@ -3426,11 +3427,12 @@ bool CodeGenFunction::EmitOMPWorksharingLoop( EmitOMPLastprivateClauseFinal( S, isOpenMPSimdDirective(S.getDirectiveKind()), Builder.CreateIsNotNull(EmitLoadOfScalar(IL, S.getBeginLoc()))); + LoopScope.restoreMap(); + EmitOMPLinearClauseFinal(S, [IL, &S](CodeGenFunction &CGF) { + return CGF.Builder.CreateIsNotNull( + CGF.EmitLoadOfScalar(IL, S.getBeginLoc())); + }); } - EmitOMPLinearClauseFinal(S, [IL, &S](CodeGenFunction &CGF) { - return CGF.Builder.CreateIsNotNull( - CGF.EmitLoadOfScalar(IL, S.getBeginLoc())); - }); DoacrossCleanupScope.ForceCleanup(); // We're now done with the loop, so jump to the continuation block. if (ContBlock) { @@ -7658,6 +7660,7 @@ void CodeGenFunction::EmitOMPTaskLoopBasedDirective(const OMPLoopDirective &S) { CGF.GetAddrOfLocalVar(*LIP), /*Volatile=*/false, (*LIP)->getType(), S.getBeginLoc()))); } + LoopScope.restoreMap(); CGF.EmitOMPLinearClauseFinal(S, [LIP, &S](CodeGenFunction &CGF) { return CGF.Builder.CreateIsNotNull( CGF.EmitLoadOfScalar(CGF.GetAddrOfLocalVar(*LIP), /*Volatile=*/false, diff --git a/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h b/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h index fe0890f433e8..672acd844525 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h +++ b/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h @@ -1094,7 +1094,7 @@ public: void ForceCleanup() { RunCleanupsScope::ForceCleanup(); - MappedVars.restore(CGF); + restoreMap(); } /// Exit scope - all the mapped variables are restored. @@ -1108,6 +1108,11 @@ public: VD = VD->getCanonicalDecl(); return !VD->isLocalVarDeclOrParm() && CGF.LocalDeclMap.count(VD) > 0; } + + /// Restore all mapped variables w/o clean up. This is usefully when we want + /// to reference the original variables but don't want the clean up because + /// that could emit lifetime end too early, causing backend issue #56913. + void restoreMap() { MappedVars.restore(CGF); } }; /// Save/restore original map of previously emitted local vars in case when we diff --git a/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp b/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp index 195ad8cdc13e..36e10e4df4c1 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp @@ -11002,9 +11002,22 @@ bool RISCVABIInfo::detectFPCCEligibleStructHelper(QualType Ty, CharUnits CurOff, // Unions aren't eligible unless they're empty (which is caught above). if (RD->isUnion()) return false; + const ASTRecordLayout &Layout = getContext().getASTRecordLayout(RD); + // If this is a C++ record, check the bases first. + if (const CXXRecordDecl *CXXRD = dyn_cast(RD)) { + for (const CXXBaseSpecifier &B : CXXRD->bases()) { + const auto *BDecl = + cast(B.getType()->castAs()->getDecl()); + CharUnits BaseOff = Layout.getBaseClassOffset(BDecl); + bool Ret = detectFPCCEligibleStructHelper(B.getType(), CurOff + BaseOff, + Field1Ty, Field1Off, Field2Ty, + Field2Off); + if (!Ret) + return false; + } + } int ZeroWidthBitFieldCount = 0; for (const FieldDecl *FD : RD->fields()) { - const ASTRecordLayout &Layout = getContext().getASTRecordLayout(RD); uint64_t FieldOffInBits = Layout.getFieldOffset(FD->getFieldIndex()); QualType QTy = FD->getType(); if (FD->isBitField()) { diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp index 5e59677947e6..7ad990dda467 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp @@ -693,8 +693,8 @@ CudaToolChain::CudaToolChain(const Driver &D, const llvm::Triple &Triple, std::string CudaToolChain::getInputFilename(const InputInfo &Input) const { // Only object files are changed, for example assembly files keep their .s - // extensions. - if (Input.getType() != types::TY_Object) + // extensions. If the user requested device-only compilation don't change it. + if (Input.getType() != types::TY_Object || getDriver().offloadDeviceOnly()) return ToolChain::getInputFilename(Input); // Replace extension for object files with cubin because nvlink relies on diff --git a/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp b/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp index 5991cf23d5dc..cf6549e2a5bd 100644 --- a/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp +++ b/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp @@ -2329,25 +2329,6 @@ private: !PrevToken->MatchingParen) return TT_PointerOrReference; - // For "} &&" - if (PrevToken->is(tok::r_brace) && Tok.is(tok::ampamp)) { - const FormatToken *MatchingLBrace = PrevToken->MatchingParen; - - // We check whether there is a TemplateCloser(">") to indicate it's a - // template or not. If it's not a template, "&&" is likely a reference - // operator. - // struct {} &&ref = {}; - if (!MatchingLBrace) - return TT_PointerOrReference; - FormatToken *BeforeLBrace = MatchingLBrace->getPreviousNonComment(); - if (!BeforeLBrace || BeforeLBrace->isNot(TT_TemplateCloser)) - return TT_PointerOrReference; - - // If it is a template, "&&" is a binary operator. - // enable_if<>{} && ... - return TT_BinaryOperator; - } - if (PrevToken->Tok.isLiteral() || PrevToken->isOneOf(tok::r_paren, tok::r_square, tok::kw_true, tok::kw_false, tok::r_brace)) { diff --git a/contrib/llvm-project/clang/lib/Headers/cpuid.h b/contrib/llvm-project/clang/lib/Headers/cpuid.h index 5d262a60735f..caa0069c2e1f 100644 --- a/contrib/llvm-project/clang/lib/Headers/cpuid.h +++ b/contrib/llvm-project/clang/lib/Headers/cpuid.h @@ -232,6 +232,7 @@ /* Features in %ebx for leaf 0x80000008 */ #define bit_CLZERO 0x00000001 +#define bit_RDPRU 0x00000010 #define bit_WBNOINVD 0x00000200 diff --git a/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp b/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp index f3be2107f985..c56f41c4495e 100644 --- a/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp +++ b/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp @@ -387,6 +387,10 @@ void Preprocessor::RegisterBuiltinMacros() { Ident__is_target_os = RegisterBuiltinMacro(*this, "__is_target_os"); Ident__is_target_environment = RegisterBuiltinMacro(*this, "__is_target_environment"); + Ident__is_target_variant_os = + RegisterBuiltinMacro(*this, "__is_target_variant_os"); + Ident__is_target_variant_environment = + RegisterBuiltinMacro(*this, "__is_target_variant_environment"); // Modules. Ident__building_module = RegisterBuiltinMacro(*this, "__building_module"); @@ -1431,6 +1435,39 @@ static bool isTargetEnvironment(const TargetInfo &TI, return TI.getTriple().getEnvironment() == Env.getEnvironment(); } +/// Implements the __is_target_variant_os builtin macro. +static bool isTargetVariantOS(const TargetInfo &TI, const IdentifierInfo *II) { + if (TI.getTriple().isOSDarwin()) { + const llvm::Triple *VariantTriple = TI.getDarwinTargetVariantTriple(); + if (!VariantTriple) + return false; + + std::string OSName = + (llvm::Twine("unknown-unknown-") + II->getName().lower()).str(); + llvm::Triple OS(OSName); + if (OS.getOS() == llvm::Triple::Darwin) { + // Darwin matches macos, ios, etc. + return VariantTriple->isOSDarwin(); + } + return VariantTriple->getOS() == OS.getOS(); + } + return false; +} + +/// Implements the __is_target_variant_environment builtin macro. +static bool isTargetVariantEnvironment(const TargetInfo &TI, + const IdentifierInfo *II) { + if (TI.getTriple().isOSDarwin()) { + const llvm::Triple *VariantTriple = TI.getDarwinTargetVariantTriple(); + if (!VariantTriple) + return false; + std::string EnvName = (llvm::Twine("---") + II->getName().lower()).str(); + llvm::Triple Env(EnvName); + return VariantTriple->getEnvironment() == Env.getEnvironment(); + } + return false; +} + /// ExpandBuiltinMacro - If an identifier token is read that is to be expanded /// as a builtin macro, handle it and return the next token as 'Tok'. void Preprocessor::ExpandBuiltinMacro(Token &Tok) { @@ -1677,6 +1714,8 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) { .Case("__is_target_vendor", true) .Case("__is_target_os", true) .Case("__is_target_environment", true) + .Case("__is_target_variant_os", true) + .Case("__is_target_variant_environment", true) .Default(false); } }); @@ -1877,6 +1916,22 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) { Tok, *this, diag::err_feature_check_malformed); return II && isTargetEnvironment(getTargetInfo(), II); }); + } else if (II == Ident__is_target_variant_os) { + EvaluateFeatureLikeBuiltinMacro( + OS, Tok, II, *this, false, + [this](Token &Tok, bool &HasLexedNextToken) -> int { + IdentifierInfo *II = ExpectFeatureIdentifierInfo( + Tok, *this, diag::err_feature_check_malformed); + return II && isTargetVariantOS(getTargetInfo(), II); + }); + } else if (II == Ident__is_target_variant_environment) { + EvaluateFeatureLikeBuiltinMacro( + OS, Tok, II, *this, false, + [this](Token &Tok, bool &HasLexedNextToken) -> int { + IdentifierInfo *II = ExpectFeatureIdentifierInfo( + Tok, *this, diag::err_feature_check_malformed); + return II && isTargetVariantEnvironment(getTargetInfo(), II); + }); } else { llvm_unreachable("Unknown identifier!"); } diff --git a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp index 0f79978b0911..83081bbf0aa0 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp @@ -15603,6 +15603,8 @@ ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc, resultType->castAs()->getVectorKind() != VectorType::AltiVecBool)) break; + else if (resultType->isVLSTBuiltinType()) // SVE vectors allow + and - + break; else if (getLangOpts().CPlusPlus && // C++ [expr.unary.op]p6 Opc == UO_Plus && resultType->isPointerType()) @@ -17598,6 +17600,11 @@ static void RemoveNestedImmediateInvocation( DRSet.erase(E); return E; } + ExprResult TransformLambdaExpr(LambdaExpr *E) { + // Do not rebuild lambdas to avoid creating a new type. + // Lambdas have already been processed inside their eval context. + return E; + } bool AlwaysRebuild() { return false; } bool ReplacingOriginal() { return true; } bool AllowSkippingCXXConstructExpr() { diff --git a/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp b/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp index 5331193de863..6f9e025283f5 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp @@ -5412,6 +5412,8 @@ void DiagnoseBuiltinDeprecation(Sema& S, TypeTrait Kind, Replacement = BTT_IsTriviallyAssignable; break; case UTT_HasTrivialCopy: + Replacement = UTT_IsTriviallyCopyable; + break; case UTT_HasTrivialDefaultConstructor: case UTT_HasTrivialMoveConstructor: Replacement = TT_IsTriviallyConstructible; diff --git a/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp b/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp index dc1470bf7a9d..a92fec6a0232 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp @@ -2270,6 +2270,9 @@ bool Sema::isInOpenMPTargetExecutionDirective() const { } bool Sema::isOpenMPRebuildMemberExpr(ValueDecl *D) { + // Only rebuild for Field. + if (!dyn_cast(D)) + return false; DSAStackTy::DSAVarData DVarPrivate = DSAStack->hasDSA( D, [](OpenMPClauseKind C, bool AppliedToPointee, diff --git a/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp b/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp index b2f6ede56522..e1e1c078ccbf 100644 --- a/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp +++ b/contrib/llvm-project/clang/utils/TableGen/SveEmitter.cpp @@ -1282,6 +1282,8 @@ void SVEEmitter::createHeader(raw_ostream &OS) { OS << "#ifdef __cplusplus\n"; OS << "} // extern \"C\"\n"; OS << "#endif\n\n"; + OS << "#undef __ai\n\n"; + OS << "#undef __aio\n\n"; OS << "#endif /*__ARM_FEATURE_SVE */\n\n"; OS << "#endif /* __ARM_SVE_H */\n"; } diff --git a/contrib/llvm-project/libcxx/include/regex b/contrib/llvm-project/libcxx/include/regex index 850fe099df1e..26887e84bf28 100644 --- a/contrib/llvm-project/libcxx/include/regex +++ b/contrib/llvm-project/libcxx/include/regex @@ -1355,7 +1355,7 @@ inline _LIBCPP_INLINE_VISIBILITY unsigned char __to_lower(unsigned char __c) { #if defined(__MVS__) && !defined(__NATIVE_ASCII_F) - return c & 0xBF; + return __c & 0xBF; #else return __c | 0x20; #endif diff --git a/contrib/llvm-project/libcxx/include/span b/contrib/llvm-project/libcxx/include/span index 00793a210cbe..67d2ac241ff2 100644 --- a/contrib/llvm-project/libcxx/include/span +++ b/contrib/llvm-project/libcxx/include/span @@ -453,9 +453,10 @@ public: : __data{_VSTD::to_address(__first)}, __size{__count} {} template <__span_compatible_iterator _It, __span_compatible_sentinel_for<_It> _End> - _LIBCPP_INLINE_VISIBILITY - constexpr span(_It __first, _End __last) - : __data(_VSTD::to_address(__first)), __size(__last - __first) {} + _LIBCPP_INLINE_VISIBILITY constexpr span(_It __first, _End __last) + : __data(_VSTD::to_address(__first)), __size(__last - __first) { + _LIBCPP_ASSERT(__last - __first >= 0, "invalid range in span's constructor (iterator, sentinel)"); + } template _LIBCPP_INLINE_VISIBILITY diff --git a/contrib/llvm-project/lld/COFF/Driver.cpp b/contrib/llvm-project/lld/COFF/Driver.cpp index 680f89b79b95..5b21337bb45e 100644 --- a/contrib/llvm-project/lld/COFF/Driver.cpp +++ b/contrib/llvm-project/lld/COFF/Driver.cpp @@ -2228,15 +2228,14 @@ void LinkerDriver::linkerMain(ArrayRef argsArr) { // Windows specific -- if __load_config_used can be resolved, resolve it. if (ctx.symtab.findUnderscore("_load_config_used")) addUndefined(mangle("_load_config_used")); - } while (run()); - if (args.hasArg(OPT_include_optional)) { - // Handle /includeoptional - for (auto *arg : args.filtered(OPT_include_optional)) - if (isa_and_nonnull(ctx.symtab.find(arg->getValue()))) - addUndefined(arg->getValue()); - while (run()); - } + if (args.hasArg(OPT_include_optional)) { + // Handle /includeoptional + for (auto *arg : args.filtered(OPT_include_optional)) + if (isa_and_nonnull(ctx.symtab.find(arg->getValue()))) + addUndefined(arg->getValue()); + } + } while (run()); // Create wrapped symbols for -wrap option. std::vector wrapped = addWrappedSymbols(ctx, args); diff --git a/contrib/llvm-project/lld/docs/ReleaseNotes.rst b/contrib/llvm-project/lld/docs/ReleaseNotes.rst index 5819d67d3297..db0b66a3807c 100644 --- a/contrib/llvm-project/lld/docs/ReleaseNotes.rst +++ b/contrib/llvm-project/lld/docs/ReleaseNotes.rst @@ -5,13 +5,6 @@ lld |release| Release Notes .. contents:: :local: -.. only:: PreRelease - - .. warning:: - These are in-progress notes for the upcoming LLVM |release| release. - Release notes for previous releases can be found on - `the Download Page `_. - Introduction ============ @@ -98,7 +91,7 @@ MachO Improvements * We now support proper relocation and pruning of EH frames. **Note:** this comes at some performance overhead on x86_64 builds, and we recommend adding - the ``-femit-compact-unwind=no-compact-unwind`` compile flag to avoid it. + the ``-femit-dwarf-unwind=no-compact-unwind`` compile flag to avoid it. (`D129540 `_, `D122258 `_) @@ -212,6 +205,8 @@ Fixes errors. (`D122624 `_) * Fixed handling of relocatable object files within frameworks. (`D114841 `_) +* Fixed the PPC64R2SaveStub to only use non-pc-relative code. + (`D129580 `_) WebAssembly Improvements ------------------------ diff --git a/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAccessAnalysis.h b/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAccessAnalysis.h index 8f71ce9e96c0..af8e8d22269e 100644 --- a/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAccessAnalysis.h +++ b/contrib/llvm-project/llvm/include/llvm/Analysis/LoopAccessAnalysis.h @@ -253,6 +253,8 @@ public: return {}; } + const Loop *getInnermostLoop() const { return InnermostLoop; } + private: /// A wrapper around ScalarEvolution, used to add runtime SCEV checks, and /// applies dynamic knowledge to simplify SCEV expressions and convert them diff --git a/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h b/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h index 26686143af95..a54f8f5d2db8 100644 --- a/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h +++ b/contrib/llvm-project/llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h @@ -26,11 +26,14 @@ namespace llvm { namespace symbolize { +class LLVMSymbolizer; + /// Filter to convert parsed log symbolizer markup elements into human-readable /// text. class MarkupFilter { public: - MarkupFilter(raw_ostream &OS, Optional ColorsEnabled = llvm::None); + MarkupFilter(raw_ostream &OS, LLVMSymbolizer &Symbolizer, + Optional ColorsEnabled = llvm::None); /// Filters a line containing symbolizer markup and writes the human-readable /// results to the output stream. @@ -57,6 +60,7 @@ private: uint64_t ModuleRelativeAddr; bool contains(uint64_t Addr) const; + uint64_t getModuleRelativeAddr(uint64_t Addr) const; }; // An informational module line currently being constructed. As many mmap @@ -67,6 +71,15 @@ private: SmallVector MMaps = {}; }; + // The semantics of a possible program counter value. + enum class PCType { + // The address is a return address and must be adjusted to point to the call + // itself. + ReturnAddress, + // The address is the precise location in the code and needs no adjustment. + PreciseCode, + }; + bool tryContextualElement(const MarkupNode &Node, const SmallVector &DeferredNodes); bool tryMMap(const MarkupNode &Element, @@ -83,6 +96,9 @@ private: bool tryPresentation(const MarkupNode &Node); bool trySymbol(const MarkupNode &Node); + bool tryPC(const MarkupNode &Node); + bool tryBackTrace(const MarkupNode &Node); + bool tryData(const MarkupNode &Node); bool trySGR(const MarkupNode &Node); @@ -91,6 +107,9 @@ private: void restoreColor(); void resetColor(); + void printRawElement(const MarkupNode &Element); + void printValue(Twine Value); + Optional parseModule(const MarkupNode &Element) const; Optional parseMMap(const MarkupNode &Element) const; @@ -99,19 +118,26 @@ private: Optional parseSize(StringRef Str) const; Optional> parseBuildID(StringRef Str) const; Optional parseMode(StringRef Str) const; + Optional parsePCType(StringRef Str) const; + Optional parseFrameNumber(StringRef Str) const; bool checkTag(const MarkupNode &Node) const; bool checkNumFields(const MarkupNode &Element, size_t Size) const; bool checkNumFieldsAtLeast(const MarkupNode &Element, size_t Size) const; + bool checkNumFieldsAtMost(const MarkupNode &Element, size_t Size) const; void reportTypeError(StringRef Str, StringRef TypeName) const; void reportLocation(StringRef::iterator Loc) const; - const MMap *overlappingMMap(const MMap &Map) const; + const MMap *getOverlappingMMap(const MMap &Map) const; + const MMap *getContainingMMap(uint64_t Addr) const; + + uint64_t adjustAddr(uint64_t Addr, PCType Type) const; StringRef lineEnding() const; raw_ostream &OS; + LLVMSymbolizer &Symbolizer; const bool ColorsEnabled; MarkupParser Parser; diff --git a/contrib/llvm-project/llvm/include/llvm/MC/MCContext.h b/contrib/llvm-project/llvm/include/llvm/MC/MCContext.h index 61520c4f29bf..c20ce79ee4d0 100644 --- a/contrib/llvm-project/llvm/include/llvm/MC/MCContext.h +++ b/contrib/llvm-project/llvm/include/llvm/MC/MCContext.h @@ -190,7 +190,8 @@ private: SmallString<128> CompilationDir; /// Prefix replacement map for source file information. - std::map DebugPrefixMap; + std::map> + DebugPrefixMap; /// The main file name if passed in explicitly. std::string MainFileName; @@ -698,6 +699,9 @@ public: /// Add an entry to the debug prefix map. void addDebugPrefixMapEntry(const std::string &From, const std::string &To); + /// Remap one path in-place as per the debug prefix map. + void remapDebugPath(SmallVectorImpl &Path); + // Remaps all debug directory paths in-place as per the debug prefix map. void RemapDebugPaths(); diff --git a/contrib/llvm-project/llvm/include/llvm/MC/MCDwarf.h b/contrib/llvm-project/llvm/include/llvm/MC/MCDwarf.h index 8b2ae84749b4..557c713575e4 100644 --- a/contrib/llvm-project/llvm/include/llvm/MC/MCDwarf.h +++ b/contrib/llvm-project/llvm/include/llvm/MC/MCDwarf.h @@ -22,6 +22,7 @@ #include "llvm/MC/StringTableBuilder.h" #include "llvm/Support/Error.h" #include "llvm/Support/MD5.h" +#include "llvm/Support/StringSaver.h" #include #include #include @@ -48,6 +49,8 @@ MCSymbol *emitListsTableHeaderStart(MCStreamer &S); /// Manage the .debug_line_str section contents, if we use it. class MCDwarfLineStr { + BumpPtrAllocator Alloc; + StringSaver Saver{Alloc}; MCSymbol *LineStrLabel = nullptr; StringTableBuilder LineStrings{StringTableBuilder::DWARF}; bool UseRelocs = false; @@ -57,6 +60,8 @@ public: /// v5 line table). explicit MCDwarfLineStr(MCContext &Ctx); + StringSaver &getSaver() { return Saver; } + /// Emit a reference to the string. void emitRef(MCStreamer *MCOS, StringRef Path); @@ -382,6 +387,7 @@ public: bool hasRootFile() const { return !Header.RootFile.Name.empty(); } + MCDwarfFile &getRootFile() { return Header.RootFile; } const MCDwarfFile &getRootFile() const { return Header.RootFile; } // Report whether MD5 usage has been consistent (all-or-none). diff --git a/contrib/llvm-project/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/contrib/llvm-project/llvm/lib/Analysis/LoopAccessAnalysis.cpp index aa35f253bc5f..8311b480ab09 100644 --- a/contrib/llvm-project/llvm/lib/Analysis/LoopAccessAnalysis.cpp +++ b/contrib/llvm-project/llvm/lib/Analysis/LoopAccessAnalysis.cpp @@ -280,7 +280,8 @@ void RuntimePointerChecking::tryToCreateDiffCheck( auto *SrcAR = dyn_cast(Src->Expr); auto *SinkAR = dyn_cast(Sink->Expr); - if (!SrcAR || !SinkAR) { + if (!SrcAR || !SinkAR || SrcAR->getLoop() != DC.getInnermostLoop() || + SinkAR->getLoop() != DC.getInnermostLoop()) { CanUseDiffCheck = false; return; } diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 8d465b9520de..a7f9382478d4 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -6360,7 +6360,8 @@ SDValue DAGCombiner::visitAND(SDNode *N) { SDValue Extendee = Ext->getOperand(0); unsigned ScalarWidth = Extendee.getValueType().getScalarSizeInBits(); - if (N1C->getAPIntValue().isMask(ScalarWidth)) { + if (N1C->getAPIntValue().isMask(ScalarWidth) && + (!LegalOperations || TLI.isOperationLegal(ISD::ZERO_EXTEND, ExtVT))) { // (and (extract_subvector (zext|anyext|sext v) _) iN_mask) // => (extract_subvector (iN_zeroext v)) SDValue ZeroExtExtendee = @@ -7162,9 +7163,8 @@ static SDValue extractShiftForRotate(SelectionDAG &DAG, SDValue OppShift, SDValue ExtractFrom, SDValue &Mask, const SDLoc &DL) { assert(OppShift && ExtractFrom && "Empty SDValue"); - assert( - (OppShift.getOpcode() == ISD::SHL || OppShift.getOpcode() == ISD::SRL) && - "Existing shift must be valid as a rotate half"); + if (OppShift.getOpcode() != ISD::SHL && OppShift.getOpcode() != ISD::SRL) + return SDValue(); ExtractFrom = stripConstantMask(DAG, ExtractFrom, Mask); @@ -7573,6 +7573,10 @@ SDValue DAGCombiner::MatchRotate(SDValue LHS, SDValue RHS, const SDLoc &DL) { std::swap(LHSMask, RHSMask); } + // Something has gone wrong - we've lost the shl/srl pair - bail. + if (LHSShift.getOpcode() != ISD::SHL || RHSShift.getOpcode() != ISD::SRL) + return SDValue(); + unsigned EltSizeInBits = VT.getScalarSizeInBits(); SDValue LHSShiftArg = LHSShift.getOperand(0); SDValue LHSShiftAmt = LHSShift.getOperand(1); @@ -22729,25 +22733,31 @@ SDValue DAGCombiner::visitVECTOR_SHUFFLE(SDNode *N) { SDLoc DL(N); EVT IntVT = VT.changeVectorElementTypeToInteger(); EVT IntSVT = VT.getVectorElementType().changeTypeToInteger(); - IntSVT = TLI.getTypeToTransformTo(*DAG.getContext(), IntSVT); - SDValue ZeroElt = DAG.getConstant(0, DL, IntSVT); - SDValue AllOnesElt = DAG.getAllOnesConstant(DL, IntSVT); - SmallVector AndMask(NumElts, DAG.getUNDEF(IntSVT)); - for (int I = 0; I != (int)NumElts; ++I) - if (0 <= Mask[I]) - AndMask[I] = Mask[I] == I ? AllOnesElt : ZeroElt; - - // See if a clear mask is legal instead of going via - // XformToShuffleWithZero which loses UNDEF mask elements. - if (TLI.isVectorClearMaskLegal(ClearMask, IntVT)) - return DAG.getBitcast( - VT, DAG.getVectorShuffle(IntVT, DL, DAG.getBitcast(IntVT, N0), - DAG.getConstant(0, DL, IntVT), ClearMask)); - - if (TLI.isOperationLegalOrCustom(ISD::AND, IntVT)) - return DAG.getBitcast( - VT, DAG.getNode(ISD::AND, DL, IntVT, DAG.getBitcast(IntVT, N0), - DAG.getBuildVector(IntVT, DL, AndMask))); + // Transform the type to a legal type so that the buildvector constant + // elements are not illegal. Make sure that the result is larger than the + // original type, incase the value is split into two (eg i64->i32). + if (!TLI.isTypeLegal(IntSVT) && LegalTypes) + IntSVT = TLI.getTypeToTransformTo(*DAG.getContext(), IntSVT); + if (IntSVT.getSizeInBits() >= IntVT.getScalarSizeInBits()) { + SDValue ZeroElt = DAG.getConstant(0, DL, IntSVT); + SDValue AllOnesElt = DAG.getAllOnesConstant(DL, IntSVT); + SmallVector AndMask(NumElts, DAG.getUNDEF(IntSVT)); + for (int I = 0; I != (int)NumElts; ++I) + if (0 <= Mask[I]) + AndMask[I] = Mask[I] == I ? AllOnesElt : ZeroElt; + + // See if a clear mask is legal instead of going via + // XformToShuffleWithZero which loses UNDEF mask elements. + if (TLI.isVectorClearMaskLegal(ClearMask, IntVT)) + return DAG.getBitcast( + VT, DAG.getVectorShuffle(IntVT, DL, DAG.getBitcast(IntVT, N0), + DAG.getConstant(0, DL, IntVT), ClearMask)); + + if (TLI.isOperationLegalOrCustom(ISD::AND, IntVT)) + return DAG.getBitcast( + VT, DAG.getNode(ISD::AND, DL, IntVT, DAG.getBitcast(IntVT, N0), + DAG.getBuildVector(IntVT, DL, AndMask))); + } } } diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp index 228d4a43ccde..e2173879c218 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp @@ -4428,7 +4428,10 @@ void DAGTypeLegalizer::ExpandIntRes_XMULO(SDNode *N, else if (VT == MVT::i128) LC = RTLIB::MULO_I128; - if (LC == RTLIB::UNKNOWN_LIBCALL || !TLI.getLibcallName(LC)) { + // If we don't have the libcall or if the function we are compiling is the + // implementation of the expected libcall (avoid inf-loop), expand inline. + if (LC == RTLIB::UNKNOWN_LIBCALL || !TLI.getLibcallName(LC) || + TLI.getLibcallName(LC) == DAG.getMachineFunction().getName()) { // FIXME: This is not an optimal expansion, but better than crashing. EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), VT.getScalarSizeInBits() * 2); diff --git a/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp b/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp index d2ed4fe018b5..5ea4c4cded7f 100644 --- a/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp +++ b/contrib/llvm-project/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp @@ -1382,10 +1382,12 @@ bool DWARFDebugLine::Prologue::getFileNameByIndex( IncludeDir = dwarf::toStringRef(IncludeDirectories[Entry.DirIdx - 1]); } - // For absolute paths only, include the compilation directory of compile unit. - // We know that FileName is not absolute, the only way to have an absolute - // path at this point would be if IncludeDir is absolute. - if (Kind == FileLineInfoKind::AbsoluteFilePath && !CompDir.empty() && + // For absolute paths only, include the compilation directory of compile unit, + // unless v5 DirIdx == 0 (IncludeDir indicates the compilation directory). We + // know that FileName is not absolute, the only way to have an absolute path + // at this point would be if IncludeDir is absolute. + if (Kind == FileLineInfoKind::AbsoluteFilePath && + (getVersion() < 5 || Entry.DirIdx != 0) && !CompDir.empty() && !isPathAbsoluteOnWindowsOrPosix(IncludeDir)) sys::path::append(FilePath, Style, CompDir); diff --git a/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp b/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp index 91a51485026e..d96c0c85d5bd 100644 --- a/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp +++ b/contrib/llvm-project/llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp @@ -20,11 +20,14 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringSwitch.h" +#include "llvm/DebugInfo/DIContext.h" #include "llvm/DebugInfo/Symbolize/Markup.h" +#include "llvm/DebugInfo/Symbolize/Symbolize.h" #include "llvm/Debuginfod/Debuginfod.h" #include "llvm/Demangle/Demangle.h" #include "llvm/Object/ObjectFile.h" #include "llvm/Support/Error.h" +#include "llvm/Support/Format.h" #include "llvm/Support/FormatVariadic.h" #include "llvm/Support/WithColor.h" #include "llvm/Support/raw_ostream.h" @@ -32,9 +35,11 @@ using namespace llvm; using namespace llvm::symbolize; -MarkupFilter::MarkupFilter(raw_ostream &OS, Optional ColorsEnabled) - : OS(OS), ColorsEnabled(ColorsEnabled.value_or( - WithColor::defaultAutoDetectFunction()(OS))) {} +MarkupFilter::MarkupFilter(raw_ostream &OS, LLVMSymbolizer &Symbolizer, + Optional ColorsEnabled) + : OS(OS), Symbolizer(Symbolizer), + ColorsEnabled( + ColorsEnabled.value_or(WithColor::defaultAutoDetectFunction()(OS))) {} void MarkupFilter::filter(StringRef Line) { this->Line = Line; @@ -94,10 +99,10 @@ bool MarkupFilter::tryMMap(const MarkupNode &Node, if (!ParsedMMap) return true; - if (const MMap *M = overlappingMMap(*ParsedMMap)) { + if (const MMap *M = getOverlappingMMap(*ParsedMMap)) { WithColor::error(errs()) - << formatv("overlapping mmap: #{0:x} [{1:x},{2:x})\n", M->Mod->ID, - M->Addr, M->Addr + M->Size); + << formatv("overlapping mmap: #{0:x} [{1:x}-{2:x}]\n", M->Mod->ID, + M->Addr, M->Addr + M->Size - 1); reportLocation(Node.Fields[0].begin()); return true; } @@ -160,18 +165,17 @@ bool MarkupFilter::tryModule(const MarkupNode &Node, filterNode(Node); beginModuleInfoLine(&Module); OS << "; BuildID="; - highlightValue(); - OS << toHex(Module.BuildID, /*LowerCase=*/true); - highlight(); + printValue(toHex(Module.BuildID, /*LowerCase=*/true)); return true; } void MarkupFilter::beginModuleInfoLine(const Module *M) { highlight(); OS << "[[[ELF module"; - highlightValue(); - OS << formatv(" #{0:x} \"{1}\"", M->ID, M->Name); - highlight(); + printValue(formatv(" #{0:x} ", M->ID)); + OS << '"'; + printValue(M->Name); + OS << '"'; MIL = ModuleInfoLine{M}; } @@ -182,14 +186,13 @@ void MarkupFilter::endAnyModuleInfoLine() { return A->Addr < B->Addr; }); for (const MMap *M : MIL->MMaps) { - OS << (M == MIL->MMaps.front() ? ' ' : '-'); - highlightValue(); - OS << formatv("{0:x}", M->Addr); - highlight(); - OS << '('; - highlightValue(); - OS << M->Mode; - highlight(); + OS << (M == MIL->MMaps.front() ? ' ' : ','); + OS << '['; + printValue(formatv("{0:x}", M->Addr)); + OS << '-'; + printValue(formatv("{0:x}", M->Addr + M->Size - 1)); + OS << "]("; + printValue(M->Mode); OS << ')'; } OS << "]]]" << lineEnding(); @@ -210,7 +213,13 @@ void MarkupFilter::filterNode(const MarkupNode &Node) { } bool MarkupFilter::tryPresentation(const MarkupNode &Node) { - return trySymbol(Node); + if (trySymbol(Node)) + return true; + if (tryPC(Node)) + return true; + if (tryBackTrace(Node)) + return true; + return tryData(Node); } bool MarkupFilter::trySymbol(const MarkupNode &Node) { @@ -225,6 +234,172 @@ bool MarkupFilter::trySymbol(const MarkupNode &Node) { return true; } +bool MarkupFilter::tryPC(const MarkupNode &Node) { + if (Node.Tag != "pc") + return false; + if (!checkNumFieldsAtLeast(Node, 1)) + return true; + if (!checkNumFieldsAtMost(Node, 2)) + return true; + + Optional Addr = parseAddr(Node.Fields[0]); + if (!Addr) + return true; + + // PC addresses that aren't part of a backtrace are assumed to be precise code + // locations. + PCType Type = PCType::PreciseCode; + if (Node.Fields.size() == 2) { + Optional ParsedType = parsePCType(Node.Fields[1]); + if (!ParsedType) + return true; + Type = *ParsedType; + } + *Addr = adjustAddr(*Addr, Type); + + const MMap *MMap = getContainingMMap(*Addr); + if (!MMap) { + WithColor::error() << "no mmap covers address\n"; + reportLocation(Node.Fields[0].begin()); + printRawElement(Node); + return true; + } + + Expected LI = Symbolizer.symbolizeCode( + MMap->Mod->BuildID, {MMap->getModuleRelativeAddr(*Addr)}); + if (!LI) { + WithColor::defaultErrorHandler(LI.takeError()); + printRawElement(Node); + return true; + } + if (!*LI) { + printRawElement(Node); + return true; + } + + highlight(); + printValue(LI->FunctionName); *** 777 LINES SKIPPED *** From nobody Sun Apr 9 21:35:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlkx0Czwz44JZW; Sun, 9 Apr 2023 21:35:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlkw34pXz4M3G; Sun, 9 Apr 2023 21:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=42jFje+CBjGbtARa9ofYmPfm0fKXpp1vvzf01zgC3wk=; b=pkoEtoOcAy4LDH0VV9rVgNoN+OlRb6YRkU2je4cycAAwuWC+zGI6z2WytuIil+oxEOBaOC fLp28J8jve1QCsbLO5CxS00P3q5UoqLY5NVSdSsgLl0Wy3T62CwdIwlPJgeQqkZk/xeras hVzRircaOURS9CF4SmvmSzD+p4RD3cwXKVajc5Peh3sU3obh3OI8mzpYbxPz3XM9vexGdL 1TVyCmFZv4UOXkfnIF5IfXARBc9NBpk8mBQoJsOUdX4z3J64ggoYdtNEtVImdxtHjTuuO6 6IP4vDr2PXRfXP4KnjPhmEEDFZbh85jwsYy/hkAavvT+UQ1r4V3e0jfwSo+BVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=42jFje+CBjGbtARa9ofYmPfm0fKXpp1vvzf01zgC3wk=; b=oQGzi7qIlYHG/QJrR2OSE8I2+ArmSBpFDO4Ew9/CZHgWvUwDg8RZ2jXbEW+Cs0VykOLG06 4OQpyzVyy2Hl3Sx9VH2rj8ti2m0ucdvlEciCjTCtziQC3DpMOQSkDIDiNFTr+iLomCljWd HV4FobuMlbHAvl/Iu2HUsLB0v6cj3z25FwMAg/Cd1LCHqeks/EQmlmIABSXMg10SYG+wev YXRsLHOhi9WgHYMnCfmSKTuSgWty78bsM+ZxwfevBrX2yN2yH89FkfFxjglBxnrvSsPRLB /U6efGCQo/bUt3olJtKDIM9fZ4ZfXWWVy1vfDCWWKEa/bWoYWrU3mm/BpfLKgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076120; a=rsa-sha256; cv=none; b=VjjX2qLJxwdp2DPN38YRbl66KXf0IrieZLTVh/XKwT8xlaDKH2EHrodz4gxWK2SNJFhUkb 3W5WoR6mVDMTTKyYhBGHGTwFxly5Rg3gcNXHHYs7y4qZ05+HISYw0lkrA3hxHo12pahFSZ mhX7z+GSTupTyRsZdoRBZtV2fT3lpES5cbjk/fc+3v4DGc3XZfyMaueqZR+3lSBaOKm7UE EYlxW4BnOsuSA7mGVsNp6aRXSxwJw/whyoyIcuzPqIl/xmHeP4iIqmIXFORdzI9mEQoZBF 3OEYWbzAF9hhCgmXIAF0sgv8CnkGbuW4K5eXYWDJP9VT80vLUGysaxWsWdNmbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkw1dfNzPS8; Sun, 9 Apr 2023 21:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZKPa081601; Sun, 9 Apr 2023 21:35:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZKOP081600; Sun, 9 Apr 2023 21:35:20 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:20 GMT Message-Id: <202304092135.339LZKOP081600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: c3fe23542ac3 - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c3fe23542ac3a3db42f169c21c2996eebe1f37bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c3fe23542ac3a3db42f169c21c2996eebe1f37bb commit c3fe23542ac3a3db42f169c21c2996eebe1f37bb Author: Dimitry Andric AuthorDate: 2022-10-16 19:03:40 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:51 +0000 Merge llvm-project release/15.x llvmorg-15.0.2-10-gf3c5289e7846 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.2-10-gf3c5289e7846. PR: 265425 MFC after: 2 weeks (cherry picked from commit 6246ae0b85d8159978c01ae916a9ad6cde9378b5) --- ObsoleteFiles.inc | 4 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 8 +- contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp | 2 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 15 + .../clang/lib/CodeGen/CoverageMappingGen.cpp | 32 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 8 +- .../Tooling/InterpolatingCompilationDatabase.cpp | 4 +- .../clang/lib/Tooling/Syntax/Tokens.cpp | 222 +++++-- contrib/llvm-project/libcxx/include/__config | 33 +- contrib/llvm-project/libcxx/include/atomic | 46 +- contrib/llvm-project/libcxx/include/stdatomic.h | 4 +- contrib/llvm-project/libcxx/include/version | 2 +- contrib/llvm-project/lld/COFF/Symbols.h | 5 +- contrib/llvm-project/lld/COFF/Writer.cpp | 2 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 9 +- contrib/llvm-project/lld/MachO/InputFiles.cpp | 9 + .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 45 +- .../llvm/include/llvm/ADT/GenericCycleImpl.h | 29 +- .../llvm/include/llvm/ADT/GenericCycleInfo.h | 19 +- .../llvm-project/llvm/include/llvm/Object/ELF.h | 2 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 7 +- .../llvm/lib/Analysis/ValueTracking.cpp | 13 +- .../llvm/lib/CodeGen/DwarfEHPrepare.cpp | 8 + .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 7 +- .../llvm/lib/Support/X86TargetParser.cpp | 10 +- .../lib/Target/Hexagon/HexagonVectorCombine.cpp | 3 + .../lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp | 2 + contrib/llvm-project/llvm/lib/Target/X86/X86.td | 1 - .../llvm/lib/Transforms/Utils/LoopVersioning.cpp | 4 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 12 +- .../llvm/lib/Transforms/Vectorize/VPlan.h | 8 +- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 6 +- .../llvm/tools/llvm-objdump/ELFDump.cpp | 39 +- etc/mtree/BSD.debug.dist | 2 +- etc/mtree/BSD.usr.dist | 2 +- lib/clang/headers/Makefile | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libc++/module.modulemap | 36 +- lib/libclang_rt/compiler-rt-vars.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- 47 files changed, 778 insertions(+), 562 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 686fe4142256..ce5c9c15dae0 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,7 +52,7 @@ # xargs -n1 | sort | uniq -d; # done -# 20230410: new clang import which bumps version from 14.0.5 to 15.0.0 +# 20230410: new clang import which bumps version from 14.0.5 to 15.0.3 OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new @@ -363,7 +363,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt OLD_DIRS+=usr/lib/clang/14.0.5/share OLD_DIRS+=usr/lib/clang/14.0.5 -# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.0 +# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.3 OLD_FILES+=usr/include/c++/v1/__functional_base OLD_FILES+=usr/include/c++/v1/__libcpp_version OLD_FILES+=usr/include/c++/v1/__nullptr diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td index 6ff5b8de57fd..cb460401eb47 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td +++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td @@ -419,7 +419,7 @@ def warn_implicit_function_decl : Warning< InGroup, DefaultIgnore; def ext_implicit_function_decl_c99 : ExtWarn< "call to undeclared function %0; ISO C99 and later do not support implicit " - "function declarations">, InGroup, DefaultError; + "function declarations">, InGroup; def note_function_suggestion : Note<"did you mean %0?">; def err_ellipsis_first_param : Error< @@ -705,7 +705,7 @@ def ext_implicit_lib_function_decl : ExtWarn< def ext_implicit_lib_function_decl_c99 : ExtWarn< "call to undeclared library function '%0' with type %1; ISO C99 and later " "do not support implicit function declarations">, - InGroup, DefaultError; + InGroup; def note_include_header_or_declare : Note< "include the header <%0> or explicitly provide a declaration for '%1'">; def note_previous_builtin_declaration : Note<"%0 is a builtin with type %1">; @@ -4359,7 +4359,7 @@ def err_ident_list_in_fn_declaration : Error< "a parameter list without types is only allowed in a function definition">; def ext_param_not_declared : ExtWarn< "parameter %0 was not declared, defaults to 'int'; ISO C99 and later do not " - "support implicit int">, InGroup, DefaultError; + "support implicit int">, InGroup; def err_param_default_argument : Error< "C does not support default arguments">; def err_param_default_argument_redefinition : Error< @@ -10029,7 +10029,7 @@ def warn_receiver_forward_class : Warning< def note_method_sent_forward_class : Note<"method %0 is used for the forward class">; def ext_missing_type_specifier : ExtWarn< "type specifier missing, defaults to 'int'; ISO C99 and later do not support " - "implicit int">, InGroup, DefaultError; + "implicit int">, InGroup; def err_missing_type_specifier : Error< "a type specifier is required for all declarations">; def err_decimal_unsupported : Error< diff --git a/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp b/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp index 8d778500d103..625048c69a86 100644 --- a/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp +++ b/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp @@ -1993,7 +1993,7 @@ void StmtPrinter::VisitUserDefinedLiteral(UserDefinedLiteral *Node) { cast(DRE->getDecl())->getTemplateSpecializationArgs(); assert(Args); - if (Args->size() != 1) { + if (Args->size() != 1 || Args->get(0).getKind() != TemplateArgument::Pack) { const TemplateParameterList *TPL = nullptr; if (!DRE->hadMultipleCandidates()) if (const auto *TD = dyn_cast(DRE->getDecl())) diff --git a/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp b/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp index 481438de0e53..9935fcc0d3ea 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp @@ -1509,6 +1509,21 @@ void CodeGenFunction::EmitCaseStmt(const CaseStmt &S, llvm::ConstantInt *CaseVal = Builder.getInt(S.getLHS()->EvaluateKnownConstInt(getContext())); + + // Emit debuginfo for the case value if it is an enum value. + const ConstantExpr *CE; + if (auto ICE = dyn_cast(S.getLHS())) + CE = dyn_cast(ICE->getSubExpr()); + else + CE = dyn_cast(S.getLHS()); + if (CE) { + if (auto DE = dyn_cast(CE->getSubExpr())) + if (CGDebugInfo *Dbg = getDebugInfo()) + if (CGM.getCodeGenOpts().hasReducedDebugInfo()) + Dbg->EmitGlobalVariable(DE->getDecl(), + APValue(llvm::APSInt(CaseVal->getValue()))); + } + if (SwitchLikelihood) SwitchLikelihood->push_back(Stmt::getLikelihood(Attrs)); diff --git a/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp b/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp index 0fe084b628da..836aabf80179 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp @@ -1377,19 +1377,23 @@ struct CounterCoverageMappingBuilder // Extend into the condition before we propagate through it below - this is // needed to handle macros that generate the "if" but not the condition. - extendRegion(S->getCond()); + if (!S->isConsteval()) + extendRegion(S->getCond()); Counter ParentCount = getRegion().getCounter(); Counter ThenCount = getRegionCounter(S); - // Emitting a counter for the condition makes it easier to interpret the - // counter for the body when looking at the coverage. - propagateCounts(ParentCount, S->getCond()); + if (!S->isConsteval()) { + // Emitting a counter for the condition makes it easier to interpret the + // counter for the body when looking at the coverage. + propagateCounts(ParentCount, S->getCond()); - // The 'then' count applies to the area immediately after the condition. - auto Gap = findGapAreaBetween(S->getRParenLoc(), getStart(S->getThen())); - if (Gap) - fillGapAreaWithCount(Gap->getBegin(), Gap->getEnd(), ThenCount); + // The 'then' count applies to the area immediately after the condition. + Optional Gap = + findGapAreaBetween(S->getRParenLoc(), getStart(S->getThen())); + if (Gap) + fillGapAreaWithCount(Gap->getBegin(), Gap->getEnd(), ThenCount); + } extendRegion(S->getThen()); Counter OutCount = propagateCounts(ThenCount, S->getThen()); @@ -1398,9 +1402,9 @@ struct CounterCoverageMappingBuilder if (const Stmt *Else = S->getElse()) { bool ThenHasTerminateStmt = HasTerminateStmt; HasTerminateStmt = false; - // The 'else' count applies to the area immediately after the 'then'. - Gap = findGapAreaBetween(getEnd(S->getThen()), getStart(Else)); + Optional Gap = + findGapAreaBetween(getEnd(S->getThen()), getStart(Else)); if (Gap) fillGapAreaWithCount(Gap->getBegin(), Gap->getEnd(), ElseCount); extendRegion(Else); @@ -1416,9 +1420,11 @@ struct CounterCoverageMappingBuilder GapRegionCounter = OutCount; } - // Create Branch Region around condition. - createBranchRegion(S->getCond(), ThenCount, - subtractCounters(ParentCount, ThenCount)); + if (!S->isConsteval()) { + // Create Branch Region around condition. + createBranchRegion(S->getCond(), ThenCount, + subtractCounters(ParentCount, ThenCount)); + } } void VisitCXXTryStmt(const CXXTryStmt *S) { diff --git a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp index d3b454843234..bf7ca718a36b 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp @@ -695,10 +695,10 @@ void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field, // member of reference type uninitialized, the program is // ill-formed. SemaRef.Diag(Loc, diag::err_init_reference_member_uninitialized) - << Field->getType() - << ILE->getSyntacticForm()->getSourceRange(); - SemaRef.Diag(Field->getLocation(), - diag::note_uninit_reference_member); + << Field->getType() + << (ILE->isSyntacticForm() ? ILE : ILE->getSyntacticForm()) + ->getSourceRange(); + SemaRef.Diag(Field->getLocation(), diag::note_uninit_reference_member); } hadError = true; return; diff --git a/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp b/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp index 0143b5f8df6b..655be20572b6 100644 --- a/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp +++ b/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp @@ -165,8 +165,8 @@ struct TransferableCommand { const unsigned OldPos = Pos; std::unique_ptr Arg(OptTable.ParseOneArg( ArgList, Pos, - /* Include */ ClangCLMode ? CoreOption | CLOption : 0, - /* Exclude */ ClangCLMode ? 0 : CLOption)); + /* Include */ ClangCLMode ? CoreOption | CLOption | CLDXCOption : 0, + /* Exclude */ ClangCLMode ? 0 : CLOption | CLDXCOption)); if (!Arg) continue; diff --git a/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp b/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp index e2014f965c90..1fa73c667b7f 100644 --- a/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp +++ b/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp @@ -55,45 +55,140 @@ getTokensCovering(llvm::ArrayRef Toks, SourceRange R, return {Begin, End}; } -// Finds the smallest expansion range that contains expanded tokens First and -// Last, e.g.: +// Finds the range within FID corresponding to expanded tokens [First, Last]. +// Prev precedes First and Next follows Last, these must *not* be included. +// If no range satisfies the criteria, returns an invalid range. +// // #define ID(x) x // ID(ID(ID(a1) a2)) // ~~ -> a1 // ~~ -> a2 // ~~~~~~~~~ -> a1 a2 -SourceRange findCommonRangeForMacroArgs(const syntax::Token &First, - const syntax::Token &Last, - const SourceManager &SM) { - SourceRange Res; - auto FirstLoc = First.location(), LastLoc = Last.location(); - // Keep traversing up the spelling chain as longs as tokens are part of the - // same expansion. - while (!FirstLoc.isFileID() && !LastLoc.isFileID()) { - auto ExpInfoFirst = SM.getSLocEntry(SM.getFileID(FirstLoc)).getExpansion(); - auto ExpInfoLast = SM.getSLocEntry(SM.getFileID(LastLoc)).getExpansion(); - // Stop if expansions have diverged. - if (ExpInfoFirst.getExpansionLocStart() != - ExpInfoLast.getExpansionLocStart()) +SourceRange spelledForExpandedSlow(SourceLocation First, SourceLocation Last, + SourceLocation Prev, SourceLocation Next, + FileID TargetFile, + const SourceManager &SM) { + // There are two main parts to this algorithm: + // - identifying which spelled range covers the expanded tokens + // - validating that this range doesn't cover any extra tokens (First/Last) + // + // We do these in order. However as we transform the expanded range into the + // spelled one, we adjust First/Last so the validation remains simple. + + assert(SM.getSLocEntry(TargetFile).isFile()); + // In most cases, to select First and Last we must return their expansion + // range, i.e. the whole of any macros they are included in. + // + // When First and Last are part of the *same macro arg* of a macro written + // in TargetFile, we that slice of the arg, i.e. their spelling range. + // + // Unwrap such macro calls. If the target file has A(B(C)), the + // SourceLocation stack of a token inside C shows us the expansion of A first, + // then B, then any macros inside C's body, then C itself. + // (This is the reverse of the order the PP applies the expansions in). + while (First.isMacroID() && Last.isMacroID()) { + auto DecFirst = SM.getDecomposedLoc(First); + auto DecLast = SM.getDecomposedLoc(Last); + auto &ExpFirst = SM.getSLocEntry(DecFirst.first).getExpansion(); + auto &ExpLast = SM.getSLocEntry(DecLast.first).getExpansion(); + + if (!ExpFirst.isMacroArgExpansion() || !ExpLast.isMacroArgExpansion()) + break; + // Locations are in the same macro arg if they expand to the same place. + // (They may still have different FileIDs - an arg can have >1 chunks!) + if (ExpFirst.getExpansionLocStart() != ExpLast.getExpansionLocStart()) break; - // Do not continue into macro bodies. - if (!ExpInfoFirst.isMacroArgExpansion() || - !ExpInfoLast.isMacroArgExpansion()) + // Careful, given: + // #define HIDE ID(ID(a)) + // ID(ID(HIDE)) + // The token `a` is wrapped in 4 arg-expansions, we only want to unwrap 2. + // We distinguish them by whether the macro expands into the target file. + // Fortunately, the target file ones will always appear first. + auto &ExpMacro = + SM.getSLocEntry(SM.getFileID(ExpFirst.getExpansionLocStart())) + .getExpansion(); + if (ExpMacro.getExpansionLocStart().isMacroID()) break; - FirstLoc = SM.getImmediateSpellingLoc(FirstLoc); - LastLoc = SM.getImmediateSpellingLoc(LastLoc); - // Update the result afterwards, as we want the tokens that triggered the - // expansion. - Res = {FirstLoc, LastLoc}; + // Replace each endpoint with its spelling inside the macro arg. + // (This is getImmediateSpellingLoc without repeating lookups). + First = ExpFirst.getSpellingLoc().getLocWithOffset(DecFirst.second); + Last = ExpLast.getSpellingLoc().getLocWithOffset(DecLast.second); + + // Now: how do we adjust the previous/next bounds? Three cases: + // A) If they are also part of the same macro arg, we translate them too. + // This will ensure that we don't select any macros nested within the + // macro arg that cover extra tokens. Critical case: + // #define ID(X) X + // ID(prev target) // selecting 'target' succeeds + // #define LARGE ID(prev target) + // LARGE // selecting 'target' fails. + // B) They are not in the macro at all, then their expansion range is a + // sibling to it, and we can safely substitute that. + // #define PREV prev + // #define ID(X) X + // PREV ID(target) // selecting 'target' succeeds. + // #define LARGE PREV ID(target) + // LARGE // selecting 'target' fails. + // C) They are in a different arg of this macro, or the macro body. + // Now selecting the whole macro arg is fine, but the whole macro is not. + // Model this by setting using the edge of the macro call as the bound. + // #define ID2(X, Y) X Y + // ID2(prev, target) // selecting 'target' succeeds + // #define LARGE ID2(prev, target) + // LARGE // selecting 'target' fails + auto AdjustBound = [&](SourceLocation &Bound) { + if (Bound.isInvalid() || !Bound.isMacroID()) // Non-macro must be case B. + return; + auto DecBound = SM.getDecomposedLoc(Bound); + auto &ExpBound = SM.getSLocEntry(DecBound.first).getExpansion(); + if (ExpBound.isMacroArgExpansion() && + ExpBound.getExpansionLocStart() == ExpFirst.getExpansionLocStart()) { + // Case A: translate to (spelling) loc within the macro arg. + Bound = ExpBound.getSpellingLoc().getLocWithOffset(DecBound.second); + return; + } + while (Bound.isMacroID()) { + SourceRange Exp = SM.getImmediateExpansionRange(Bound).getAsRange(); + if (Exp.getBegin() == ExpMacro.getExpansionLocStart()) { + // Case B: bounds become the macro call itself. + Bound = (&Bound == &Prev) ? Exp.getBegin() : Exp.getEnd(); + return; + } + // Either case C, or expansion location will later find case B. + // We choose the upper bound for Prev and the lower one for Next: + // ID(prev) target ID(next) + // ^ ^ + // new-prev new-next + Bound = (&Bound == &Prev) ? Exp.getEnd() : Exp.getBegin(); + } + }; + AdjustBound(Prev); + AdjustBound(Next); } - // Normally mapping back to expansion location here only changes FileID, as - // we've already found some tokens expanded from the same macro argument, and - // they should map to a consecutive subset of spelled tokens. Unfortunately - // SourceManager::isBeforeInTranslationUnit discriminates sourcelocations - // based on their FileID in addition to offsets. So even though we are - // referring to same tokens, SourceManager might tell us that one is before - // the other if they've got different FileIDs. - return SM.getExpansionRange(CharSourceRange(Res, true)).getAsRange(); + + // In all remaining cases we need the full containing macros. + // If this overlaps Prev or Next, then no range is possible. + SourceRange Candidate = + SM.getExpansionRange(SourceRange(First, Last)).getAsRange(); + auto DecFirst = SM.getDecomposedExpansionLoc(Candidate.getBegin()); + auto DecLast = SM.getDecomposedLoc(Candidate.getEnd()); + // Can end up in the wrong file due to bad input or token-pasting shenanigans. + if (Candidate.isInvalid() || DecFirst.first != TargetFile || DecLast.first != TargetFile) + return SourceRange(); + // Check bounds, which may still be inside macros. + if (Prev.isValid()) { + auto Dec = SM.getDecomposedLoc(SM.getExpansionRange(Prev).getBegin()); + if (Dec.first != DecFirst.first || Dec.second >= DecFirst.second) + return SourceRange(); + } + if (Next.isValid()) { + auto Dec = SM.getDecomposedLoc(SM.getExpansionRange(Next).getEnd()); + if (Dec.first != DecLast.first || Dec.second <= DecLast.second) + return SourceRange(); + } + // Now we know that Candidate is a file range that covers [First, Last] + // without encroaching on {Prev, Next}. Ship it! + return Candidate; } } // namespace @@ -363,51 +458,50 @@ TokenBuffer::spelledForExpanded(llvm::ArrayRef Expanded) const { // of the range, bail out in that case. if (Expanded.empty()) return llvm::None; - - const syntax::Token *BeginSpelled; - const Mapping *BeginMapping; - std::tie(BeginSpelled, BeginMapping) = - spelledForExpandedToken(&Expanded.front()); - - const syntax::Token *LastSpelled; - const Mapping *LastMapping; - std::tie(LastSpelled, LastMapping) = - spelledForExpandedToken(&Expanded.back()); - - FileID FID = SourceMgr->getFileID(BeginSpelled->location()); + const syntax::Token *First = &Expanded.front(); + const syntax::Token *Last = &Expanded.back(); + const syntax::Token *FirstSpelled, *LastSpelled; + const TokenBuffer::Mapping *FirstMapping, *LastMapping; + std::tie(FirstSpelled, FirstMapping) = spelledForExpandedToken(First); + std::tie(LastSpelled, LastMapping) = spelledForExpandedToken(Last); + + FileID FID = SourceMgr->getFileID(FirstSpelled->location()); // FIXME: Handle multi-file changes by trying to map onto a common root. if (FID != SourceMgr->getFileID(LastSpelled->location())) return llvm::None; const MarkedFile &File = Files.find(FID)->second; - // If both tokens are coming from a macro argument expansion, try and map to - // smallest part of the macro argument. BeginMapping && LastMapping check is - // only for performance, they are a prerequisite for Expanded.front() and - // Expanded.back() being part of a macro arg expansion. - if (BeginMapping && LastMapping && - SourceMgr->isMacroArgExpansion(Expanded.front().location()) && - SourceMgr->isMacroArgExpansion(Expanded.back().location())) { - auto CommonRange = findCommonRangeForMacroArgs(Expanded.front(), - Expanded.back(), *SourceMgr); - // It might be the case that tokens are arguments of different macro calls, - // in that case we should continue with the logic below instead of returning - // an empty range. - if (CommonRange.isValid()) - return getTokensCovering(File.SpelledTokens, CommonRange, *SourceMgr); + // If the range is within one macro argument, the result may be only part of a + // Mapping. We must use the general (SourceManager-based) algorithm. + if (FirstMapping && FirstMapping == LastMapping && + SourceMgr->isMacroArgExpansion(First->location()) && + SourceMgr->isMacroArgExpansion(Last->location())) { + // We use excluded Prev/Next token for bounds checking. + SourceLocation Prev = (First == &ExpandedTokens.front()) + ? SourceLocation() + : (First - 1)->location(); + SourceLocation Next = (Last == &ExpandedTokens.back()) + ? SourceLocation() + : (Last + 1)->location(); + SourceRange Range = spelledForExpandedSlow( + First->location(), Last->location(), Prev, Next, FID, *SourceMgr); + if (Range.isInvalid()) + return llvm::None; + return getTokensCovering(File.SpelledTokens, Range, *SourceMgr); } + // Otherwise, use the fast version based on Mappings. // Do not allow changes that doesn't cover full expansion. - unsigned BeginExpanded = Expanded.begin() - ExpandedTokens.data(); - unsigned EndExpanded = Expanded.end() - ExpandedTokens.data(); - if (BeginMapping && BeginExpanded != BeginMapping->BeginExpanded) + unsigned FirstExpanded = Expanded.begin() - ExpandedTokens.data(); + unsigned LastExpanded = Expanded.end() - ExpandedTokens.data(); + if (FirstMapping && FirstExpanded != FirstMapping->BeginExpanded) return llvm::None; - if (LastMapping && LastMapping->EndExpanded != EndExpanded) + if (LastMapping && LastMapping->EndExpanded != LastExpanded) return llvm::None; - // All is good, return the result. return llvm::makeArrayRef( - BeginMapping ? File.SpelledTokens.data() + BeginMapping->BeginSpelled - : BeginSpelled, + FirstMapping ? File.SpelledTokens.data() + FirstMapping->BeginSpelled + : FirstSpelled, LastMapping ? File.SpelledTokens.data() + LastMapping->EndSpelled : LastSpelled + 1); } diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 8c2f7614af53..589b5c3b2241 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -22,9 +22,21 @@ # pragma GCC system_header #endif +#if defined(__apple_build_version__) +# define _LIBCPP_COMPILER_CLANG_BASED +# define _LIBCPP_APPLE_CLANG_VER (__apple_build_version__ / 10000) +#elif defined(__clang__) +# define _LIBCPP_COMPILER_CLANG_BASED +# define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__) +#elif defined(__GNUC__) +# define _LIBCPP_COMPILER_GCC +#elif defined(_MSC_VER) +# define _LIBCPP_COMPILER_MSVC +#endif + #ifdef __cplusplus -# define _LIBCPP_VERSION 15000 +# define _LIBCPP_VERSION 15003 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) @@ -198,18 +210,6 @@ # define __has_include(...) 0 # endif -# if defined(__apple_build_version__) -# define _LIBCPP_COMPILER_CLANG_BASED -# define _LIBCPP_APPLE_CLANG_VER (__apple_build_version__ / 10000) -# elif defined(__clang__) -# define _LIBCPP_COMPILER_CLANG_BASED -# define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__) -# elif defined(__GNUC__) -# define _LIBCPP_COMPILER_GCC -# elif defined(_MSC_VER) -# define _LIBCPP_COMPILER_MSVC -# endif - # if !defined(_LIBCPP_COMPILER_CLANG_BASED) && __cplusplus < 201103L # error "libc++ only supports C++03 with Clang-based compilers. Please enable C++11" # endif @@ -1101,6 +1101,13 @@ _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_END_NAMESPACE_STD # define _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION # endif // _LIBCPP_ENABLE_CXX17_REMOVED_FEATURES +// Leave the deprecation notices in by default, but don't remove unary_function and +// binary_function entirely just yet. That way, folks will have one release to act +// on the deprecation warnings. +# ifndef _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION +# define _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION +# endif + # if defined(_LIBCPP_ENABLE_CXX20_REMOVED_FEATURES) # define _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS # define _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION diff --git a/contrib/llvm-project/libcxx/include/atomic b/contrib/llvm-project/libcxx/include/atomic index 6cdc839c1715..28c86ce5daa2 100644 --- a/contrib/llvm-project/libcxx/include/atomic +++ b/contrib/llvm-project/libcxx/include/atomic @@ -1113,6 +1113,12 @@ _Tp kill_dependency(_Tp __y) _NOEXCEPT # define ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE #endif +template +struct __libcpp_is_always_lock_free { + // __atomic_always_lock_free is available in all Standard modes + static const bool __value = __atomic_always_lock_free(sizeof(_Tp), 0); +}; + #ifdef _LIBCPP_ATOMIC_ONLY_USE_BUILTINS template @@ -1404,42 +1410,8 @@ _Tp __cxx_atomic_fetch_xor(__cxx_atomic_lock_impl<_Tp>* __a, return __old; } -#ifdef __cpp_lib_atomic_is_always_lock_free - -template struct __cxx_is_always_lock_free { - enum { __value = __atomic_always_lock_free(sizeof(_Tp), 0) }; }; - -#else - -template struct __cxx_is_always_lock_free { enum { __value = false }; }; -// Implementations must match the C ATOMIC_*_LOCK_FREE macro values. -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_BOOL_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_CHAR_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_CHAR_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_CHAR_LOCK_FREE }; }; -#ifndef _LIBCPP_HAS_NO_CHAR8_T -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_CHAR8_T_LOCK_FREE }; }; -#endif -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_CHAR16_T_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_CHAR32_T_LOCK_FREE }; }; -#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_WCHAR_T_LOCK_FREE }; }; -#endif -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_SHORT_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_SHORT_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_INT_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_INT_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_LONG_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_LONG_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_LLONG_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_LLONG_LOCK_FREE }; }; -template struct __cxx_is_always_lock_free<_Tp*> { enum { __value = 2 == ATOMIC_POINTER_LOCK_FREE }; }; -template<> struct __cxx_is_always_lock_free { enum { __value = 2 == ATOMIC_POINTER_LOCK_FREE }; }; - -#endif //__cpp_lib_atomic_is_always_lock_free - template ::__value, + typename _Base = typename conditional<__libcpp_is_always_lock_free<_Tp>::__value, __cxx_atomic_base_impl<_Tp>, __cxx_atomic_lock_impl<_Tp> >::type> #else @@ -1562,7 +1534,7 @@ struct __atomic_base // false mutable __cxx_atomic_impl<_Tp> __a_; #if defined(__cpp_lib_atomic_is_always_lock_free) - static _LIBCPP_CONSTEXPR bool is_always_lock_free = __atomic_always_lock_free(sizeof(__a_), 0); + static _LIBCPP_CONSTEXPR bool is_always_lock_free = __libcpp_is_always_lock_free<__cxx_atomic_impl<_Tp> >::__value; #endif _LIBCPP_INLINE_VISIBILITY @@ -2665,7 +2637,7 @@ typedef atomic atomic_uintmax_t; // atomic_*_lock_free : prefer the contention type most highly, then the largest lock-free type #ifdef __cpp_lib_atomic_is_always_lock_free -# define _LIBCPP_CONTENTION_LOCK_FREE __atomic_always_lock_free(sizeof(__cxx_contention_t), 0) +# define _LIBCPP_CONTENTION_LOCK_FREE ::std::__libcpp_is_always_lock_free<__cxx_contention_t>::__value #else # define _LIBCPP_CONTENTION_LOCK_FREE false #endif diff --git a/contrib/llvm-project/libcxx/include/stdatomic.h b/contrib/llvm-project/libcxx/include/stdatomic.h index d9550c44061c..ff2a5682f5bb 100644 --- a/contrib/llvm-project/libcxx/include/stdatomic.h +++ b/contrib/llvm-project/libcxx/include/stdatomic.h @@ -121,7 +121,7 @@ using std::atomic_signal_fence // see below # pragma GCC system_header #endif -#if _LIBCPP_STD_VER > 20 +#if defined(__cplusplus) && _LIBCPP_STD_VER > 20 #include #include @@ -230,6 +230,6 @@ using std::atomic_thread_fence _LIBCPP_USING_IF_EXISTS; # include_next # endif -#endif // _LIBCPP_STD_VER > 20 +#endif // defined(__cplusplus) && _LIBCPP_STD_VER > 20 #endif // _LIBCPP_STDATOMIC_H diff --git a/contrib/llvm-project/libcxx/include/version b/contrib/llvm-project/libcxx/include/version index 8ffb1747eb27..d0c6fe466e70 100644 --- a/contrib/llvm-project/libcxx/include/version +++ b/contrib/llvm-project/libcxx/include/version @@ -332,7 +332,7 @@ __cpp_lib_void_t 201411L # undef __cpp_lib_execution // # define __cpp_lib_execution 201902L # if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_format) && !defined(_LIBCPP_HAS_NO_INCOMPLETE_FORMAT) -# define __cpp_lib_format 202106L +// # define __cpp_lib_format 202106L # endif # define __cpp_lib_generic_unordered_lookup 201811L # define __cpp_lib_int_pow2 202002L diff --git a/contrib/llvm-project/lld/COFF/Symbols.h b/contrib/llvm-project/lld/COFF/Symbols.h index c8865d128fb8..a4c6f893f10c 100644 --- a/contrib/llvm-project/lld/COFF/Symbols.h +++ b/contrib/llvm-project/lld/COFF/Symbols.h @@ -106,7 +106,10 @@ protected: : symbolKind(k), isExternal(true), isCOMDAT(false), writtenToSymtab(false), pendingArchiveLoad(false), isGCRoot(false), isRuntimePseudoReloc(false), deferUndefined(false), canInline(true), - nameSize(n.size()), nameData(n.empty() ? nullptr : n.data()) {} + nameSize(n.size()), nameData(n.empty() ? nullptr : n.data()) { + assert((!n.empty() || k <= LastDefinedCOFFKind) && + "If the name is empty, the Symbol must be a DefinedCOFF."); + } const unsigned symbolKind : 8; unsigned isExternal : 1; diff --git a/contrib/llvm-project/lld/COFF/Writer.cpp b/contrib/llvm-project/lld/COFF/Writer.cpp index df60c9032b2d..f39697d5d381 100644 --- a/contrib/llvm-project/lld/COFF/Writer.cpp +++ b/contrib/llvm-project/lld/COFF/Writer.cpp @@ -395,7 +395,7 @@ getThunk(DenseMap &lastThunks, Defined *target, uint64_t p, default: llvm_unreachable("Unexpected architecture"); } - Defined *d = make("", c); + Defined *d = make("range_extension_thunk", c); lastThunk = d; return {d, true}; } diff --git a/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp b/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp index 8fca1a686a79..56a516f9cdc1 100644 --- a/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp +++ b/contrib/llvm-project/lld/ELF/Arch/RISCV.cpp @@ -750,12 +750,13 @@ void elf::riscvFinalizeRelax(int passes) { p += size; // For R_RISCV_ALIGN, we will place `offset` in a location (among NOPs) - // to satisfy the alignment requirement. If `remove` is a multiple of 4, - // it is as if we have skipped some NOPs. Otherwise we are in the middle - // of a 4-byte NOP, and we need to rewrite the NOP sequence. + // to satisfy the alignment requirement. If both `remove` and r.addend + // are multiples of 4, it is as if we have skipped some NOPs. Otherwise + // we are in the middle of a 4-byte NOP, and we need to rewrite the NOP + // sequence. int64_t skip = 0; if (r.type == R_RISCV_ALIGN) { - if (remove % 4 != 0) { + if (remove % 4 || r.addend % 4) { skip = r.addend - remove; int64_t j = 0; for (; j + 4 <= skip; j += 4) diff --git a/contrib/llvm-project/lld/MachO/InputFiles.cpp b/contrib/llvm-project/lld/MachO/InputFiles.cpp index fd0e4ec8834c..87034d41e87d 100644 --- a/contrib/llvm-project/lld/MachO/InputFiles.cpp +++ b/contrib/llvm-project/lld/MachO/InputFiles.cpp @@ -1587,6 +1587,15 @@ void ObjFile::registerEhFrames(Section &ehFrameSection) { funcSym->unwindEntry = isec; ehRelocator.commit(); } + + // __eh_frame is marked as S_ATTR_LIVE_SUPPORT in input files, because FDEs + // are normally required to be kept alive if they reference a live symbol. + // However, we've explicitly created a dependency from a symbol to its FDE, so + // dead-stripping will just work as usual, and S_ATTR_LIVE_SUPPORT will only + // serve to incorrectly prevent us from dead-stripping duplicate FDEs for a + // live symbol (e.g. if there were multiple weak copies). Remove this flag to + // let dead-stripping proceed correctly. + ehFrameSection.flags &= ~S_ATTR_LIVE_SUPPORT; } std::string ObjFile::sourceFile() const { diff --git a/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp b/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp index c3f563d5572b..ca6cbdfbb8bb 100644 --- a/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp +++ b/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp @@ -196,13 +196,13 @@ UnwindInfoSection::UnwindInfoSection() // Record function symbols that may need entries emitted in __unwind_info, which // stores unwind data for address ranges. // -// Note that if several adjacent functions have the same unwind encoding, LSDA, -// and personality function, they share one unwind entry. For this to work, -// functions without unwind info need explicit "no unwind info" unwind entries -// -- else the unwinder would think they have the unwind info of the closest -// function with unwind info right before in the image. Thus, we add function -// symbols for each unique address regardless of whether they have associated -// unwind info. +// Note that if several adjacent functions have the same unwind encoding and +// personality function and no LSDA, they share one unwind entry. For this to +// work, functions without unwind info need explicit "no unwind info" unwind +// entries -- else the unwinder would think they have the unwind info of the +// closest function with unwind info right before in the image. Thus, we add +// function symbols for each unique address regardless of whether they have +// associated unwind info. void UnwindInfoSection::addSymbol(const Defined *d) { if (d->unwindEntry) allEntriesAreOmitted = false; @@ -427,9 +427,9 @@ void UnwindInfoSectionImpl::finalize() { // assigned, so we can relocate the __LD,__compact_unwind entries // into a temporary buffer. Relocation is necessary in order to sort // the CU entries by function address. Sorting is necessary so that - // we can fold adjacent CU entries with identical - // encoding+personality+lsda. Folding is necessary because it reduces - // the number of CU entries by as much as 3 orders of magnitude! + // we can fold adjacent CU entries with identical encoding+personality + // and without any LSDA. Folding is necessary because it reduces the + // number of CU entries by as much as 3 orders of magnitude! cuEntries.resize(symbols.size()); // The "map" part of the symbols MapVector was only needed for deduplication // in addSymbol(). Now that we are done adding, move the contents to a plain @@ -445,7 +445,7 @@ void UnwindInfoSectionImpl::finalize() { return cuEntries[a].functionAddress < cuEntries[b].functionAddress; }); - // Fold adjacent entries with matching encoding+personality+lsda + // Fold adjacent entries with matching encoding+personality and without LSDA // We use three iterators on the same cuIndices to fold in-situ: // (1) `foldBegin` is the first of a potential sequence of matching entries // (2) `foldEnd` is the first non-matching entry after `foldBegin`. @@ -455,11 +455,32 @@ void UnwindInfoSectionImpl::finalize() { auto foldWrite = cuIndices.begin(); for (auto foldBegin = cuIndices.begin(); foldBegin < cuIndices.end();) { auto foldEnd = foldBegin; + // Common LSDA encodings (e.g. for C++ and Objective-C) contain offsets from + // a base address. The base address is normally not contained directly in + // the LSDA, and in that case, the personality function treats the starting + // address of the function (which is computed by the unwinder) as the base + // address and interprets the LSDA accordingly. The unwinder computes the + // starting address of a function as the address associated with its CU + // entry. For this reason, we cannot fold adjacent entries if they have an + // LSDA, because folding would make the unwinder compute the wrong starting + // address for the functions with the folded entries, which in turn would + // cause the personality function to misinterpret the LSDA for those + // functions. In the very rare case where the base address is encoded + // directly in the LSDA, two functions at different addresses would + // necessarily have different LSDAs, so their CU entries would not have been + // folded anyway. while (++foldEnd < cuIndices.end() && cuEntries[*foldBegin].encoding == cuEntries[*foldEnd].encoding && + !cuEntries[*foldBegin].lsda && !cuEntries[*foldEnd].lsda && + // If we've gotten to this point, we don't have an LSDA, which should + // also imply that we don't have a personality function, since in all + // likelihood a personality function needs the LSDA to do anything + // useful. It can be technically valid to have a personality function + // and no LSDA though (e.g. the C++ personality __gxx_personality_v0 + // is just a no-op without LSDA), so we still check for personality + // function equivalence to handle that case. cuEntries[*foldBegin].personality == cuEntries[*foldEnd].personality && - cuEntries[*foldBegin].lsda == cuEntries[*foldEnd].lsda && canFoldEncoding(cuEntries[*foldEnd].encoding)) ; *foldWrite++ = *foldBegin; diff --git a/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleImpl.h b/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleImpl.h index ea2847f8c8ee..07ac1768ea27 100644 --- a/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleImpl.h +++ b/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleImpl.h @@ -144,8 +144,12 @@ private: }; template -auto GenericCycleInfo::getTopLevelParentCycle( - const BlockT *Block) const -> CycleT * { +auto GenericCycleInfo::getTopLevelParentCycle(BlockT *Block) + -> CycleT * { + auto Cycle = BlockMapTopLevel.find(Block); + if (Cycle != BlockMapTopLevel.end()) + return Cycle->second; + auto MapIt = BlockMap.find(Block); if (MapIt == BlockMap.end()) return nullptr; @@ -153,12 +157,15 @@ auto GenericCycleInfo::getTopLevelParentCycle( auto *C = MapIt->second; while (C->ParentCycle) C = C->ParentCycle; + BlockMapTopLevel.try_emplace(Block, C); return C; } template -void GenericCycleInfo::moveToNewParent(CycleT *NewParent, - CycleT *Child) { +void GenericCycleInfo::moveTopLevelCycleToNewParent(CycleT *NewParent, + CycleT *Child) { + assert((!Child->ParentCycle && !NewParent->ParentCycle) && + "NewParent and Child must be both top level cycle!\n"); auto &CurrentContainer = Child->ParentCycle ? Child->ParentCycle->Children : TopLevelCycles; auto Pos = llvm::find_if(CurrentContainer, [=](const auto &Ptr) -> bool { @@ -169,6 +176,13 @@ void GenericCycleInfo::moveToNewParent(CycleT *NewParent, *Pos = std::move(CurrentContainer.back()); CurrentContainer.pop_back(); Child->ParentCycle = NewParent; + + NewParent->Blocks.insert(NewParent->Blocks.end(), Child->block_begin(), + Child->block_end()); + + for (auto &It : BlockMapTopLevel) + if (It.second == Child) + It.second = NewParent; } /// \brief Main function of the cycle info computations. @@ -240,10 +254,7 @@ void GenericCycleInfoCompute::run(BlockT *EntryBlock) { << "discovered child cycle " << Info.Context.print(BlockParent->getHeader()) << "\n"); // Make BlockParent the child of NewCycle. - Info.moveToNewParent(NewCycle.get(), BlockParent); - NewCycle->Blocks.insert(NewCycle->Blocks.end(), - BlockParent->block_begin(), - BlockParent->block_end()); + Info.moveTopLevelCycleToNewParent(NewCycle.get(), BlockParent); for (auto *ChildEntry : BlockParent->entries()) ProcessPredecessors(ChildEntry); @@ -257,6 +268,7 @@ void GenericCycleInfoCompute::run(BlockT *EntryBlock) { assert(!is_contained(NewCycle->Blocks, Block)); NewCycle->Blocks.push_back(Block); ProcessPredecessors(Block); + Info.BlockMapTopLevel.try_emplace(Block, NewCycle.get()); } } while (!Worklist.empty()); @@ -336,6 +348,7 @@ void GenericCycleInfoCompute::dfs(BlockT *EntryBlock) { template void GenericCycleInfo::clear() { TopLevelCycles.clear(); BlockMap.clear(); + BlockMapTopLevel.clear(); } /// \brief Compute the cycle info for a function. diff --git a/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleInfo.h b/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleInfo.h index 970664b85715..5f851b795cbc 100644 --- a/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleInfo.h +++ b/contrib/llvm-project/llvm/include/llvm/ADT/GenericCycleInfo.h @@ -232,15 +232,24 @@ public: private: ContextT Context; - /// Map basic blocks to their inner-most containing loop. + /// Map basic blocks to their inner-most containing cycle. DenseMap BlockMap; + /// Map basic blocks to their top level containing cycle. + DenseMap BlockMapTopLevel; + /// Outermost cycles discovered by any DFS. /// /// Note: The implementation treats the nullptr as the parent of /// every top-level cycle. See \ref contains for an example. std::vector> TopLevelCycles; + /// Move \p Child to \p NewParent by manipulating Children vectors. + /// + /// Note: This is an incomplete operation that does not update the depth of + /// the subtree. + void moveTopLevelCycleToNewParent(CycleT *NewParent, CycleT *Child); + public: GenericCycleInfo() = default; GenericCycleInfo(GenericCycleInfo &&) = default; @@ -254,13 +263,7 @@ public: CycleT *getCycle(const BlockT *Block) const; unsigned getCycleDepth(const BlockT *Block) const; - CycleT *getTopLevelParentCycle(const BlockT *Block) const; - - /// Move \p Child to \p NewParent by manipulating Children vectors. - /// - /// Note: This is an incomplete operation that does not update the - /// list of blocks in the new parent or the depth of the subtree. - void moveToNewParent(CycleT *NewParent, CycleT *Child); + CycleT *getTopLevelParentCycle(BlockT *Block); /// Methods for debug and self-test. //@{ diff --git a/contrib/llvm-project/llvm/include/llvm/Object/ELF.h b/contrib/llvm-project/llvm/include/llvm/Object/ELF.h index 794d29fd9913..5eb43777a951 100644 --- a/contrib/llvm-project/llvm/include/llvm/Object/ELF.h +++ b/contrib/llvm-project/llvm/include/llvm/Object/ELF.h @@ -1028,7 +1028,7 @@ ELFFile::getVersionDependencies(const Elf_Shdr &Sec, VN.Offset = VerneedBuf - Start; if (Verneed->vn_file < StrTab.size()) - VN.File = std::string(StrTab.drop_front(Verneed->vn_file)); + VN.File = std::string(StrTab.data() + Verneed->vn_file); else *** 1304 LINES SKIPPED *** From nobody Sun Apr 9 21:35:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvlkz0BKwz44JXf; Sun, 9 Apr 2023 21:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlky2pYRz4MDG; Sun, 9 Apr 2023 21:35:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mvbiJTs7BDbNGP/KF0GvvMZyghid4AnTJsFBSWqBs4A=; b=Wj28eQpo1OIkXSw8cdnWo6AnVYkEdwKKiXcZfiNRpzlHtzFNWBixtYg04FkXOZ678UuC/3 GJVKDB0iJtizhXTaFXeDOwAY9yppEiLAfF5IQ/ypGWwPvsL/9PhgWOAnq2CVJb1LtNnoqH aWz9xOl/jzRZMwTc5YyOK6WyjQ15k1YeisE1yZ9n09Ascftk1pBFnSzBxB65+l5mFC+FBx +xlGdsnAIYiVXlhjjdrt5sY3vOQgcqtLOzYeCJOnboizqXLTFOSasXMam9YZceiyY1SLv/ fnsbY8RIPB7IK7XFtBjZi/siwL5kFdbYPgqJRZ3ktNj9pJdU2P4otbhyggk1Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076122; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mvbiJTs7BDbNGP/KF0GvvMZyghid4AnTJsFBSWqBs4A=; b=XJSK6RAmTpigvtRbolHfOflxEOW7+xW/9eqlb8rO6SAQRyyYCYnvf8Cr259hjoD5MuequC ZI0tSluL5T3WC4UG7M3ThlRCmJh9oX7m92pRDaXnb5a8np2hYo9gxe7XOF0UYHpu7zVZ1+ 2R6eNCnTrUolpJhpMvSqdS4TPmZkE76WomUrG8lRufWQjtx8SrsUbqQWopZQ5lhQc1Gu/u tKZ7dz1TvwdUtkZEnGqUJYUett7SYzN089MSwcdf31SbAVMLWBgOLbCcse7WltKlNoRN8x GGwuLwW8hAb0Tsuk1jIkwplyZpfFvMqTv6N4FAOoiSi3utWPZFmumx1IEiBV7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076122; a=rsa-sha256; cv=none; b=pci1TyZF41DYI2dMLGkwYBe7rBecrIxDB4CLpkaz/x3C8onE5baA9OGezQLHfxhIktVS3u mvO/UjOUVnlvg3ZI5FwebtKs3sfedzUPU8pU7+7qC0ADSt6YbdhfQMWqvOt2PQHksGeDiG uPNWCsBTmRxoqqwwyUouaiyRTCmE4ySXf50SqRjrW13zWwIri4gM5a4Zh5CnPxPQgK+Cu4 c4ZQ9sukAnzs/GUe9zNcMo2YM2SqoRAnvZdcy4dGk9p1FV5w6ylpRVT5yTwjLe5lnG5E7Q uFN52nRSDmRo8TxnwTWm8tUaegnR3fNUTOIoHMD7GxLkLtkfG+otQricGac80w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkx3LjLzPhF; Sun, 9 Apr 2023 21:35:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZLcS081622; Sun, 9 Apr 2023 21:35:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZLrV081621; Sun, 9 Apr 2023 21:35:21 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:21 GMT Message-Id: <202304092135.339LZLrV081621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: f1ad517df71c - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f1ad517df71ca639c58897254a216e36e999ac06 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f1ad517df71ca639c58897254a216e36e999ac06 commit f1ad517df71ca639c58897254a216e36e999ac06 Author: Dimitry Andric AuthorDate: 2022-12-04 22:09:55 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:51 +0000 Merge llvm-project release/15.x llvmorg-15.0.6-0-g088f33605d8a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.6-0-g088f33605d8a. PR: 265425 MFC after: 2 weeks (cherry picked from commit f3fd488f1e19a3d09c4bdcece893901de4f49cdd) --- ObsoleteFiles.inc | 4 +- .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 8 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 40 +- contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 3 + .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp | 6 + .../sanitizer_common_interceptors.inc | 2 +- contrib/llvm-project/libcxx/include/__config | 2 +- .../libcxx/include/__functional/function.h | 14 +- contrib/llvm-project/lld/ELF/Driver.cpp | 9 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 2 +- .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 35 +- contrib/llvm-project/lld/MachO/UnwindInfoSection.h | 2 +- contrib/llvm-project/lld/MachO/Writer.cpp | 2 +- contrib/llvm-project/lldb/bindings/interfaces.swig | 3 - .../lldb/bindings/python/python-typemaps.swig | 2 +- .../llvm-project/lldb/include/lldb/API/SBType.h | 2 + .../lldb/include/lldb/Symbol/CompilerType.h | 24 +- .../lldb/include/lldb/Symbol/TypeSystem.h | 14 +- contrib/llvm-project/lldb/source/API/SBType.cpp | 12 +- .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp | 81 ++- .../Plugins/TypeSystem/Clang/TypeSystemClang.h | 19 +- .../lldb/source/Symbol/CompilerType.cpp | 18 +- .../llvm-project/lldb/source/Symbol/TypeSystem.cpp | 12 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 7 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 1 + .../llvm/lib/CodeGen/TypePromotion.cpp | 8 +- contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp | 2 +- .../llvm-project/llvm/lib/Support/Unix/Signals.inc | 4 - .../lib/Target/AArch64/AArch64ISelLowering.cpp | 67 ++- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 2 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 2 + .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 2 +- .../llvm/lib/Target/Sparc/SparcCallingConv.td | 10 +- .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 61 +- .../llvm/lib/Target/Sparc/SparcISelLowering.h | 5 + .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 2 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 4 + .../llvm/lib/Transforms/Scalar/SROA.cpp | 19 +- .../llvm/lib/Transforms/Utils/VNCoercion.cpp | 4 +- etc/mtree/BSD.debug.dist | 2 +- etc/mtree/BSD.usr.dist | 2 +- lib/clang/headers/Makefile | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libclang_rt/compiler-rt-vars.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- 53 files changed, 694 insertions(+), 514 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index ce5c9c15dae0..6f3d0f297515 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,7 +52,7 @@ # xargs -n1 | sort | uniq -d; # done -# 20230410: new clang import which bumps version from 14.0.5 to 15.0.3 +# 20230410: new clang import which bumps version from 14.0.5 to 15.0.6 OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new @@ -363,7 +363,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt OLD_DIRS+=usr/lib/clang/14.0.5/share OLD_DIRS+=usr/lib/clang/14.0.5 -# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.3 +# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.6 OLD_FILES+=usr/include/c++/v1/__functional_base OLD_FILES+=usr/include/c++/v1/__libcpp_version OLD_FILES+=usr/include/c++/v1/__nullptr diff --git a/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp b/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp index 36e10e4df4c1..44743fa0206f 100644 --- a/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp +++ b/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp @@ -7047,10 +7047,10 @@ Address ARMABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, // Empty records are ignored for parameter passing purposes. if (isEmptyRecord(getContext(), Ty, true)) { - Address Addr = Address(CGF.Builder.CreateLoad(VAListAddr), - getVAListElementType(CGF), SlotSize); - Addr = CGF.Builder.CreateElementBitCast(Addr, CGF.ConvertTypeForMem(Ty)); - return Addr; + VAListAddr = CGF.Builder.CreateElementBitCast(VAListAddr, CGF.Int8PtrTy); + auto *Load = CGF.Builder.CreateLoad(VAListAddr); + Address Addr = Address(Load, CGF.Int8Ty, SlotSize); + return CGF.Builder.CreateElementBitCast(Addr, CGF.ConvertTypeForMem(Ty)); } CharUnits TySize = getContext().getTypeSizeInChars(Ty); diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp index f203cae1d329..665cdc3132fb 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp @@ -2139,31 +2139,21 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes( // and gcc-toolsets. if (SysRoot.empty() && TargetTriple.getOS() == llvm::Triple::Linux && D.getVFS().exists("/opt/rh")) { - // Find the directory in /opt/rh/ starting with gcc-toolset-* or - // devtoolset-* with the highest version number and add that - // one to our prefixes. - std::string ChosenToolsetDir; - unsigned ChosenToolsetVersion = 0; - std::error_code EC; - for (llvm::vfs::directory_iterator LI = D.getVFS().dir_begin("/opt/rh", EC), - LE; - !EC && LI != LE; LI = LI.increment(EC)) { - StringRef ToolsetDir = llvm::sys::path::filename(LI->path()); - unsigned ToolsetVersion; - if ((!ToolsetDir.startswith("gcc-toolset-") && - !ToolsetDir.startswith("devtoolset-")) || - ToolsetDir.substr(ToolsetDir.rfind('-') + 1) - .getAsInteger(10, ToolsetVersion)) - continue; - - if (ToolsetVersion > ChosenToolsetVersion) { - ChosenToolsetVersion = ToolsetVersion; - ChosenToolsetDir = "/opt/rh/" + ToolsetDir.str(); - } - } - - if (ChosenToolsetVersion > 0) - Prefixes.push_back(ChosenToolsetDir + "/root/usr"); + // TODO: We may want to remove this, since the functionality + // can be achieved using config files. + Prefixes.push_back("/opt/rh/gcc-toolset-12/root/usr"); + Prefixes.push_back("/opt/rh/gcc-toolset-11/root/usr"); + Prefixes.push_back("/opt/rh/gcc-toolset-10/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-12/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-11/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-10/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-9/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-8/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-7/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-6/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-4/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-3/root/usr"); + Prefixes.push_back("/opt/rh/devtoolset-2/root/usr"); } // Fall back to /usr which is used by most non-Solaris systems. diff --git a/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp b/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp index 68158ec977cf..5d0d87fd2422 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp @@ -939,11 +939,9 @@ bool Sema::LookupBuiltin(LookupResult &R) { // If this is a builtin on this (or all) targets, create the decl. if (unsigned BuiltinID = II->getBuiltinID()) { - // In C++, C2x, and OpenCL (spec v1.2 s6.9.f), we don't have any - // predefined library functions like 'malloc'. Instead, we'll just - // error. - if ((getLangOpts().CPlusPlus || getLangOpts().OpenCL || - getLangOpts().C2x) && + // In C++ and OpenCL (spec v1.2 s6.9.f), we don't have any predefined + // library functions like 'malloc'. Instead, we'll just error. + if ((getLangOpts().CPlusPlus || getLangOpts().OpenCL) && Context.BuiltinInfo.isPredefinedLibFunction(BuiltinID)) return false; diff --git a/contrib/llvm-project/clang/lib/Sema/SemaType.cpp b/contrib/llvm-project/clang/lib/Sema/SemaType.cpp index 3ab5d26a9a75..edcac4d2ee9a 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaType.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaType.cpp @@ -6443,6 +6443,9 @@ GetTypeSourceInfoForDeclarator(TypeProcessingState &State, CurrTL = TL.getNextTypeLoc().getUnqualifiedLoc(); } + while (BTFTagAttributedTypeLoc TL = CurrTL.getAs()) + CurrTL = TL.getNextTypeLoc().getUnqualifiedLoc(); + while (DependentAddressSpaceTypeLoc TL = CurrTL.getAs()) { fillDependentAddressSpaceTypeLoc(TL, D.getTypeObject(i).getAttrs()); diff --git a/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp index 19149d079822..ab65612bce90 100644 --- a/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp +++ b/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp @@ -2839,6 +2839,12 @@ void ExprEngine::VisitCommonDeclRefExpr(const Expr *Ex, const NamedDecl *D, return; } + if (const auto *TPO = dyn_cast(D)) { + // FIXME: We should meaningfully implement this. + (void)TPO; + return; + } + llvm_unreachable("Support for this Decl not implemented."); } diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc index 9af296b1853a..b29665a63390 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc @@ -6703,7 +6703,7 @@ INTERCEPTOR(int, sem_init, __sanitizer_sem_t *s, int pshared, unsigned value) { COMMON_INTERCEPTOR_ENTER(ctx, sem_init, s, pshared, value); // Workaround a bug in glibc's "old" semaphore implementation by // zero-initializing the sem_t contents. This has to be done here because - // interceptors bind to the lowest symbols version by default, hitting the + // interceptors bind to the lowest version before glibc 2.36, hitting the // buggy code path while the non-sanitized build of the same code works fine. REAL(memset)(s, 0, sizeof(*s)); int res = REAL(sem_init)(s, pshared, value); diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 589b5c3b2241..5f62b974170f 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -36,7 +36,7 @@ #ifdef __cplusplus -# define _LIBCPP_VERSION 15003 +# define _LIBCPP_VERSION 15006 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/libcxx/include/__functional/function.h b/contrib/llvm-project/libcxx/include/__functional/function.h index db3af6e24101..55b607f3f804 100644 --- a/contrib/llvm-project/libcxx/include/__functional/function.h +++ b/contrib/llvm-project/libcxx/include/__functional/function.h @@ -883,7 +883,7 @@ template class __policy_func<_Rp(_ArgTypes...)> #endif // _LIBCPP_NO_RTTI }; -#if defined(_LIBCPP_HAS_BLOCKS_RUNTIME) && !defined(_LIBCPP_HAS_OBJC_ARC) +#if defined(_LIBCPP_HAS_BLOCKS_RUNTIME) extern "C" void *_Block_copy(const void *); extern "C" void _Block_release(const void *); @@ -898,14 +898,22 @@ class __func<_Rp1(^)(_ArgTypes1...), _Alloc, _Rp(_ArgTypes...)> public: _LIBCPP_INLINE_VISIBILITY explicit __func(__block_type const& __f) +#ifdef _LIBCPP_HAS_OBJC_ARC + : __f_(__f) +#else : __f_(reinterpret_cast<__block_type>(__f ? _Block_copy(__f) : nullptr)) +#endif { } // [TODO] add && to save on a retain _LIBCPP_INLINE_VISIBILITY explicit __func(__block_type __f, const _Alloc& /* unused */) +#ifdef _LIBCPP_HAS_OBJC_ARC + : __f_(__f) +#else : __f_(reinterpret_cast<__block_type>(__f ? _Block_copy(__f) : nullptr)) +#endif { } virtual __base<_Rp(_ArgTypes...)>* __clone() const { @@ -921,8 +929,10 @@ public: } virtual void destroy() _NOEXCEPT { +#ifndef _LIBCPP_HAS_OBJC_ARC if (__f_) _Block_release(__f_); +#endif __f_ = 0; } @@ -950,7 +960,7 @@ public: #endif // _LIBCPP_NO_RTTI }; -#endif // _LIBCPP_HAS_EXTENSION_BLOCKS && !_LIBCPP_HAS_OBJC_ARC +#endif // _LIBCPP_HAS_EXTENSION_BLOCKS } // namespace __function diff --git a/contrib/llvm-project/lld/ELF/Driver.cpp b/contrib/llvm-project/lld/ELF/Driver.cpp index 296fb4220012..58d863776430 100644 --- a/contrib/llvm-project/lld/ELF/Driver.cpp +++ b/contrib/llvm-project/lld/ELF/Driver.cpp @@ -1330,12 +1330,15 @@ static void readConfigs(opt::InputArgList &args) { parseClangOption(std::string("-") + arg->getValue(), arg->getSpelling()); // GCC collect2 passes -plugin-opt=path/to/lto-wrapper with an absolute or - // relative path. Just ignore. If not ended with "lto-wrapper", consider it an + // relative path. Just ignore. If not ended with "lto-wrapper" (or + // "lto-wrapper.exe" for GCC cross-compiled for Windows), consider it an // unsupported LLVMgold.so option and error. - for (opt::Arg *arg : args.filtered(OPT_plugin_opt_eq)) - if (!StringRef(arg->getValue()).endswith("lto-wrapper")) + for (opt::Arg *arg : args.filtered(OPT_plugin_opt_eq)) { + StringRef v(arg->getValue()); + if (!v.endswith("lto-wrapper") && !v.endswith("lto-wrapper.exe")) error(arg->getSpelling() + ": unknown plugin option '" + arg->getValue() + "'"); + } config->passPlugins = args::getStrings(args, OPT_load_pass_plugins); diff --git a/contrib/llvm-project/lld/ELF/InputFiles.cpp b/contrib/llvm-project/lld/ELF/InputFiles.cpp index 927dc272b532..473809b05e9c 100644 --- a/contrib/llvm-project/lld/ELF/InputFiles.cpp +++ b/contrib/llvm-project/lld/ELF/InputFiles.cpp @@ -1157,7 +1157,7 @@ template void ObjFile::postParse() { continue; } - if (binding == STB_WEAK) + if (sym.binding == STB_WEAK || binding == STB_WEAK) continue; std::lock_guard lock(mu); ctx->duplicates.push_back({&sym, this, sec, eSym.st_value}); diff --git a/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp b/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp index ca6cbdfbb8bb..8f267251b7c0 100644 --- a/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp +++ b/contrib/llvm-project/lld/MachO/UnwindInfoSection.cpp @@ -158,7 +158,7 @@ class UnwindInfoSectionImpl final : public UnwindInfoSection { public: UnwindInfoSectionImpl() : cuOffsets(target->wordSize) {} uint64_t getSize() const override { return unwindInfoSize; } - void prepareRelocations() override; + void prepare() override; void finalize() override; void writeTo(uint8_t *buf) const override; @@ -166,6 +166,7 @@ private: void prepareRelocations(ConcatInputSection *); void relocateCompactUnwind(std::vector &); void encodePersonalities(); + Symbol *canonicalizePersonality(Symbol *); uint64_t unwindInfoSize = 0; std::vector symbolsVec; @@ -218,14 +219,24 @@ void UnwindInfoSection::addSymbol(const Defined *d) { } } -void UnwindInfoSectionImpl::prepareRelocations() { +void UnwindInfoSectionImpl::prepare() { // This iteration needs to be deterministic, since prepareRelocations may add // entries to the GOT. Hence the use of a MapVector for // UnwindInfoSection::symbols. for (const Defined *d : make_second_range(symbols)) - if (d->unwindEntry && - d->unwindEntry->getName() == section_names::compactUnwind) - prepareRelocations(d->unwindEntry); + if (d->unwindEntry) { + if (d->unwindEntry->getName() == section_names::compactUnwind) { + prepareRelocations(d->unwindEntry); + } else { + // We don't have to add entries to the GOT here because FDEs have + // explicit GOT relocations, so Writer::scanRelocations() will add those + // GOT entries. However, we still need to canonicalize the personality + // pointers (like prepareRelocations() does for CU entries) in order + // to avoid overflowing the 3-personality limit. + FDE &fde = cast(d->getFile())->fdes[d->unwindEntry]; + fde.personality = canonicalizePersonality(fde.personality); + } + } } // Compact unwind relocations have different semantics, so we handle them in a @@ -279,6 +290,7 @@ void UnwindInfoSectionImpl::prepareRelocations(ConcatInputSection *isec) { continue; } + // Similar to canonicalizePersonality(), but we also register a GOT entry. if (auto *defined = dyn_cast(s)) { // Check if we have created a synthetic symbol at the same address. Symbol *&personality = @@ -291,6 +303,7 @@ void UnwindInfoSectionImpl::prepareRelocations(ConcatInputSection *isec) { } continue; } + assert(isa(s)); in.got->addEntry(s); continue; @@ -320,6 +333,18 @@ void UnwindInfoSectionImpl::prepareRelocations(ConcatInputSection *isec) { } } +Symbol *UnwindInfoSectionImpl::canonicalizePersonality(Symbol *personality) { + if (auto *defined = dyn_cast_or_null(personality)) { + // Check if we have created a synthetic symbol at the same address. + Symbol *&synth = personalityTable[{defined->isec, defined->value}]; + if (synth == nullptr) + synth = defined; + else if (synth != defined) + return synth; + } + return personality; +} + // We need to apply the relocations to the pre-link compact unwind section // before converting it to post-link form. There should only be absolute // relocations here: since we are not emitting the pre-link CU section, there diff --git a/contrib/llvm-project/lld/MachO/UnwindInfoSection.h b/contrib/llvm-project/lld/MachO/UnwindInfoSection.h index c6b334731c75..f2bc3213a127 100644 --- a/contrib/llvm-project/lld/MachO/UnwindInfoSection.h +++ b/contrib/llvm-project/lld/MachO/UnwindInfoSection.h @@ -24,7 +24,7 @@ public: // section entirely. bool isNeeded() const override { return !allEntriesAreOmitted; } void addSymbol(const Defined *); - virtual void prepareRelocations() = 0; + virtual void prepare() = 0; protected: UnwindInfoSection(); diff --git a/contrib/llvm-project/lld/MachO/Writer.cpp b/contrib/llvm-project/lld/MachO/Writer.cpp index 3c44a60f4be2..ce9672dd0b4f 100644 --- a/contrib/llvm-project/lld/MachO/Writer.cpp +++ b/contrib/llvm-project/lld/MachO/Writer.cpp @@ -675,7 +675,7 @@ void Writer::scanRelocations() { } } - in.unwindInfo->prepareRelocations(); + in.unwindInfo->prepare(); } void Writer::scanSymbols() { diff --git a/contrib/llvm-project/lldb/bindings/interfaces.swig b/contrib/llvm-project/lldb/bindings/interfaces.swig index c9a6d0f06056..021c7683d170 100644 --- a/contrib/llvm-project/lldb/bindings/interfaces.swig +++ b/contrib/llvm-project/lldb/bindings/interfaces.swig @@ -1,8 +1,5 @@ /* Various liblldb typedefs that SWIG needs to know about. */ #define __extension__ /* Undefine GCC keyword to make Swig happy when processing glibc's stdint.h. */ -/* The ISO C99 standard specifies that in C++ implementations limit macros such - as INT32_MAX should only be defined if __STDC_LIMIT_MACROS is. */ -#define __STDC_LIMIT_MACROS %include "stdint.i" %include "lldb/lldb-defines.h" diff --git a/contrib/llvm-project/lldb/bindings/python/python-typemaps.swig b/contrib/llvm-project/lldb/bindings/python/python-typemaps.swig index bf3de66b91bf..d45431c771ca 100644 --- a/contrib/llvm-project/lldb/bindings/python/python-typemaps.swig +++ b/contrib/llvm-project/lldb/bindings/python/python-typemaps.swig @@ -435,7 +435,7 @@ template <> bool SetNumberFromPyObject(double &number, PyObject *obj) { %typemap(out) lldb::FileSP { $result = nullptr; - lldb::FileSP &sp = $1; + const lldb::FileSP &sp = $1; if (sp) { PythonFile pyfile = unwrapOrSetPythonException(PythonFile::FromFile(*sp)); if (!pyfile.IsValid()) diff --git a/contrib/llvm-project/lldb/include/lldb/API/SBType.h b/contrib/llvm-project/lldb/include/lldb/API/SBType.h index 244d328b51f4..aa45aeeec476 100644 --- a/contrib/llvm-project/lldb/include/lldb/API/SBType.h +++ b/contrib/llvm-project/lldb/include/lldb/API/SBType.h @@ -182,6 +182,8 @@ public: lldb::SBType GetTemplateArgumentType(uint32_t idx); + /// Return the TemplateArgumentKind of the template argument at index idx. + /// Variadic argument packs are automatically expanded. lldb::TemplateArgumentKind GetTemplateArgumentKind(uint32_t idx); lldb::SBType GetFunctionReturnType(); diff --git a/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerType.h b/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerType.h index 0ad05a27570e..aefd19d0a859 100644 --- a/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerType.h +++ b/contrib/llvm-project/lldb/include/lldb/Symbol/CompilerType.h @@ -338,14 +338,28 @@ public: GetIndexOfChildMemberWithName(const char *name, bool omit_empty_base_classes, std::vector &child_indexes) const; - size_t GetNumTemplateArguments() const; - - lldb::TemplateArgumentKind GetTemplateArgumentKind(size_t idx) const; - CompilerType GetTypeTemplateArgument(size_t idx) const; + /// Return the number of template arguments the type has. + /// If expand_pack is true, then variadic argument packs are automatically + /// expanded to their supplied arguments. If it is false an argument pack + /// will only count as 1 argument. + size_t GetNumTemplateArguments(bool expand_pack = false) const; + + // Return the TemplateArgumentKind of the template argument at index idx. + // If expand_pack is true, then variadic argument packs are automatically + // expanded to their supplied arguments. With expand_pack set to false, an + // arguement pack will count as 1 argument and return a type of Pack. + lldb::TemplateArgumentKind + GetTemplateArgumentKind(size_t idx, bool expand_pack = false) const; + CompilerType GetTypeTemplateArgument(size_t idx, + bool expand_pack = false) const; /// Returns the value of the template argument and its type. + /// If expand_pack is true, then variadic argument packs are automatically + /// expanded to their supplied arguments. With expand_pack set to false, an + /// arguement pack will count as 1 argument and it is invalid to call this + /// method on the pack argument. llvm::Optional - GetIntegralTemplateArgument(size_t idx) const; + GetIntegralTemplateArgument(size_t idx, bool expand_pack = false) const; CompilerType GetTypeForFormatters() const; diff --git a/contrib/llvm-project/lldb/include/lldb/Symbol/TypeSystem.h b/contrib/llvm-project/lldb/include/lldb/Symbol/TypeSystem.h index be5783596897..769449a4933b 100644 --- a/contrib/llvm-project/lldb/include/lldb/Symbol/TypeSystem.h +++ b/contrib/llvm-project/lldb/include/lldb/Symbol/TypeSystem.h @@ -346,14 +346,18 @@ public: const char *name, bool omit_empty_base_classes, std::vector &child_indexes) = 0; - virtual size_t GetNumTemplateArguments(lldb::opaque_compiler_type_t type); + virtual size_t GetNumTemplateArguments(lldb::opaque_compiler_type_t type, + bool expand_pack); virtual lldb::TemplateArgumentKind - GetTemplateArgumentKind(lldb::opaque_compiler_type_t type, size_t idx); - virtual CompilerType GetTypeTemplateArgument(lldb::opaque_compiler_type_t type, - size_t idx); + GetTemplateArgumentKind(lldb::opaque_compiler_type_t type, size_t idx, + bool expand_pack); + virtual CompilerType + GetTypeTemplateArgument(lldb::opaque_compiler_type_t type, size_t idx, + bool expand_pack); virtual llvm::Optional - GetIntegralTemplateArgument(lldb::opaque_compiler_type_t type, size_t idx); + GetIntegralTemplateArgument(lldb::opaque_compiler_type_t type, size_t idx, + bool expand_pack); // Dumping types diff --git a/contrib/llvm-project/lldb/source/API/SBType.cpp b/contrib/llvm-project/lldb/source/API/SBType.cpp index 533930c0544b..adc60a084367 100644 --- a/contrib/llvm-project/lldb/source/API/SBType.cpp +++ b/contrib/llvm-project/lldb/source/API/SBType.cpp @@ -542,7 +542,8 @@ uint32_t SBType::GetNumberOfTemplateArguments() { LLDB_INSTRUMENT_VA(this); if (IsValid()) - return m_opaque_sp->GetCompilerType(false).GetNumTemplateArguments(); + return m_opaque_sp->GetCompilerType(false).GetNumTemplateArguments( + /*expand_pack=*/true); return 0; } @@ -553,13 +554,15 @@ lldb::SBType SBType::GetTemplateArgumentType(uint32_t idx) { return SBType(); CompilerType type; + const bool expand_pack = true; switch(GetTemplateArgumentKind(idx)) { case eTemplateArgumentKindType: - type = m_opaque_sp->GetCompilerType(false).GetTypeTemplateArgument(idx); + type = m_opaque_sp->GetCompilerType(false).GetTypeTemplateArgument( + idx, expand_pack); break; case eTemplateArgumentKindIntegral: type = m_opaque_sp->GetCompilerType(false) - .GetIntegralTemplateArgument(idx) + .GetIntegralTemplateArgument(idx, expand_pack) ->type; break; default: @@ -574,7 +577,8 @@ lldb::TemplateArgumentKind SBType::GetTemplateArgumentKind(uint32_t idx) { LLDB_INSTRUMENT_VA(this, idx); if (IsValid()) - return m_opaque_sp->GetCompilerType(false).GetTemplateArgumentKind(idx); + return m_opaque_sp->GetCompilerType(false).GetTemplateArgumentKind( + idx, /*expand_pack=*/true); return eTemplateArgumentKindNull; } diff --git a/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp index 5f5649a32e19..b47d86d76337 100644 --- a/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ b/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -7096,7 +7096,8 @@ TypeSystemClang::GetIndexOfChildWithName(lldb::opaque_compiler_type_t type, } size_t -TypeSystemClang::GetNumTemplateArguments(lldb::opaque_compiler_type_t type) { +TypeSystemClang::GetNumTemplateArguments(lldb::opaque_compiler_type_t type, + bool expand_pack) { if (!type) return 0; @@ -7111,8 +7112,17 @@ TypeSystemClang::GetNumTemplateArguments(lldb::opaque_compiler_type_t type) { const clang::ClassTemplateSpecializationDecl *template_decl = llvm::dyn_cast( cxx_record_decl); - if (template_decl) - return template_decl->getTemplateArgs().size(); + if (template_decl) { + const auto &template_arg_list = template_decl->getTemplateArgs(); + size_t num_args = template_arg_list.size(); + assert(num_args && "template specialization without any args"); + if (expand_pack && num_args) { + const auto &pack = template_arg_list[num_args - 1]; + if (pack.getKind() == clang::TemplateArgument::Pack) + num_args += pack.pack_size() - 1; + } + return num_args; + } } } break; @@ -7149,15 +7159,51 @@ TypeSystemClang::GetAsTemplateSpecialization( } } +const TemplateArgument * +GetNthTemplateArgument(const clang::ClassTemplateSpecializationDecl *decl, + size_t idx, bool expand_pack) { + const auto &args = decl->getTemplateArgs(); + const size_t args_size = args.size(); + + assert(args_size && "template specialization without any args"); + if (!args_size) + return nullptr; + + const size_t last_idx = args_size - 1; + + // We're asked for a template argument that can't be a parameter pack, so + // return it without worrying about 'expand_pack'. + if (idx < last_idx) + return &args[idx]; + + // We're asked for the last template argument but we don't want/need to + // expand it. + if (!expand_pack || args[last_idx].getKind() != clang::TemplateArgument::Pack) + return idx >= args.size() ? nullptr : &args[idx]; + + // Index into the expanded pack. + // Note that 'idx' counts from the beginning of all template arguments + // (including the ones preceding the parameter pack). + const auto &pack = args[last_idx]; + const size_t pack_idx = idx - last_idx; + const size_t pack_size = pack.pack_size(); + assert(pack_idx < pack_size && "parameter pack index out-of-bounds"); + return &pack.pack_elements()[pack_idx]; +} + lldb::TemplateArgumentKind TypeSystemClang::GetTemplateArgumentKind(lldb::opaque_compiler_type_t type, - size_t arg_idx) { + size_t arg_idx, bool expand_pack) { const clang::ClassTemplateSpecializationDecl *template_decl = GetAsTemplateSpecialization(type); - if (! template_decl || arg_idx >= template_decl->getTemplateArgs().size()) + if (!template_decl) + return eTemplateArgumentKindNull; + + const auto *arg = GetNthTemplateArgument(template_decl, arg_idx, expand_pack); + if (!arg) return eTemplateArgumentKindNull; - switch (template_decl->getTemplateArgs()[arg_idx].getKind()) { + switch (arg->getKind()) { case clang::TemplateArgument::Null: return eTemplateArgumentKindNull; @@ -7190,35 +7236,32 @@ TypeSystemClang::GetTemplateArgumentKind(lldb::opaque_compiler_type_t type, CompilerType TypeSystemClang::GetTypeTemplateArgument(lldb::opaque_compiler_type_t type, - size_t idx) { + size_t idx, bool expand_pack) { const clang::ClassTemplateSpecializationDecl *template_decl = GetAsTemplateSpecialization(type); - if (!template_decl || idx >= template_decl->getTemplateArgs().size()) + if (!template_decl) return CompilerType(); - const clang::TemplateArgument &template_arg = - template_decl->getTemplateArgs()[idx]; - if (template_arg.getKind() != clang::TemplateArgument::Type) + const auto *arg = GetNthTemplateArgument(template_decl, idx, expand_pack); + if (!arg || arg->getKind() != clang::TemplateArgument::Type) return CompilerType(); - return GetType(template_arg.getAsType()); + return GetType(arg->getAsType()); } Optional TypeSystemClang::GetIntegralTemplateArgument(lldb::opaque_compiler_type_t type, - size_t idx) { + size_t idx, bool expand_pack) { const clang::ClassTemplateSpecializationDecl *template_decl = GetAsTemplateSpecialization(type); - if (! template_decl || idx >= template_decl->getTemplateArgs().size()) + if (!template_decl) return llvm::None; - const clang::TemplateArgument &template_arg = - template_decl->getTemplateArgs()[idx]; - if (template_arg.getKind() != clang::TemplateArgument::Integral) + const auto *arg = GetNthTemplateArgument(template_decl, idx, expand_pack); + if (!arg || arg->getKind() != clang::TemplateArgument::Integral) return llvm::None; - return { - {template_arg.getAsIntegral(), GetType(template_arg.getIntegralType())}}; + return {{arg->getAsIntegral(), GetType(arg->getIntegralType())}}; } CompilerType TypeSystemClang::GetTypeForFormatters(void *type) { diff --git a/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h b/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h index 4883f510eb31..6ecbfdd4d1a5 100644 --- a/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h +++ b/contrib/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h @@ -91,7 +91,7 @@ public: void SetOwningModule(OptionalClangModuleID id); /// \} }; - + /// A TypeSystem implementation based on Clang. /// /// This class uses a single clang::ASTContext as the backend for storing @@ -334,7 +334,7 @@ public: llvm::SmallVector names; llvm::SmallVector args; - + const char * pack_name = nullptr; std::unique_ptr packed_args; }; @@ -539,7 +539,7 @@ public: #ifndef NDEBUG bool Verify(lldb::opaque_compiler_type_t type) override; #endif - + bool IsArrayType(lldb::opaque_compiler_type_t type, CompilerType *element_type, uint64_t *size, bool *is_incomplete) override; @@ -812,16 +812,17 @@ public: const char *name, bool omit_empty_base_classes, std::vector &child_indexes) override; - size_t GetNumTemplateArguments(lldb::opaque_compiler_type_t type) override; + size_t GetNumTemplateArguments(lldb::opaque_compiler_type_t type, + bool expand_pack) override; lldb::TemplateArgumentKind - GetTemplateArgumentKind(lldb::opaque_compiler_type_t type, - size_t idx) override; + GetTemplateArgumentKind(lldb::opaque_compiler_type_t type, size_t idx, + bool expand_pack) override; CompilerType GetTypeTemplateArgument(lldb::opaque_compiler_type_t type, - size_t idx) override; + size_t idx, bool expand_pack) override; llvm::Optional - GetIntegralTemplateArgument(lldb::opaque_compiler_type_t type, - size_t idx) override; + GetIntegralTemplateArgument(lldb::opaque_compiler_type_t type, size_t idx, + bool expand_pack) override; CompilerType GetTypeForFormatters(void *type) override; diff --git a/contrib/llvm-project/lldb/source/Symbol/CompilerType.cpp b/contrib/llvm-project/lldb/source/Symbol/CompilerType.cpp index ac98352c235e..bef456583687 100644 --- a/contrib/llvm-project/lldb/source/Symbol/CompilerType.cpp +++ b/contrib/llvm-project/lldb/source/Symbol/CompilerType.cpp @@ -659,30 +659,32 @@ size_t CompilerType::GetIndexOfChildMemberWithName( return 0; } -size_t CompilerType::GetNumTemplateArguments() const { +size_t CompilerType::GetNumTemplateArguments(bool expand_pack) const { if (IsValid()) { - return m_type_system->GetNumTemplateArguments(m_type); + return m_type_system->GetNumTemplateArguments(m_type, expand_pack); } return 0; } -TemplateArgumentKind CompilerType::GetTemplateArgumentKind(size_t idx) const { +TemplateArgumentKind +CompilerType::GetTemplateArgumentKind(size_t idx, bool expand_pack) const { if (IsValid()) - return m_type_system->GetTemplateArgumentKind(m_type, idx); + return m_type_system->GetTemplateArgumentKind(m_type, idx, expand_pack); return eTemplateArgumentKindNull; } -CompilerType CompilerType::GetTypeTemplateArgument(size_t idx) const { +CompilerType CompilerType::GetTypeTemplateArgument(size_t idx, + bool expand_pack) const { if (IsValid()) { - return m_type_system->GetTypeTemplateArgument(m_type, idx); + return m_type_system->GetTypeTemplateArgument(m_type, idx, expand_pack); } return CompilerType(); } llvm::Optional -CompilerType::GetIntegralTemplateArgument(size_t idx) const { +CompilerType::GetIntegralTemplateArgument(size_t idx, bool expand_pack) const { if (IsValid()) - return m_type_system->GetIntegralTemplateArgument(m_type, idx); + return m_type_system->GetIntegralTemplateArgument(m_type, idx, expand_pack); return llvm::None; } diff --git a/contrib/llvm-project/lldb/source/Symbol/TypeSystem.cpp b/contrib/llvm-project/lldb/source/Symbol/TypeSystem.cpp index 3092dc0bf0a4..412373533aab 100644 --- a/contrib/llvm-project/lldb/source/Symbol/TypeSystem.cpp +++ b/contrib/llvm-project/lldb/source/Symbol/TypeSystem.cpp @@ -118,23 +118,25 @@ CompilerType TypeSystem::GetTypeForFormatters(void *type) { return CompilerType(this, type); } -size_t TypeSystem::GetNumTemplateArguments(lldb::opaque_compiler_type_t type) { +size_t TypeSystem::GetNumTemplateArguments(lldb::opaque_compiler_type_t type, + bool expand_pack) { return 0; } TemplateArgumentKind -TypeSystem::GetTemplateArgumentKind(opaque_compiler_type_t type, size_t idx) { +TypeSystem::GetTemplateArgumentKind(opaque_compiler_type_t type, size_t idx, + bool expand_pack) { return eTemplateArgumentKindNull; } CompilerType TypeSystem::GetTypeTemplateArgument(opaque_compiler_type_t type, - size_t idx) { + size_t idx, bool expand_pack) { return CompilerType(); } llvm::Optional -TypeSystem::GetIntegralTemplateArgument(opaque_compiler_type_t type, - size_t idx) { +TypeSystem::GetIntegralTemplateArgument(opaque_compiler_type_t type, size_t idx, + bool expand_pack) { return llvm::None; } diff --git a/contrib/llvm-project/llvm/lib/Analysis/VectorUtils.cpp b/contrib/llvm-project/llvm/lib/Analysis/VectorUtils.cpp index c4795a80ead2..bc20f33f174c 100644 --- a/contrib/llvm-project/llvm/lib/Analysis/VectorUtils.cpp +++ b/contrib/llvm-project/llvm/lib/Analysis/VectorUtils.cpp @@ -1110,6 +1110,12 @@ void InterleavedAccessInfo::collectConstStrideAccesses( continue; Type *ElementTy = getLoadStoreType(&I); + // Currently, codegen doesn't support cases where the type size doesn't + // match the alloc size. Skip them for now. + uint64_t Size = DL.getTypeAllocSize(ElementTy); + if (Size * 8 != DL.getTypeSizeInBits(ElementTy)) + continue; + // We don't check wrapping here because we don't know yet if Ptr will be // part of a full group or a group with gaps. Checking wrapping for all // pointers (even those that end up in groups with no gaps) will be overly @@ -1121,7 +1127,6 @@ void InterleavedAccessInfo::collectConstStrideAccesses( /*Assume=*/true, /*ShouldCheckWrap=*/false); const SCEV *Scev = replaceSymbolicStrideSCEV(PSE, Strides, Ptr); - uint64_t Size = DL.getTypeAllocSize(ElementTy); AccessStrideInfo[&I] = StrideDescriptor(Stride, Scev, Size, getLoadStoreAlignment(&I)); } diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 35650b9bd00e..ecdaef0442da 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -9693,6 +9693,7 @@ TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const { Entry.Alignment = Alignment; CLI.getArgs().insert(CLI.getArgs().begin(), Entry); CLI.NumFixedArgs += 1; + CLI.getArgs()[0].IndirectType = CLI.RetTy; CLI.RetTy = Type::getVoidTy(CLI.RetTy->getContext()); // sret demotion isn't compatible with tail-calls, since the sret argument diff --git a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp index 8dc8d381ad16..a63118067139 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp @@ -569,7 +569,8 @@ void IRPromoter::TruncateSinks() { void IRPromoter::Cleanup() { LLVM_DEBUG(dbgs() << "IR Promotion: Cleanup..\n"); // Some zexts will now have become redundant, along with their trunc - // operands, so remove them + // operands, so remove them. + // Some zexts need to be replaced with truncate if src bitwidth is larger. for (auto *V : Visited) { if (!isa(V)) continue; @@ -584,6 +585,11 @@ void IRPromoter::Cleanup() { << "\n"); ReplaceAllUsersOfWith(ZExt, Src); continue; + } else if (ZExt->getSrcTy()->getScalarSizeInBits() > PromotedWidth) { + IRBuilder<> Builder{ZExt}; + Value *Trunc = Builder.CreateTrunc(Src, ZExt->getDestTy()); + ReplaceAllUsersOfWith(ZExt, Trunc); + continue; } // We've inserted a trunc for a zext sink, but we already know that the diff --git a/contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp b/contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp index 75594f90c926..b9962da1d302 100644 --- a/contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp +++ b/contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp @@ -1040,7 +1040,7 @@ static bool UpgradeIntrinsicFunction1(Function *F, Function *&NewFn) { Name, F->getParent()); // The new function may also need remangling. - if (auto Result = llvm::Intrinsic::remangleIntrinsicFunction(F)) + if (auto Result = llvm::Intrinsic::remangleIntrinsicFunction(NewFn)) NewFn = *Result; return true; } diff --git a/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc b/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc index bf145bffe8bf..23ac012b9e00 100644 --- a/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc +++ b/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc @@ -432,10 +432,6 @@ void llvm::sys::SetOneShotPipeSignalFunction(void (*Handler)()) { } void llvm::sys::DefaultOneShotPipeSignalHandler() { - // UNIX03 conformance requires a non-zero exit code and an error message - // to stderr when writing to a closed stdout fails. - errs() << "error: write on a pipe with no reader\n"; - // Send a special return code that drivers can check for, from sysexits.h. exit(EX_IOERR); } diff --git a/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp index c28216048d7c..06e21f90ebf1 100644 --- a/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -5805,7 +5805,7 @@ SDValue AArch64TargetLowering::LowerFormalArguments( assert(!Res && "Call operand has unhandled type"); (void)Res; } - SmallVector ArgValues; + unsigned ExtraArgLocs = 0; for (unsigned i = 0, e = Ins.size(); i != e; ++i) { CCValAssign &VA = ArgLocs[i - ExtraArgLocs]; @@ -6157,17 +6157,10 @@ void AArch64TargetLowering::saveVarArgRegisters(CCState &CCInfo, /// appropriate copies out of appropriate physical registers. SDValue AArch64TargetLowering::LowerCallResult( SDValue Chain, SDValue InFlag, CallingConv::ID CallConv, bool isVarArg, - const SmallVectorImpl &Ins, const SDLoc &DL, + const SmallVectorImpl &RVLocs, const SDLoc &DL, SelectionDAG &DAG, SmallVectorImpl &InVals, bool isThisReturn, SDValue ThisVal) const { - CCAssignFn *RetCC = CCAssignFnForReturn(CallConv); - // Assign locations to each value returned by this call. - SmallVector RVLocs; DenseMap CopiedRegs; - CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), RVLocs, - *DAG.getContext()); - CCInfo.AnalyzeCallResult(Ins, RetCC); - // Copy all of the result registers out of their specified physreg. for (unsigned i = 0; i != RVLocs.size(); ++i) { CCValAssign VA = RVLocs[i]; @@ -6508,17 +6501,39 @@ AArch64TargetLowering::LowerCall(CallLoweringInfo &CLI, *** 1199 LINES SKIPPED *** From nobody Sun Apr 9 21:35:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll014PHz44JNh; Sun, 9 Apr 2023 21:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvlkz3HkNz4MH9; Sun, 9 Apr 2023 21:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zS6ajZ/IF1gOsik0ZuA19odYFDVfb5tZWFrvbc8wrHU=; b=eb0GlaVJXpV5X02O7q2Zs06MS0rgepbz+gPaR0iJytH1sUhCORgPw9Roio/SNTDLTBHlMc 2rr6ELw6u2CVw8iJWcHdMnJZ6F/xRap73dfDqB6om/3ab89lxXMrClJbMGwO0edrtyHh5E zApKz5ro7rAPuQEWmotNNOvpcgEm3mR5JU0Mu1ef/jXMvqsQqS7AoA1/eBdoAA/YPl719u C1DRMA2JJGs08o0g4xMeDvzAfIoHBUWo5+FngEFsr/X+xuVSkNRx4DCBF0nmjBsmXE5a38 EoR8MTeSNfyqGe/PaaB8Ts9kp35/p6H4kKfcP/u2DQv4gxBzJWaLxRR8RBsjPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zS6ajZ/IF1gOsik0ZuA19odYFDVfb5tZWFrvbc8wrHU=; b=gvm9Tm3UyDr3+/PbmhZN3ctuxNFj9403bLeyGhlFeML5Ks2YZ4hPPCt9Yq8I9Szr9adfYU F2nr/JcT3cFvK/GmzxomSew9UL4I4jyTrtiKrbp4ShVS7N71sA0y+HHchVUwHigVjFUacE 05mD+lUnGEpS4kt3VECTOZQ5ldXe01ihF3e6lMN7QQ3YwL5uEtGMjAq58lb0VIqGTATBON ocjX+9AxPEVYk366prEVt/fuGVjvbxOpbdw/Lr/Q26JdbLXNX/UJW0uEca25gAD8QePUpL DVFdFZAJ9qUorqKr1IRc8BMmIBCQJCtDGif+o1xpdjohWWe7v+WZyvnYX8uF7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076123; a=rsa-sha256; cv=none; b=w2ZoSI8ZLa0SeukYh93dYWUyRfBv1qhyzyeOhgltKfV0Mj/kkreW0vnqSxyEhw7QcdytKS 1S+1WHcgQ2Sn/80vs68KrF2dhaQoCbWaWYJe0OQ+MykSymH2gI1qOTZeowqYqiKc8bsFvd p6eoKlqXs2AgWy/PjWwaHzvdD62PeQLYfsVne+YE8ahbMtRkWfZpDjRBvy1zPt8RONm/dv y6dYcVbPuOHRcl7Puy/tljVbvOaFKNWEnf4mHUpBkuowNvOGznKrrPU8fkMBBduxDTR77X 6uqB7T/ljmwS6Q2QVrSXxu4pvrcdixL8i6cbqfDFsJ9X0ZzlNNJwAO5fx6awnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlky4KqZzPhG; Sun, 9 Apr 2023 21:35:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZMr3081641; Sun, 9 Apr 2023 21:35:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZMeJ081640; Sun, 9 Apr 2023 21:35:22 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:22 GMT Message-Id: <202304092135.339LZMeJ081640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 060699e91369 - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 060699e9136975d51d3f726b9785bdbac9a62ba6 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=060699e9136975d51d3f726b9785bdbac9a62ba6 commit 060699e9136975d51d3f726b9785bdbac9a62ba6 Author: Dimitry Andric AuthorDate: 2023-01-14 16:33:24 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:52 +0000 Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6. PR: 265425 MFC after: 2 weeks (cherry picked from commit 50d7464c3fe687c0a3d4dea6b96a5437779a3ef6) --- ObsoleteFiles.inc | 4 +- contrib/llvm-project/libcxx/include/__config | 2 +- contrib/llvm-project/libcxx/include/vector | 119 ++-- .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 8 +- .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 3 + .../llvm/lib/CodeGen/TypePromotion.cpp | 8 +- etc/mtree/BSD.debug.dist | 2 +- etc/mtree/BSD.usr.dist | 2 +- lib/clang/headers/Makefile | 2 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libclang_rt/compiler-rt-vars.mk | 2 +- tools/build/mk/OptionalObsoleteFiles.inc | 644 ++++++++++----------- 19 files changed, 440 insertions(+), 388 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 6f3d0f297515..39c3e57f93b1 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,7 +52,7 @@ # xargs -n1 | sort | uniq -d; # done -# 20230410: new clang import which bumps version from 14.0.5 to 15.0.6 +# 20230410: new clang import which bumps version from 14.0.5 to 15.0.7 OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new @@ -363,7 +363,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt OLD_DIRS+=usr/lib/clang/14.0.5/share OLD_DIRS+=usr/lib/clang/14.0.5 -# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.6 +# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.7 OLD_FILES+=usr/include/c++/v1/__functional_base OLD_FILES+=usr/include/c++/v1/__libcpp_version OLD_FILES+=usr/include/c++/v1/__nullptr diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 5f62b974170f..c97cbae96fba 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -36,7 +36,7 @@ #ifdef __cplusplus -# define _LIBCPP_VERSION 15006 +# define _LIBCPP_VERSION 15007 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/libcxx/include/vector b/contrib/llvm-project/libcxx/include/vector index 252a0f051ff5..63759407ce94 100644 --- a/contrib/llvm-project/libcxx/include/vector +++ b/contrib/llvm-project/libcxx/include/vector @@ -297,6 +297,7 @@ erase_if(vector& c, Predicate pred); // C++20 #include <__utility/forward.h> #include <__utility/move.h> #include <__utility/swap.h> +#include <__utility/transaction.h> #include #include #include @@ -425,18 +426,27 @@ public: value_type, typename iterator_traits<_ForwardIterator>::reference>::value>::type* = 0); - _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY - ~vector() - { - __annotate_delete(); - std::__debug_db_erase_c(this); +private: + class __destroy_vector { + public: + _LIBCPP_CONSTEXPR __destroy_vector(vector& __vec) : __vec_(__vec) {} - if (this->__begin_ != nullptr) - { - __clear(); - __alloc_traits::deallocate(__alloc(), this->__begin_, capacity()); + _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI void operator()() { + __vec_.__annotate_delete(); + std::__debug_db_erase_c(std::addressof(__vec_)); + + if (__vec_.__begin_ != nullptr) { + __vec_.__clear(); + __alloc_traits::deallocate(__vec_.__alloc(), __vec_.__begin_, __vec_.capacity()); + } } - } + + private: + vector& __vec_; + }; + +public: + _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector(*this)(); } _LIBCPP_CONSTEXPR_AFTER_CXX17 vector(const vector& __x); _LIBCPP_CONSTEXPR_AFTER_CXX17 vector(const vector& __x, const __type_identity_t& __a); @@ -1075,12 +1085,14 @@ template _LIBCPP_CONSTEXPR_AFTER_CXX17 vector<_Tp, _Allocator>::vector(size_type __n) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); if (__n > 0) { __vallocate(__n); __construct_at_end(__n); } + __guard.__complete(); } #if _LIBCPP_STD_VER > 11 @@ -1089,12 +1101,14 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 vector<_Tp, _Allocator>::vector(size_type __n, const allocator_type& __a) : __end_cap_(nullptr, __a) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); if (__n > 0) { __vallocate(__n); __construct_at_end(__n); } + __guard.__complete(); } #endif @@ -1102,12 +1116,14 @@ template _LIBCPP_CONSTEXPR_AFTER_CXX17 vector<_Tp, _Allocator>::vector(size_type __n, const value_type& __x) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); if (__n > 0) { __vallocate(__n); __construct_at_end(__n, __x); } + __guard.__complete(); } template @@ -1120,9 +1136,11 @@ vector<_Tp, _Allocator>::vector(_InputIterator __first, typename iterator_traits<_InputIterator>::reference>::value, _InputIterator>::type __last) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); for (; __first != __last; ++__first) emplace_back(*__first); + __guard.__complete(); } template @@ -1135,9 +1153,11 @@ vector<_Tp, _Allocator>::vector(_InputIterator __first, _InputIterator __last, c typename iterator_traits<_InputIterator>::reference>::value>::type*) : __end_cap_(nullptr, __a) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); for (; __first != __last; ++__first) emplace_back(*__first); + __guard.__complete(); } template @@ -1150,13 +1170,15 @@ vector<_Tp, _Allocator>::vector(_ForwardIterator __first, typename iterator_traits<_ForwardIterator>::reference>::value, _ForwardIterator>::type __last) { - _VSTD::__debug_db_insert_c(this); - size_type __n = static_cast(_VSTD::distance(__first, __last)); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); + size_type __n = static_cast(std::distance(__first, __last)); if (__n > 0) { __vallocate(__n); __construct_at_end(__first, __last, __n); } + __guard.__complete(); } template @@ -1169,13 +1191,15 @@ vector<_Tp, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __las typename iterator_traits<_ForwardIterator>::reference>::value>::type*) : __end_cap_(nullptr, __a) { - _VSTD::__debug_db_insert_c(this); - size_type __n = static_cast(_VSTD::distance(__first, __last)); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); + size_type __n = static_cast(std::distance(__first, __last)); if (__n > 0) { __vallocate(__n); __construct_at_end(__first, __last, __n); } + __guard.__complete(); } template @@ -1183,13 +1207,15 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 vector<_Tp, _Allocator>::vector(const vector& __x) : __end_cap_(nullptr, __alloc_traits::select_on_container_copy_construction(__x.__alloc())) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); size_type __n = __x.size(); if (__n > 0) { __vallocate(__n); __construct_at_end(__x.__begin_, __x.__end_, __n); } + __guard.__complete(); } template @@ -1197,13 +1223,15 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 vector<_Tp, _Allocator>::vector(const vector& __x, const __type_identity_t& __a) : __end_cap_(nullptr, __a) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); size_type __n = __x.size(); if (__n > 0) { __vallocate(__n); __construct_at_end(__x.__begin_, __x.__end_, __n); } + __guard.__complete(); } template @@ -1243,7 +1271,9 @@ vector<_Tp, _Allocator>::vector(vector&& __x, const __type_identity_t _Ip; + auto __guard = std::__make_transaction(__destroy_vector(*this)); assign(_Ip(__x.begin()), _Ip(__x.end())); + __guard.__complete(); } } @@ -1254,12 +1284,14 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY vector<_Tp, _Allocator>::vector(initializer_list __il) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); if (__il.size() > 0) { __vallocate(__il.size()); __construct_at_end(__il.begin(), __il.end(), __il.size()); } + __guard.__complete(); } template @@ -1268,12 +1300,14 @@ inline _LIBCPP_INLINE_VISIBILITY vector<_Tp, _Allocator>::vector(initializer_list __il, const allocator_type& __a) : __end_cap_(nullptr, __a) { - _VSTD::__debug_db_insert_c(this); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + std::__debug_db_insert_c(this); if (__il.size() > 0) { __vallocate(__il.size()); __construct_at_end(__il.begin(), __il.end(), __il.size()); } + __guard.__complete(); } #endif // _LIBCPP_CXX03_LANG @@ -2111,8 +2145,26 @@ public: #else _NOEXCEPT; #endif - _LIBCPP_CONSTEXPR_AFTER_CXX17 ~vector(); - _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n); + +private: + class __destroy_vector { + public: + _LIBCPP_CONSTEXPR __destroy_vector(vector& __vec) : __vec_(__vec) {} + + _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI void operator()() { + if (__vec_.__begin_ != nullptr) + __storage_traits::deallocate(__vec_.__alloc(), __vec_.__begin_, __vec_.__cap()); + std::__debug_db_invalidate_all(this); + } + + private: + vector& __vec_; + }; + +public: + _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 ~vector() { __destroy_vector(*this)(); } + + _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n); #if _LIBCPP_STD_VER > 11 _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n, const allocator_type& __a); #endif @@ -2647,12 +2699,14 @@ vector::vector(_ForwardIterator __first, _ForwardIterator __la __size_(0), __cap_alloc_(0, __default_init_tag()) { - size_type __n = static_cast(_VSTD::distance(__first, __last)); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + size_type __n = static_cast(std::distance(__first, __last)); if (__n > 0) { __vallocate(__n); __construct_at_end(__first, __last); } + __guard.__complete(); } template @@ -2664,12 +2718,14 @@ vector::vector(_ForwardIterator __first, _ForwardIterator __la __size_(0), __cap_alloc_(0, static_cast<__storage_allocator>(__a)) { - size_type __n = static_cast(_VSTD::distance(__first, __last)); + auto __guard = std::__make_transaction(__destroy_vector(*this)); + size_type __n = static_cast(std::distance(__first, __last)); if (__n > 0) { __vallocate(__n); __construct_at_end(__first, __last); } + __guard.__complete(); } #ifndef _LIBCPP_CXX03_LANG @@ -2706,15 +2762,6 @@ vector::vector(initializer_list __il, const alloca #endif // _LIBCPP_CXX03_LANG -template -_LIBCPP_CONSTEXPR_AFTER_CXX17 -vector::~vector() -{ - if (__begin_ != nullptr) - __storage_traits::deallocate(__alloc(), __begin_, __cap()); - std::__debug_db_invalidate_all(this); -} - template _LIBCPP_CONSTEXPR_AFTER_CXX17 vector::vector(const vector& __v) diff --git a/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp index 85d051cfdbe7..a8d40edd88d3 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp @@ -1237,7 +1237,13 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) { if (!MO.isReg()) continue; - for (MCPhysReg SReg : TRI.sub_and_superregs_inclusive(MO.getReg())) + MCRegister Reg = MO.getReg(); + + // This picks up sibling registers (e.q. %al -> %ah). + for (MCRegUnitIterator Unit(Reg, &TRI); Unit.isValid(); ++Unit) + RegsToZero.reset(*Unit); + + for (MCPhysReg SReg : TRI.sub_and_superregs_inclusive(Reg)) RegsToZero.reset(SReg); } } diff --git a/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp b/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp index 9e4e26f1392e..cb552f212fbb 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp @@ -443,6 +443,9 @@ void RegAllocFast::spill(MachineBasicBlock::iterator Before, Register VirtReg, SpilledOperandsMap[MO->getParent()].push_back(MO); for (auto MISpilledOperands : SpilledOperandsMap) { MachineInstr &DBG = *MISpilledOperands.first; + // We don't have enough support for tracking operands of DBG_VALUE_LISTs. + if (DBG.isDebugValueList()) + continue; MachineInstr *NewDV = buildDbgValueForSpill( *MBB, Before, *MISpilledOperands.first, FI, MISpilledOperands.second); assert(NewDV->getParent() == MBB && "dangling parent pointer"); diff --git a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp index a63118067139..36e3c1245f1c 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp @@ -570,7 +570,6 @@ void IRPromoter::Cleanup() { LLVM_DEBUG(dbgs() << "IR Promotion: Cleanup..\n"); // Some zexts will now have become redundant, along with their trunc // operands, so remove them. - // Some zexts need to be replaced with truncate if src bitwidth is larger. for (auto *V : Visited) { if (!isa(V)) continue; @@ -585,11 +584,6 @@ void IRPromoter::Cleanup() { << "\n"); ReplaceAllUsersOfWith(ZExt, Src); continue; - } else if (ZExt->getSrcTy()->getScalarSizeInBits() > PromotedWidth) { - IRBuilder<> Builder{ZExt}; - Value *Trunc = Builder.CreateTrunc(Src, ZExt->getDestTy()); - ReplaceAllUsersOfWith(ZExt, Trunc); - continue; } // We've inserted a trunc for a zext sink, but we already know that the @@ -626,6 +620,8 @@ void IRPromoter::ConvertTruncs() { ConstantInt *Mask = ConstantInt::get(SrcTy, APInt::getMaxValue(NumBits).getZExtValue()); Value *Masked = Builder.CreateAnd(Trunc->getOperand(0), Mask); + if (SrcTy != ExtTy) + Masked = Builder.CreateTrunc(Masked, ExtTy); if (auto *I = dyn_cast(Masked)) NewInsts.insert(I); diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist index a73aca740a10..1d9c926432dd 100644 --- a/etc/mtree/BSD.debug.dist +++ b/etc/mtree/BSD.debug.dist @@ -31,7 +31,7 @@ .. lib clang - 15.0.6 + 15.0.7 lib freebsd .. diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index 9416a70eafcd..dcb5cde47e94 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -35,7 +35,7 @@ .. lib clang - 15.0.6 + 15.0.7 include cuda_wrappers .. diff --git a/lib/clang/headers/Makefile b/lib/clang/headers/Makefile index 822d934cbede..4e5a08e9fed2 100644 --- a/lib/clang/headers/Makefile +++ b/lib/clang/headers/Makefile @@ -5,7 +5,7 @@ .PATH: ${CLANG_SRCS}/lib/Headers INCSGROUPS= INCS CUDA HLSL OMP PPC -INCSDIR= ${LIBDIR}/clang/15.0.6/include +INCSDIR= ${LIBDIR}/clang/15.0.7/include CUDADIR= ${INCSDIR}/cuda_wrappers HLSLDIR= ${INCSDIR}/hlsl OMPDIR= ${INCSDIR}/openmp_wrappers diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index df4289259487..e71c8f63b229 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,10 +1,10 @@ // $FreeBSD$ -#define LLVM_REVISION "llvmorg-15.0.6-0-g088f33605d8a" +#define LLVM_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-15.0.6-0-g088f33605d8a" +#define CLANG_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-15.0.6-0-g088f33605d8a" +#define LLDB_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index d28210f87bed..ed380b8a0e72 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,9 +1,9 @@ /* $FreeBSD$ */ -#define CLANG_VERSION 15.0.6 -#define CLANG_VERSION_STRING "15.0.6" +#define CLANG_VERSION 15.0.7 +#define CLANG_VERSION_STRING "15.0.7" #define CLANG_VERSION_MAJOR 15 #define CLANG_VERSION_MINOR 0 -#define CLANG_VERSION_PATCHLEVEL 6 +#define CLANG_VERSION_PATCHLEVEL 7 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h index 18a0e28d7f3f..485f33a3fad0 100644 --- a/lib/clang/include/clang/Config/config.h +++ b/lib/clang/include/clang/Config/config.h @@ -80,7 +80,7 @@ #define CLANG_HAVE_RLIMITS 1 /* The LLVM product name and version */ -#define BACKEND_PACKAGE_STRING "LLVM 15.0.6" +#define BACKEND_PACKAGE_STRING "LLVM 15.0.7" /* Linker version detected at compile time. */ /* #undef HOST_LINK_VERSION */ diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index edb3421ae064..c7af7cd79d0d 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400005 -#define LLD_VERSION_STRING "15.0.6 (FreeBSD llvmorg-15.0.6-0-g088f33605d8a-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "15.0.7 (FreeBSD llvmorg-15.0.7-0-g8dfdcc7b7bf6-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index 7dcfad4a7d30..13c0abd835a2 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 15.0.6 -#define LLDB_VERSION_STRING "15.0.6" +#define LLDB_VERSION 15.0.7 +#define LLDB_VERSION_STRING "15.0.7" #define LLDB_VERSION_MAJOR 15 #define LLDB_VERSION_MINOR 0 -#define LLDB_VERSION_PATCH 6 +#define LLDB_VERSION_PATCH 7 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index 22dfdef58573..75e12c89863a 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -353,10 +353,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 15.0.6" +#define PACKAGE_STRING "LLVM 15.0.7" /* Define to the version of this package. */ -#define PACKAGE_VERSION "15.0.6" +#define PACKAGE_VERSION "15.0.7" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index fa14fe523bd1..ab9f4d711628 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -74,10 +74,10 @@ #define LLVM_VERSION_MINOR 0 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 6 +#define LLVM_VERSION_PATCH 7 /* LLVM version string */ -#define LLVM_VERSION_STRING "15.0.6" +#define LLVM_VERSION_STRING "15.0.7" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index b58f85d44f73..ecccb84d835f 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,3 +1,3 @@ /* $FreeBSD$ */ -#define LLVM_REVISION "llvmorg-15.0.6-0-g088f33605d8a" +#define LLVM_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/libclang_rt/compiler-rt-vars.mk b/lib/libclang_rt/compiler-rt-vars.mk index 687a280af8d6..3b0cfa853e7a 100644 --- a/lib/libclang_rt/compiler-rt-vars.mk +++ b/lib/libclang_rt/compiler-rt-vars.mk @@ -1,4 +1,4 @@ -CLANG_SUBDIR=clang/15.0.6 +CLANG_SUBDIR=clang/15.0.7 CLANGDIR= /usr/lib/${CLANG_SUBDIR} SANITIZER_LIBDIR= ${CLANGDIR}/lib/freebsd SANITIZER_SHAREDIR= ${CLANGDIR}/share diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index d8812f65b840..21440e6e9560 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -1191,328 +1191,328 @@ OLD_FILES+=usr/share/man/man1/objdump.1.gz OLD_FILES+=usr/bin/clang OLD_FILES+=usr/bin/clang++ OLD_FILES+=usr/bin/clang-cpp -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/algorithm -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/complex -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/new -OLD_DIRS+=usr/lib/clang/15.0.6/include/cuda_wrappers -OLD_FILES+=usr/lib/clang/15.0.6/include/fuzzer/FuzzedDataProvider.h -OLD_DIRS+=usr/lib/clang/15.0.6/include/fuzzer -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl/hlsl_basic_types.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl/hlsl_intrinsics.h -OLD_DIRS+=usr/lib/clang/15.0.6/include/hlsl -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/__clang_openmp_device_functions.h -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/cmath -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex.h -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex_cmath.h -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/math.h -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/new -OLD_DIRS+=usr/lib/clang/15.0.6/include/openmp_wrappers -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/bmi2intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/bmiintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/emmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/immintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/mm_malloc.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/mmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/pmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/smmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/tmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/x86gprintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/x86intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/xmmintrin.h -OLD_DIRS+=usr/lib/clang/15.0.6/include/ppc_wrappers -OLD_FILES+=usr/lib/clang/15.0.6/include/profile/InstrProfData.inc -OLD_FILES+=usr/lib/clang/15.0.6/include/profile/MemProfData.inc -OLD_DIRS+=usr/lib/clang/15.0.6/include/profile -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/allocator_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/asan_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/common_interface_defs.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/coverage_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/dfsan_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/hwasan_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/linux_syscall_hooks.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/lsan_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/memprof_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/msan_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/netbsd_syscall_hooks.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/scudo_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/tsan_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/tsan_interface_atomic.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/ubsan_interface.h -OLD_DIRS+=usr/lib/clang/15.0.6/include/sanitizer -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_log_interface.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_records.h -OLD_DIRS+=usr/lib/clang/15.0.6/include/xray -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_builtin_vars.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_cmath.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_complex_builtins.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_device_functions.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_intrinsics.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_libdevice_declares.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_math.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_math_forward_declares.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_runtime_wrapper.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_texture_intrinsics.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_cmath.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_libdevice_declares.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_math.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_runtime_wrapper.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__stddef_max_align_t.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__wmmintrin_aes.h -OLD_FILES+=usr/lib/clang/15.0.6/include/__wmmintrin_pclmul.h -OLD_FILES+=usr/lib/clang/15.0.6/include/adxintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/altivec.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ammintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/amxintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm64intr.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_acle.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_bf16.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_cde.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_cmse.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_fp16.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_mve.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_neon.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_neon_sve_bridge.h -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_sve.h -OLD_FILES+=usr/lib/clang/15.0.6/include/armintr.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx2intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bf16intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bitalgintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bwintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512cdintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512dqintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512erintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512fintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512fp16intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512ifmaintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512ifmavlintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512pfintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmi2intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmiintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmivlintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbf16intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbitalgintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbwintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlcdintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vldqintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlfp16intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvbmi2intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvnniintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvp2intersectintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vnniintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vp2intersectintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vpopcntdqintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vpopcntdqvlintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avxintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/avxvnniintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/bmi2intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/bmiintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/builtins.h -OLD_FILES+=usr/lib/clang/15.0.6/include/cet.h -OLD_FILES+=usr/lib/clang/15.0.6/include/cetintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/cldemoteintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/clflushoptintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/clwbintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/clzerointrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/cpuid.h -OLD_FILES+=usr/lib/clang/15.0.6/include/crc32intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/emmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/enqcmdintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/f16cintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/float.h -OLD_FILES+=usr/lib/clang/15.0.6/include/fma4intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/fmaintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/fxsrintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/gfniintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_circ_brev_intrinsics.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_protos.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_types.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hresetintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/htmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/htmxlintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/hvx_hexagon_protos.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ia32intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/immintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/inttypes.h -OLD_FILES+=usr/lib/clang/15.0.6/include/invpcidintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/iso646.h -OLD_FILES+=usr/lib/clang/15.0.6/include/keylockerintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/limits.h -OLD_FILES+=usr/lib/clang/15.0.6/include/lwpintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/lzcntintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/mm3dnow.h -OLD_FILES+=usr/lib/clang/15.0.6/include/mm_malloc.h -OLD_FILES+=usr/lib/clang/15.0.6/include/mmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/module.modulemap -OLD_FILES+=usr/lib/clang/15.0.6/include/movdirintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/msa.h -OLD_FILES+=usr/lib/clang/15.0.6/include/mwaitxintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/nmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/omp-tools.h -OLD_FILES+=usr/lib/clang/15.0.6/include/omp.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ompt.h -OLD_FILES+=usr/lib/clang/15.0.6/include/opencl-c-base.h -OLD_FILES+=usr/lib/clang/15.0.6/include/opencl-c.h -OLD_FILES+=usr/lib/clang/15.0.6/include/pconfigintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/pkuintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/pmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/popcntintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/prfchwintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/ptwriteintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/rdpruintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/rdseedintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/riscv_vector.h -OLD_FILES+=usr/lib/clang/15.0.6/include/rtmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/s390intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/serializeintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/sgxintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/shaintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/smmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stdalign.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stdarg.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stdatomic.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stdbool.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stddef.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stdint.h -OLD_FILES+=usr/lib/clang/15.0.6/include/stdnoreturn.h -OLD_FILES+=usr/lib/clang/15.0.6/include/tbmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/tgmath.h -OLD_FILES+=usr/lib/clang/15.0.6/include/tmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/tsxldtrkintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/uintrintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/unwind.h -OLD_FILES+=usr/lib/clang/15.0.6/include/vadefs.h -OLD_FILES+=usr/lib/clang/15.0.6/include/vaesintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/varargs.h -OLD_FILES+=usr/lib/clang/15.0.6/include/vecintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin_approx.h -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin_gen.h -OLD_FILES+=usr/lib/clang/15.0.6/include/vpclmulqdqintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/waitpkgintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/wasm_simd128.h -OLD_FILES+=usr/lib/clang/15.0.6/include/wbnoinvdintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/wmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/x86gprintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/x86intrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xmmintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xopintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xsavecintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xsaveintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xsaveoptintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xsavesintrin.h -OLD_FILES+=usr/lib/clang/15.0.6/include/xtestintrin.h -OLD_DIRS+=usr/lib/clang/15.0.6/include -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-aarch64.so -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-arm.so -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-armhf.so -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-i386.so -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-x86_64.so -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_static-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_static-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.dd-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.dd-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan_cxx-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan_cxx-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc64le.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-aarch64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-arm.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-armhf.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-x86_64.a -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-x86_64.a -OLD_DIRS+=usr/lib/clang/15.0.6/lib/freebsd -OLD_DIRS+=usr/lib/clang/15.0.6/lib -OLD_FILES+=usr/lib/clang/15.0.6/share/asan_ignorelist.txt -OLD_FILES+=usr/lib/clang/15.0.6/share/cfi_ignorelist.txt -OLD_FILES+=usr/lib/clang/15.0.6/share/msan_ignorelist.txt -OLD_DIRS+=usr/lib/clang/15.0.6/share -OLD_DIRS+=usr/lib/clang/15.0.6 +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/algorithm +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/complex +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/new +OLD_DIRS+=usr/lib/clang/15.0.7/include/cuda_wrappers +OLD_FILES+=usr/lib/clang/15.0.7/include/fuzzer/FuzzedDataProvider.h +OLD_DIRS+=usr/lib/clang/15.0.7/include/fuzzer +OLD_FILES+=usr/lib/clang/15.0.7/include/hlsl/hlsl_basic_types.h +OLD_FILES+=usr/lib/clang/15.0.7/include/hlsl/hlsl_intrinsics.h +OLD_DIRS+=usr/lib/clang/15.0.7/include/hlsl +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/__clang_openmp_device_functions.h +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/cmath +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex.h +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex_cmath.h +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/math.h +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/new +OLD_DIRS+=usr/lib/clang/15.0.7/include/openmp_wrappers +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/mm_malloc.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/mmintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/x86gprintrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h +OLD_DIRS+=usr/lib/clang/15.0.7/include/ppc_wrappers +OLD_FILES+=usr/lib/clang/15.0.7/include/profile/InstrProfData.inc +OLD_FILES+=usr/lib/clang/15.0.7/include/profile/MemProfData.inc +OLD_DIRS+=usr/lib/clang/15.0.7/include/profile +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/dfsan_interface.h *** 287 LINES SKIPPED *** From nobody Sun Apr 9 21:35:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll05V5Vz44JTq; Sun, 9 Apr 2023 21:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll01GZDz4MPs; Sun, 9 Apr 2023 21:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1xILPY+PFimnlY0N1S5W8f/gCBjXyGMF/rbYuu6W4Lw=; b=nbeikTHYKQ4WI8h5hCFXCMDi6kR9NpbKUntBDKiaxfqhJ68lQCN3zV7hOS2Xng5Pzd0tr0 cVLheCee0uXMbL2q1zPsuejzahOQiWLMBx9J5SOskc64WktKQ9HlHCebK7Qe7xYFIclcln OXJue4tjCbVHnP0PEO/8u6F346vUg59HAjJrWNPI89T3O24QSrXem0fsQhqCYGeAPQch4N wbPHTGQteJx7zX1kETu0yACV01T2GfntrvMOA03FFMTMNDxLDnoCzJBhz9042hHYakDmvU N8kz6OfqVXmInukvOjrPPr1sLXnPdKXBHPlQsApBe06feOWEHrWKiP+jbHGIqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1xILPY+PFimnlY0N1S5W8f/gCBjXyGMF/rbYuu6W4Lw=; b=ktd4fpzelc9V4o4y8UY0FL32G+XS7pqfT66jzNMzudXiyHUGtWR+58HGVp4E3z+vCqhinO eqTlY8SgykUyZskQX8gKfBC3LuepO6K1BS2eDkFfY/00PpGyyjGUW7eRp4Kq0ajRO1o+bl DPgExr3yPt8SUTz5/26wiF3EEl4/YcpY/SqgRTlQqTP+txSgtBCxY6mhUiAp8EexxrIoun PNvVqIyojMbr6uvvVMBzhNT/uqEZOBqEQjbmvtIf+wofpPXCd4Cd4xh1goVw7LusSf7sNB 6hAoPPw0hgKBxTmngQyVE2qMGViUvMh3mJheEKbPh4y2T/ue7ZJzEn1YAH/kaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076124; a=rsa-sha256; cv=none; b=WJS+8HkQum84sBvcFI7v2linA4z8GVpT5ZGwW3LLO63nt2ST0oh7C4lyJFdlKZvrZ8O3e0 TnWqeK6z3tEJNbdPBGRtdnHGlN/6JWksS0MogNT/QYWz8Vt9Az6zCCmNAZ/O5vnzgPSVZe fFTBH4PWYYkJKjylmlE6IA0g9JR/x0Lwgcx16Wlp4W1acA7lFyHMYRss492EDKha0eVe5n oB/FjcCxOfEd1v+Wj3tkjmqr7ik+JupykF9yc2R/aCSPv2ynK7W1tqyc0g1hGx1zTj4n26 ZpVLLr+lqh1FUaZTNofEP58DXDLxQ69mSTKg8IfMM1zgGd0zNbaIUQNRU2QRIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvlkz4fF7zPF2; Sun, 9 Apr 2023 21:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZNSX081665; Sun, 9 Apr 2023 21:35:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZNks081664; Sun, 9 Apr 2023 21:35:23 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:23 GMT Message-Id: <202304092135.339LZNks081664@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: cb80698e4c85 - stable/13 - Reapply: : Avoid instantiating a pointer type in std::decay<> List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cb80698e4c850fbe6f13f4f937501c5639ecfca5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=cb80698e4c850fbe6f13f4f937501c5639ecfca5 commit cb80698e4c850fbe6f13f4f937501c5639ecfca5 Author: Dimitry Andric AuthorDate: 2023-02-09 09:33:42 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:53 +0000 Reapply: : Avoid instantiating a pointer type in std::decay<> GCC expands the pointer type in this conditional expression even for template types _Up that are not arrays. This raises an error when std::decay<> is used with reference types (as is done in LLVM's sources). Using add_pointer<> causes GCC to only instantiate a pointer type for array types. A similar change to this commit (albeit reworked due to upstream changes) has been merged to libc++ in commit 26068c6e60324ed866a1ca2afb5cb5eb0aaf015b. In file included from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__compare/ordering.h:13, from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__compare/common_comparison_category.h:12, from /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/tuple:168, from /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/DenseMapInfo.h:20, from /usr/src/contrib/llvm-project/llvm/include/llvm/ADT/DenseMap.h:17, from /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp:36: /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits: In instantiation of 'struct std::__1::__decay': /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits:1591:89: required from 'struct std::__1::decay' /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/__utility/pair.h:132:16: required by substitution of 'template::type>::value && (! std::__1::is_same::type, std::__1::pair > >::value)), std::__1::pair >::_CheckTupleLikeConstructor, std::__1::__check_tuple_constructor_fail>::type::__enable_implicit<_Tuple>(), void>::type* > constexpr std::__1::pair >::pair(_Tuple&&) [with _Tuple = llvm::CHIArg&&; typename std::__1::enable_if::type>::value && (! std::__1::is_same::type, std::__1::pair > >::value)), std::__1::pair >::_CheckTupleLikeConstructor, std::__1::__check_tuple_constructor_fail>::type::__enable_implicit<_Tuple>(), void>::type* = ]' /usr/src/contrib/llvm-project/llvm/lib/Transforms/Scalar/GVNHoist.cpp:892:51: required from here /usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/type_traits:1582:30: error: forming pointer to reference type 'std::__1::remove_extent::type' {aka 'llvm::CHIArg&'} 1582 | >::type type; | ^~~~ Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D36898 This reapplies commit c36de97088a2b9141cdaf2fae2a7f41bf820ffa0, which I accidentally overwrote in the llvm 15 merge. (It turns out upstream did not merge this to their 15.x branch.) MFC after: 2 weeks (cherry picked from commit 4378cc5cfb5cf928e287c0143efb120d5558c4a0) --- contrib/llvm-project/libcxx/include/__type_traits/decay.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__type_traits/decay.h b/contrib/llvm-project/libcxx/include/__type_traits/decay.h index d47ad03fe008..2af0c1ca42c3 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/decay.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/decay.h @@ -37,7 +37,7 @@ public: typedef _LIBCPP_NODEBUG typename conditional < is_array<_Up>::value, - typename remove_extent<_Up>::type*, + typename add_pointer::type>::type, typename conditional < is_function<_Up>::value, From nobody Sun Apr 9 21:35:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll144bpz44JKV; Sun, 9 Apr 2023 21:35:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll11sk7z4MVm; Sun, 9 Apr 2023 21:35:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ipW4lbkCfgatFp2mP8EMiAMG4UqAJEmPz1EHZr6Paa8=; b=Njgs4pSp4+E/QmHHdhI9HNiup1nSOYPAaKfWKYY5poiaK/ICDfGJPTS5d8mD50nrKXJe8z dPtdFeR14XNYwUYlGcw1MzGLDbqkg+CqikCiw4YjKbsYqYBN97Ns1P4P7QuIQLs171P6ZR L6rc+3tiuY9JNaOKfDyhLUCT7icnCi2Mmvdf//haxOb1JPox2HwvH+l0wYQOBJ01kaLl9x w0VcyLsHYEwl13FYlUAjWk++sL7Ngg0P96XwD0AQP4LdVfI3xe9LN1DdurNjCVFGrgpsAR R/oNEt5DnHcKIYM8xmF/icO5DalAhtwdHvHnTJBk1AnR4tCEe8McNbwLlVdnWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ipW4lbkCfgatFp2mP8EMiAMG4UqAJEmPz1EHZr6Paa8=; b=QDf8TO7zBZY3GNozxtQ8wadePKJwbPnxI0d/n7+ZUPHA9teuwvxMhWZD8Ny1muyfqAuu02 Y2AtcBWbUWoumnYjf+0wjPBWux3h8xH7Uw0NE68Nhi4c+LRzyGMtw7YLGVv+aTsVvOAxn0 k4tVXgVHPV8f15TEolp3IraiTbOpTTZ88uhOMIlEK03NxMxhckWUA0tL77kfDZsLCIKJMn ICLWIdfJVqY3QJh6/KqvNCS+OYvWOmTHp1VvRAQeafL/mF4Dig2WMD5oX2zR/5UBB9fHKx pfnXZFAJwbkxbxZ5UfVo3M3jLZtZVIdcJu2qPZVqdfIu5+mUqGlEPMNHY58MDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076125; a=rsa-sha256; cv=none; b=oq2UvkwO/LBmpwsGrNo8DhJh+01LitNH1ZDntrVwEI67t8bOPtuhi1eBR5tSzvWYkB+iyz oOlOx9UUiJxym8WouJXwONeY2PLPq8/l2Ef3yUHX6OAjrLTRoOrjzptelN4g4uWbSQFCYL NTCmJBKvX3nrhvx4l08W3VtbWASxVIYLBuKi6ohbOd3nR0YWZKfSRZhgd367KGT3/aniZP s4bdygDgEqkzb4XlKkw3V2cY7XwB83M3hJOSSnYjroBnvvFclXRTGAsUs2VtsT8CGYsF6C KypcdoiGLtAqBdKEL3kPLTTM39eNGRh3MyFfMCpqQuEqHst70e4hIF6sBiPXJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll05KbtzPKV; Sun, 9 Apr 2023 21:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZOU8081686; Sun, 9 Apr 2023 21:35:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZOYF081685; Sun, 9 Apr 2023 21:35:24 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:24 GMT Message-Id: <202304092135.339LZOYF081685@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 801fd0db28cb - stable/13 - llvm/lld: damage control threading List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 801fd0db28cb43bee27dd297b7be92a39d9dff98 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=801fd0db28cb43bee27dd297b7be92a39d9dff98 commit 801fd0db28cb43bee27dd297b7be92a39d9dff98 Author: Mateusz Guzik AuthorDate: 2023-04-02 12:38:49 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:54:53 +0000 llvm/lld: damage control threading See the comment inside. Reviewed by: dim Differential Revision: https://reviews.freebsd.org/D39389 (cherry picked from commit 04bab189b8a54974fcd9530140e4eed6ad137f48) --- contrib/llvm-project/llvm/lib/Support/Threading.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/contrib/llvm-project/llvm/lib/Support/Threading.cpp b/contrib/llvm-project/llvm/lib/Support/Threading.cpp index 04a1a9e19428..3ac3695fa9ed 100644 --- a/contrib/llvm-project/llvm/lib/Support/Threading.cpp +++ b/contrib/llvm-project/llvm/lib/Support/Threading.cpp @@ -62,8 +62,19 @@ unsigned llvm::ThreadPoolStrategy::compute_thread_count() const { : sys::getHostNumPhysicalCores(); if (MaxThreadCount <= 0) MaxThreadCount = 1; - if (ThreadsRequested == 0) - return MaxThreadCount; + // Damage control threading. + // + // There are no heuristics to figure out how many threads makes sense to spawn, + // all while rolling with all available hw threads starts being detrimental to + // performance really early. + // + // Work around by putting a hard cap unless the user explicitly requested a certain amount. + // + // See https://discourse.llvm.org/t/avoidable-overhead-from-threading-by-default/69160 + // for more details. + if (ThreadsRequested == 0) { + return std::min(MaxThreadCount, 4); + } if (!Limit) return ThreadsRequested; return std::min((unsigned)MaxThreadCount, ThreadsRequested); From nobody Sun Apr 9 21:35:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll22qBnz44JLp; Sun, 9 Apr 2023 21:35:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll20M3Qz4MF7; Sun, 9 Apr 2023 21:35:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MBYySZbWMlBodcYKSXBqlzLIHigvZEXC2if4PF0f8Po=; b=hzhRVoEP9jLFegAPzpmuRzZ9ieJiz1cGxx5o5TjaAx+gac9LDXol7jhdyMNZBoSpzntC/a WEXbhX1/LYaLgTzBhhhvddNCKBHlaYakMVusDinIfKSBTmUaGK6fP8HVrkL+3Ewdh1jW1a gmbD7U2bu8/cs/Lm45KQtWjMkUiTCPxgq8WyqgGa1uIMqesNrnKZipWm7pbOfDxUg75w2t iGxMj2krknn6V/DH6tE+U9Ul9rR6v8k5b4NB0E5LX68Y1PjWBJUQq60aZposyW8uzlbGg6 7zLgd/y4Id+5Z311LCEqAJQxm9Ic3/54CGV5rLm/9VvsAL/xo9vb1Anpb3fwug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MBYySZbWMlBodcYKSXBqlzLIHigvZEXC2if4PF0f8Po=; b=kOgy1Yyk/WzEJkdAfzLEv4JijrFd3nBX7Yzx/aOP4G5g5EnmFYaSrX9ihX2vTgZmgsz92C kosRlDmRIGBrLiAcRS4pDm9KL/EOA27aKMgsb7XiQ4xLoEuEp/cFZaH/7iISeCV6h6DRMd zd23c853F/f/doUSPK0CxLOue5gImQGbtICqBhAiIhXdTbjK0zCsiuLFE0TlF4rJs1gxzG oAPdQS5X4VHo2CRaBEdFvhfFQc/9665YEELH7SlK1ZOGcykt0UDhi1kJl/6bMdpYERyaQ5 KzOSiGVlqrSqTMAIAlm3h7TXMjE57fabylEA92zhTNz5/Pk/S2mw2PDaG5KhSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076126; a=rsa-sha256; cv=none; b=i7E2tkuCdgskJ8y36YYaEE5mimGyu8VLwXDUikfCgjd85DOKBDpRyxAJpO3hics9rqDJz8 ffAKURXvwVx9Ioy4RK0dNyiknB9tIGlNHdJgEN3QerEzFiJL1Hb0IaWAQ7HuRFX0kEPELz VsWJPV9ajDNJk0wnOqFZ1iTEr5b2GrdwES4HKrdTwt9z0JoxJwKZqFgnla78+8sWxgYd4n wYV6ogzt/S4FB4aieasDmEEcXUg5rhLgg7gn8QW7C59dAUMxH2lHduRdx2aarSekIRgsPA QGWH8FGV0BKlphuD/b6MzY4yf/sBfhvqsePeOJGAJHn9aPlZ9ZIcGc8xO9+ifQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll16VNWzPVY; Sun, 9 Apr 2023 21:35:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZPRt081705; Sun, 9 Apr 2023 21:35:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZPvY081704; Sun, 9 Apr 2023 21:35:25 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:25 GMT Message-Id: <202304092135.339LZPvY081704@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 4d2ea4dc2c7c - stable/13 - clang: Define NO_WDEPRECATED_NON_PROTOTYPE for clang 15 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4d2ea4dc2c7c335c02c46e7bf77f31baafccfb6a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4d2ea4dc2c7c335c02c46e7bf77f31baafccfb6a commit 4d2ea4dc2c7c335c02c46e7bf77f31baafccfb6a Author: Warner Losh AuthorDate: 2022-11-30 18:08:16 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:55:42 +0000 clang: Define NO_WDEPRECATED_NON_PROTOTYPE for clang 15 Clang 15 enforces function definitions using the C89 form rather than the K&R form. While not strictly a prototype (which is only for a declaration), use the name that mirror's clang's warning name. Much code in contrib still uses K&R function definitions, so invent this for compiling there. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D37515 (cherry picked from commit 0ecb61619688acf57a6f5d7b00bf7fda62cf7c53) --- share/mk/bsd.sys.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 25e2c9787329..b11ba2ddabcb 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -114,6 +114,9 @@ CWARNFLAGS+= -Wno-misleading-indentation .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 140000 NO_WBITWISE_INSTEAD_OF_LOGICAL= -Wno-bitwise-instead-of-logical .endif +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 150000 +NO_WDEPRECATED_NON_PROTOTYPE=-Wno-deprecated-non-prototype +.endif .if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 110100 NO_WARRAY_PARAMETER= -Wno-array-parameter .endif From nobody Sun Apr 9 21:35:26 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll369Xrz44JNp; Sun, 9 Apr 2023 21:35:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll33h2Jz4MJC; Sun, 9 Apr 2023 21:35:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zmpsk/YH3JWL5aVNlQs+282zlo6WjXx5XYwKyurlvOM=; b=PM9827PQgjzxB3A1VKJNIih83uMhcFaR7FropOVGrJuekoRKES/A7yAdSseFgD1S9prtNY 36bcbhq4fiBR1PP+2aeGUIuRNDCoeuLVmnmatV9aQc6/QozUvTjINAyS/+FVHyCWVbj6aU Oh3K8X/9lmRA1qNszDlz56g0YSfoRpkoW3I6KN+A7MkPZ6r8PKNKUcI4t+iyhM83oKZ9o9 8sfmd5LXU3ImrH5MaoWPBB7L7fPT5LQ1fmwNlSjQ0Wg6CsyfCNf/Du7EUi27/f/3WEFCfV tKaU0UxhG4K3K5CvSPS12lyE1OJJcYvGKqDubhkSqJIad2tSQ0ZPV0CdTdAoyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zmpsk/YH3JWL5aVNlQs+282zlo6WjXx5XYwKyurlvOM=; b=oh+Lx6z6ojzIa6sMfXxVkIILEDDw+1pHkq4LI4hWd1zvbDh1BG6B+1z5LtGDoZaPFiXyUH hEcfxmvB+Ff1AbkA727bOJmdb0xh8Nzk21le6y42Jv7dj9b/ZqLc8UnB7WrJWs9Ji8JyYJ upsgY6DAXwlPiZfo1PLGtk6CzNyRoQ3ubcTs4yi2I6SnYZ/zdK4nA2Ti+Tb7fCw8zofKHa io76Jcn60/lp4Ut9nh5He8eeK3/1f+ksNSeC/2/sI4TjevVpqjQSlTxA/PEL6EApa40hvb BfMht7XCoTjS9IXwLo5xRUCysRqqxGPRbn4i5IilClSjbTVXoqa8lQ3RrUgO/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076127; a=rsa-sha256; cv=none; b=N73zD64SAPTFQzs3bAPbcl7OzTGP+bQIJ9qGf1Fr2p+gdSUgrvjAN3Wx5ApKehPQ+JtsQz wmMKefmMeZPwDdACnr6PVTXijjbiHfaUYP4mi8RnzoXVWmx0J5jDyKJXCnYe3O3k+2dBOD oCdzPb9WjfA6g20VHCDFc//f2leArmK6A+gHHbMSP1Lmmu1Z9kI74byuPRWdv+2Vx0+/Zy 7mgMPoxB2jK8xcAzSRRpN08qkQY7iMAudeqIRW+Z2vhT/ZLA8P/Q2mP9mYjPuGuFk/htKV 9Eo4mYHiTodCMvbktVnA8u1uTpvq2TOTTtblKCyMzfPpH48gYlKQO12DAxxlIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll30LStzPkk; Sun, 9 Apr 2023 21:35:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZQfj081724; Sun, 9 Apr 2023 21:35:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZQfA081723; Sun, 9 Apr 2023 21:35:26 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:26 GMT Message-Id: <202304092135.339LZQfA081723@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 191d5e3704a9 - stable/13 - zlib: silence K&R warns List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 191d5e3704a96611dac2ebaa035fdcd3afd63be5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=191d5e3704a96611dac2ebaa035fdcd3afd63be5 commit 191d5e3704a96611dac2ebaa035fdcd3afd63be5 Author: Mateusz Guzik AuthorDate: 2023-02-12 21:12:34 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:20 +0000 zlib: silence K&R warns Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit eca005d8531fd153f46f941f3101e73cdf181a0b) --- sys/conf/files | 18 +++++++++++------- sys/modules/zlib/Makefile | 2 ++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 17dcd22facc7..d1024ae8b8bb 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4141,28 +4141,32 @@ libkern/strtouq.c standard libkern/strvalid.c standard libkern/timingsafe_bcmp.c standard contrib/zlib/adler32.c optional crypto | geom_uzip | \ - mxge | ddb_ctf | gzio | zfs | zlib + mxge | ddb_ctf | gzio | zfs | zlib \ + compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" contrib/zlib/compress.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-cast-qual" + compile-with "${NORMAL_C} -Wno-cast-qual -Wno-deprecated-non-prototype" contrib/zlib/crc32.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ compile-with "${NORMAL_C} ${NO_WSTRICT_PROTOTYPES}" contrib/zlib/deflate.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-cast-qual" + compile-with "${NORMAL_C} -Wno-cast-qual -Wno-deprecated-non-prototype" contrib/zlib/inffast.c optional crypto | geom_uzip | \ - mxge | ddb_ctf | gzio | zfs | zlib + mxge | ddb_ctf | gzio | zfs | zlib \ + compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" contrib/zlib/inflate.c optional crypto | geom_uzip | \ - mxge | ddb_ctf | gzio | zfs | zlib + mxge | ddb_ctf | gzio | zfs | zlib \ + compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" contrib/zlib/inftrees.c optional crypto | geom_uzip | \ - mxge | ddb_ctf | gzio | zfs | zlib + mxge | ddb_ctf | gzio | zfs | zlib \ + compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" contrib/zlib/trees.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ compile-with "${NORMAL_C} ${NO_WSTRICT_PROTOTYPES}" contrib/zlib/uncompr.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-cast-qual" + compile-with "${NORMAL_C} -Wno-cast-qual -Wno-deprecated-non-prototype" contrib/zlib/zutil.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ compile-with "${NORMAL_C} ${NO_WSTRICT_PROTOTYPES}" diff --git a/sys/modules/zlib/Makefile b/sys/modules/zlib/Makefile index 6391255e512b..178d3a3f7ab7 100644 --- a/sys/modules/zlib/Makefile +++ b/sys/modules/zlib/Makefile @@ -25,4 +25,6 @@ CWARNFLAGS.crc32.c+=${NO_WSTRICT_PROTOTYPES} # crc32.c:586 CWARNFLAGS.trees.c+=${NO_WSTRICT_PROTOTYPES} # trees.c:232 CWARNFLAGS.zutil.c+=${NO_WSTRICT_PROTOTYPES} # zutil.c:27,32 +CWARNFLAGS+=-Wno-deprecated-non-prototype + .include From nobody Sun Apr 9 21:35:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll521WVz44JRk; Sun, 9 Apr 2023 21:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll473rFz4MQq; Sun, 9 Apr 2023 21:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hb94c2Rqqgu6eWFdRXnzUXoGL+DPgMYEEIIa06r6tSk=; b=Ddg3eTIgNiPUdQD8kblfotIqG34oOZA49LH+0iArTv50SKxEjBXAlu2JW2QQ4/Z/sM1L3I b12leQQToTZLBgpkrWp3cYhcVlKKKvueNAkdtprQ7YnleaNGobI9lDZ/BbsyhcSVKalWxX SbGrwkTZBHA0dCWrwngCLmFnFxQn5rWpSBqm/4geJJt9HOXbDd1Bsh/4ZDyvTxs9xH+fBh 2sj+AcuCEVKbk1V3VHo4nPbhid1JBSffTKkBuoI77ttP/cVDjyUan+By3f2+dFFAEWyjgp YBvczfyQyOyA7b8TZVWD4129Ulxxs8YlsGSPfroLgyqJuzOxjh5K0OqDPG7mAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hb94c2Rqqgu6eWFdRXnzUXoGL+DPgMYEEIIa06r6tSk=; b=dv7Q+IOfhZorV4SUqq72Nppj0o5aXYMjqovUAh9WDyg8BFoFxI0f7HbVeNmqHzBxKpPz2e ztqcYHcboeCPfZqWbjI4vln4DKGF5GW5FWvm7gEmZdFQoRy3qWSyfSUlQxP8RcrfH0wm4R Boqdg/v/94FpfyEhI5rBI2cU72xd7GHJ9Dtgzocc3xOhyrTZtgykjlFCHIbR/qjYDCOfIQ rm4TufYgAI5RJY3q1L2C+klJsPuD5d5HdBSsbDYPLklvzDSM/TJs4AlxBHXDPNkE6zpvec FTc1c23AcdO5kKm8N/epvroJhmKxr9So64zOj4UYd0zW2UbG+jflo3ZduK8kqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076129; a=rsa-sha256; cv=none; b=Ij2rlX+lss6oyIxTQO95YCPND4FmDRKvVUOOLttzc+JNm3TBq4nQYd6t26pMi8TLn+b76y aaj9yDD4H181vu2+bpe4DvrmUBNgdNElZPQr8LJXl3NCJjNJFXpnJR6uzKs9jM1rmxWMzm jC4RvPeykeXrAG7To5LRHajqeetn0TL4m/U0yFwhN7tUxpOIMfztCJp0MN21uVs35UKX7H iD9sVBxil12JkYSajo9kNYQLBunXhax8Pk5xIE+CFsk1/lA+yQg0gMQVtfJq1APknGgAEO JNxSHXqeyk6mX0SRZNrj2zNcsgDcADixug/CarxnlR/hH7BcYg9Onw1HFsRMJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll41H6WzPKW; Sun, 9 Apr 2023 21:35:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZS9c081743; Sun, 9 Apr 2023 21:35:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZSB7081742; Sun, 9 Apr 2023 21:35:28 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:28 GMT Message-Id: <202304092135.339LZSB7081742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 31f9f7037bc7 - stable/13 - Properly conditionalize clang 15-only flags List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 31f9f7037bc786afd40fe204b0eefedfbcec4915 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=31f9f7037bc786afd40fe204b0eefedfbcec4915 commit 31f9f7037bc786afd40fe204b0eefedfbcec4915 Author: Warner Losh AuthorDate: 2023-02-13 15:19:00 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:23 +0000 Properly conditionalize clang 15-only flags Sponsored by: Netflix Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38550 (cherry picked from commit b9f235ba3178e5315cc1c77c87febd033cf69b3e) --- sys/conf/files | 20 ++++++++++---------- sys/conf/kern.pre.mk | 5 +++++ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index d1024ae8b8bb..2258acd4c9e7 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4142,34 +4142,34 @@ libkern/strvalid.c standard libkern/timingsafe_bcmp.c standard contrib/zlib/adler32.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/compress.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-cast-qual -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/crc32.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} ${NO_WSTRICT_PROTOTYPES}" + compile-with "${ZLIB_C}" contrib/zlib/deflate.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-cast-qual -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/inffast.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/inflate.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/inftrees.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/trees.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} ${NO_WSTRICT_PROTOTYPES}" + compile-with "${ZLIB_C}" contrib/zlib/uncompr.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} -Wno-cast-qual -Wno-deprecated-non-prototype" + compile-with "${ZLIB_C}" contrib/zlib/zutil.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib \ - compile-with "${NORMAL_C} ${NO_WSTRICT_PROTOTYPES}" + compile-with "${ZLIB_C}" dev/zlib/zlib_mod.c optional crypto | geom_uzip | \ mxge | ddb_ctf | gzio | zfs | zlib dev/zlib/zcalloc.c optional crypto | geom_uzip | \ diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk index 5fba3e58295b..a12aff2c2816 100644 --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -296,6 +296,11 @@ DTRACE_ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${DTRACE_CFLAGS} DTRACE_C= ${CC} -c ${DTRACE_CFLAGS} ${WERROR} ${PROF} ${.IMPSRC} DTRACE_S= ${CC} -c ${DTRACE_ASM_CFLAGS} ${WERROR} ${.IMPSRC} +# zlib code supports systems that are quite old, but will fix this issue once C2x gets radified. +# see https://github.com/madler/zlib/issues/633 for details +ZLIB_CFLAGS= -Wno-cast-qual ${NO_WDEPRECATED_NON_PROTOTYPE} -Wno-strict-prototypes +ZLIB_C= ${CC} -c ${CFLAGS} ${WERROR} ${ZLIB_CFLAGS} ${.IMPSRC} + # Special flags for managing the compat compiles for DTrace/FBT FBT_CFLAGS= -DBUILDING_DTRACE -nostdinc -I$S/cddl/dev/fbt/${MACHINE_CPUARCH} -I$S/cddl/dev/fbt ${CDDL_CFLAGS} -I$S/cddl/compat/opensolaris -I$S/cddl/contrib/opensolaris/uts/common .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" From nobody Sun Apr 9 21:35:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll55wVDz44JLr; Sun, 9 Apr 2023 21:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll53jbzz4MTy; Sun, 9 Apr 2023 21:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8VIvXnafN5fHoGBB9dtvXkfQrFuFndjosdoAOE/6Ak=; b=tTMNf/W5TZYoymc6eKGpCCLlF7WTrDJHrflwMhu19oOdPNRKMT7g4wyZr0iUnIEdwLq8vI ZT9iEuvG9GQIEzcWm0uNCRLwKYzKoTBBmfiXe1B9gtezsQsH5YjagqUzOhBbqbscA3bw4j 07BkzcfgbW2tuvOXl+R87Yc+o9in8dQXfYPafkQ2mKQ1miQjdsbhvPVx7a3nmcRTauG1ql e0tvOABcyArzPL0k7V1T7wOgIO7brTptyLTIn2x4FHVZfz0MaV87oVNK1UPwr7x8FKeUzq mrywJSjY+L0UqMG6exxAGCsywHCSXFe2HBMrEQXHzIDeAlj6yKWmOYVCXeBDkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8VIvXnafN5fHoGBB9dtvXkfQrFuFndjosdoAOE/6Ak=; b=VFQOtr/lUAEcpzOBajbCOVocEFzW7X1ja+8G+8xNVOiaV0C2nHsw+w9W9wDgms6AKR9uQ2 RtlcLYpwwcUP2twLhUOudw664OAsmERV8FYXqpV5f0vdJ87yftpzuBH0c5IW9uXHZwx/sG cBnttJ9Ra5r90H2KHs6cgM6La2xVMaEHK2y5ufci6GS3gIYwbu3SifWfBVSYo9iqkrKISR 9EnRv15tt1caTHva5Eps142Zxm3HKhsExy+MsgT3yFtAbAA/rfXuRZADqh3PvRij6gN/sm gTMxHJ95O2lwnbKNkBI24Q8/e8dsUSnUzjD+HjYnrbkMFDwvDqPgen4Xieu3Yw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076129; a=rsa-sha256; cv=none; b=DIbj//7sVJf76XnE4ew+eK+pUTI508ZaB4dU9kBCY022qAdYAkVh3kaVIpbEpctfZSoGVh 1YV/XVILWYJ6kWcTcmpEZmTNjd65s/ALSUyH6kLoaDALm4j0DfAfOgPujtzKNq+QKQzq44 PVEAk39gaP5jJjh2x2Dqa7/TAMuYBnazOF6XAC606j3rVledDOV2arWXVB7Kg9bcn139Al 2a1bPy2yLqK2zPn5T7u7TbIoUV0c7rNSVy6GJ5sao8uQR37Ur5yBe/1z/0OEBGvZcpHCFx 7fpszdXwD3RpwP7tEE3kTgskkCcDHtfaxY6/rvHiuuIBVIzUN20YkflUhcBb7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll51sD5zPF3; Sun, 9 Apr 2023 21:35:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZT2j081768; Sun, 9 Apr 2023 21:35:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZTZA081767; Sun, 9 Apr 2023 21:35:29 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:29 GMT Message-Id: <202304092135.339LZTZA081767@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: f80ddde258be - stable/13 - bearssl: Suppress warnings from functions that have no args List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f80ddde258beb49d8e12a921743e5bbfdd226506 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f80ddde258beb49d8e12a921743e5bbfdd226506 commit f80ddde258beb49d8e12a921743e5bbfdd226506 Author: Warner Losh AuthorDate: 2023-02-13 15:19:40 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:33 +0000 bearssl: Suppress warnings from functions that have no args clag15 is much pickier than others, so suppress the warning until upstream can be updated. Sponsored by: Netflix (cherry picked from commit 9768746ba83efa02837c5b9c66348db6e900208f) --- lib/libbearssl/Makefile.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libbearssl/Makefile.inc b/lib/libbearssl/Makefile.inc index dd0e242c8ef0..2af4864d8441 100644 --- a/lib/libbearssl/Makefile.inc +++ b/lib/libbearssl/Makefile.inc @@ -4,4 +4,4 @@ BEARSSL?= ${SRCTOP}/contrib/bearssl BEARSSL_SRC= ${BEARSSL}/src CFLAGS+= -I${BEARSSL}/inc - +CFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} From nobody Sun Apr 9 21:35:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll70R1Qz44JV2; Sun, 9 Apr 2023 21:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll644g4z4MYp; Sun, 9 Apr 2023 21:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n0ozjufT0Qm2dozEgdP/u+gJW2RB9QDDgcLmhra1wlQ=; b=RQpf+Z6sw5/xBtp8jDRa90AAvlDWukz7Pnsjlu7Tk7wcS+m8KRaZpAZ38RLPPGzQTJJ09F JPDpXiK4hfcPRoqo+0pWI8FXVBTOPI0kL02kGh29j0CvqYoCP6KI5Q6uWTqUiUh17u0J1l oOUPuaxWnhnK4nPBgk1m/HfcWSG1FSH1XFCibE+KipTKa7Da/pHcTxqqpIaOCYR/M9j3Y0 dHZfy3qN9+5avY8qw+Y6uenfZPCSOD2aZGfMStFCMbx0Ask/d/5g05hdve7AmglhKE9ePX QQr1K1EGVTV/9m21IebH5THwDVYxE7jcAug170cX78riwEtfqMxuDYo0dhnRlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n0ozjufT0Qm2dozEgdP/u+gJW2RB9QDDgcLmhra1wlQ=; b=TC31lw6Tw2sV0ierhE8VPzAzPFj2F0eCozj0jbRmc8lhlGoYtRtDsZHf6y4skGOke4TIL2 1QzS2nNF/SUjU3UilbGKGgfkKlk6G2T8XYQ3bKrbnFScHHAO9kmtxO261websnKDecQm0x VE0PQasB/bpN205ABQQuLKVs2YU5TG9W99uPFW7N2IGkyNeVa8p3Ot1vA/4vseRqiTpQRu Exvj7VACsjOIMDqzx+1qDR/058EOjAuBKVG4HMNqjL1qZLv6wz1MsHWUw1cLdLAlpd+awU gcuvPofMaLG3Rwg5PdhzLCZ1CEuqXolzbHudmoV3PEExNzl+U4ScwJuPCgcAag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076130; a=rsa-sha256; cv=none; b=nET/k3Dvklx0v3mOmE7gJ/Q5fdJ4WiCtPK0fH5kcA8tuTidywUDosG0dvUBaC2Tc2zVuTk Rjtce/jo5+uX1yO+g8hWTPiiqIzjSlXpMqZaoKax1BNZ4e/11//b3rSI1RtKQ/azEunB3z kKgUwczerYAOFSeMVvqCdp8h6MHcSy0sGgt3hnIRs7t7FHeBMxSgzvvgTtANn7xcartsEs 5ZfEKZSMWscSrpwPOBPzmxq1J6TzdvMJzNF5ZmqA7EcDmjSzkz4d5tC44KlthP8YJmeM1c NOUtB4jAPoK1rA4MKm2kWWS38eJH0LpuK8tR7DFpjhLuj2fqZfOrZvnB9XWZyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll62r4rzPF4; Sun, 9 Apr 2023 21:35:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZUo7081789; Sun, 9 Apr 2023 21:35:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZUYG081788; Sun, 9 Apr 2023 21:35:30 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:30 GMT Message-Id: <202304092135.339LZUYG081788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 90b910f1534f - stable/13 - zlib: Use NO_WDEPRECATED_NON_PROTOTYPE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 90b910f1534fc6f76b79db9107032ee4395ee94c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=90b910f1534fc6f76b79db9107032ee4395ee94c commit 90b910f1534fc6f76b79db9107032ee4395ee94c Author: Warner Losh AuthorDate: 2023-02-13 16:15:58 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:37 +0000 zlib: Use NO_WDEPRECATED_NON_PROTOTYPE Also add it to kern.mk so it's available for module builds. Sponsored by: Netflix Noticed by: mjg Fixes: b9f235ba3178 Differential Revision: https://reviews.freebsd.org/D38550 (cherry picked from commit b80185c267243a57bbc3e03fd2b47680672d6050) --- sys/conf/kern.mk | 1 + sys/modules/zlib/Makefile | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index b6b59a9f13b3..4abef91c7805 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -53,6 +53,7 @@ CWARNEXTRA+= -Wno-error=array-parameter CWARNEXTRA+= -Wno-error=deprecated-non-prototype CWARNEXTRA+= -Wno-error=strict-prototypes CWARNEXTRA+= -Wno-error=unused-but-set-variable +NO_WDEPRECATED_NON_PROTOTYPE=-Wno-deprecated-non-prototype .endif .endif # clang diff --git a/sys/modules/zlib/Makefile b/sys/modules/zlib/Makefile index 178d3a3f7ab7..b5a55b9812bb 100644 --- a/sys/modules/zlib/Makefile +++ b/sys/modules/zlib/Makefile @@ -25,6 +25,6 @@ CWARNFLAGS.crc32.c+=${NO_WSTRICT_PROTOTYPES} # crc32.c:586 CWARNFLAGS.trees.c+=${NO_WSTRICT_PROTOTYPES} # trees.c:232 CWARNFLAGS.zutil.c+=${NO_WSTRICT_PROTOTYPES} # zutil.c:27,32 -CWARNFLAGS+=-Wno-deprecated-non-prototype - .include + +CWARNFLAGS+=${NO_WDEPRECATED_NON_PROTOTYPE} # https://github.com/madler/zlib/issues/633 From nobody Sun Apr 9 21:35:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll86dZpz44J91; Sun, 9 Apr 2023 21:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll81s8gz4MRR; Sun, 9 Apr 2023 21:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+8iztwTOzStrZyoJIEJPhmeDHpgk4K0PXQ5jB+VT0gQ=; b=tZ5HnnkYqzsThUEkBEmyzuSs8NFiQQdOwUKtHCmYw8JsRjsikUS02a+nBrLA7IQnWECykW G0znepAnpjJLnK2feAuBGA6G6LEWlQvqWpbftWyafnBFa9RSorK4sgrkK/qF5mJZxhYolE 2KyDCS2Bvmi/xbfqkr83CiKlbwzaVGKqZIQ5gU/D21YA3gEohw4ukPMEyL4rcnEbCvrsIb DcRyYYjBXFimxHReZz4DbsuQ8Co1DF7Qos0WrMxVnZzLiW+4b7CpfNbKzOs60lbeF7UBH/ BUON7vvutPKI/xDFDAB2Yy87K1YDk0VMJT3JQdBbNjd4I7kjeJhdC1LSyqCxbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+8iztwTOzStrZyoJIEJPhmeDHpgk4K0PXQ5jB+VT0gQ=; b=bDVQmF9QWmt9HrMHqKN5HjYNC09C4SSOTdWOV+YxE5l7XXZzBKdVa5gFL4FrGpaxl9agzb glopeFPeGP6P7lKSPoq2ZSP/Nbj/D97NlIbXVAc/nJU78nSyrlba9y83onz/iisWk01zMA Cd1MPmfJY/MPJBe+2jX2M2dEHGcmzMtWdGESSrF1GkzW420Il1GUs7qZVzXQnd/pvsbNcG hQdktceU+GS2RncJol2ZOS3EKeQ6wKCoTJgyEI4WCbDeHPhiQMCX1wUl+oKw1lHHZYi89U fYuArilxlGwzecjDtX+gpF0oekpb5HXo7dw7BRkyqcieizq/YrViKWHEAcp8rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076132; a=rsa-sha256; cv=none; b=Qm3nyia2SzyXpyqS2rhtIxzCzTfdJiBW1yOHdjgxTf71h1IBWA5wpsCBjxLKUVJMq2mX9J NiKcOIuRWFZSt4O0plFQksloxJtV5Tv8KlfM8Mq2G80ckwwunZ0ppxirEyx+iDGAqhvlcb Qoxbp+ybHYR+ewegfLoMvJIu8zWDENQf6zFehsdQ74XzTKNG9Wg78XizVKtm5Xt+vzbLpg QBMoMns/Uf2ycDvOUXYsVBtPYa0GEhYN9BIths/XRgqz3FGsbcIGlfT9Yn3Z4oBrmpkeCc mmoB8hS6aDEo2MmCqHsGl6SmfiYz5avGZTByzqnToQzLUJ9Za5FTAN2nqaeCRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll73d9VzPF5; Sun, 9 Apr 2023 21:35:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZVJm081808; Sun, 9 Apr 2023 21:35:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZVCn081807; Sun, 9 Apr 2023 21:35:31 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:31 GMT Message-Id: <202304092135.339LZVCn081807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: bda1244f0193 - stable/13 - sendmail: silence K&R warns List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bda1244f0193ba23ad20c721796ec58b2bb7d991 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=bda1244f0193ba23ad20c721796ec58b2bb7d991 commit bda1244f0193ba23ad20c721796ec58b2bb7d991 Author: Mateusz Guzik AuthorDate: 2023-03-16 18:18:48 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:45 +0000 sendmail: silence K&R warns Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 95a2b4d17234fb78177add37c8882d133855c3d0) --- usr.sbin/sendmail/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.sbin/sendmail/Makefile b/usr.sbin/sendmail/Makefile index 3a74a200f2ed..12e58ac3df5e 100644 --- a/usr.sbin/sendmail/Makefile +++ b/usr.sbin/sendmail/Makefile @@ -62,6 +62,8 @@ CFLAGS+= -DTCPWRAPPERS LIBADD+= wrap .endif +CFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} + # User customizations to the sendmail build environment CFLAGS+=${SENDMAIL_CFLAGS} DPADD+=${SENDMAIL_DPADD} From nobody Sun Apr 9 21:35:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvll94w6Kz44JM3; Sun, 9 Apr 2023 21:35:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvll90Pcfz4MXV; Sun, 9 Apr 2023 21:35:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvcIRozp6LkNHcKuVVr5zM2Xi1uZe+ohps+fuV2QBC0=; b=CCrWt48OeL0TQzUVof3s6mBn9vSXRvrm8m3xif5B1oMQh4EnXJ0pmMkGDdK/udaaMch1yk wUsXy6lB5I+EZb+DCRkDT14qhTzQ9KucEx3cOSfQfCJdEGdRvTq+ghVoS9mkqS6lpC0FCv /JctHY54UvektPsDkzLY+paec3Qg+My2qQppsHCSmGaN2q3sNSglWEzJBVu3iGQNFbhsvf Vt3E/G1fQsFKcca+eEwOPFPG4vUGrgElZKUyWLL7b8T8xq3U/4tkiWCU8akxc34Hv9wX63 HBJfWjPhX0prScTgTafWOgdxlQ58javuwZ16CLhiEtBiDH/Vx7UmVHXm3IgXIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvcIRozp6LkNHcKuVVr5zM2Xi1uZe+ohps+fuV2QBC0=; b=DiqbfBd6zib1S1foVHMVoUGwYkBOSTV2u0dIf43hWEaUvg17tXroRnhwJuRf3WKdjjHNW2 MC61xnbEksHC0/JiLja4yMj1ddgbGUItxedBFV0qGJDve4U1e2vdb6vFzFiqI9qkY03oF6 8EQSzDAyi4OeUe6eYT+eBZOkDPzD6v5YqNFGeA8WB7CmEyoMp1sfn6zCq3EBRqetcHs8aw SwHxMdI7B6sbgByP/4GqyiX9CGeYPcrIXQAUVG7LYLJJXmsSMTENEbjp6TsvNhulCl6qBw qsSRHaSovJrP3px5U4wLOOEV/BcDupPuwtAKz9vm7AILIzolJQvaS01UHokHEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076133; a=rsa-sha256; cv=none; b=JOgCgGIZaXnRGTNhOgGZPHy28tZ4nqz6ueIrBtD6RLKo7yZjBq390jXdTUITHJ7IXz6/O0 uX4NHpso6v35p1xtaNFOkJ/aNRpUXfhdViVq3FLFl/hh2ut4jerjmkM/Y7By0H1+++SLdS prSz2pNSwZgCLKU6JRrm+/nnxlHvjBQbt4DIcCNQ6WWkTfEGGelmh2lY9rU/fzN5jS0QbP tZ9hlLrL49nOiHsyZ0tUakjMEoKtlLmyavQE9UluNHgz4ree16kyKAf9K3P1U+W/O+BPcT ciu4l31NzlZMGqOZrBQA5uP1sPvzHqBt+Ep7sM5KstcC7GbOM1OzHqaRbRnAfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll84lDPzPhH; Sun, 9 Apr 2023 21:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZWqe081827; Sun, 9 Apr 2023 21:35:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZWrN081826; Sun, 9 Apr 2023 21:35:32 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:32 GMT Message-Id: <202304092135.339LZWrN081826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: f7ddc6a1667f - stable/13 - libz: silence K&R warns List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f7ddc6a1667ffe4f6fa563f22debd10cc63ff637 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=f7ddc6a1667ffe4f6fa563f22debd10cc63ff637 commit f7ddc6a1667ffe4f6fa563f22debd10cc63ff637 Author: Mateusz Guzik AuthorDate: 2023-03-16 18:22:24 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:49 +0000 libz: silence K&R warns Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit de0009f001c2aa0bfb9349d9e08199c46b1af707) --- lib/libz/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libz/Makefile b/lib/libz/Makefile index d6155b6955a6..11df0801a7b9 100644 --- a/lib/libz/Makefile +++ b/lib/libz/Makefile @@ -53,6 +53,7 @@ CFLAGS+= -DUNALIGNED_OK VERSION_DEF= ${.CURDIR}/Versions.def SYMBOL_MAPS= ${.CURDIR}/Symbol.map CFLAGS+= -DSYMBOL_VERSIONING +CFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} INCS= zconf.h zlib.h From nobody Sun Apr 9 21:35:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllB4Pr9z44JV7; Sun, 9 Apr 2023 21:35:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllB0Npxz4MRs; Sun, 9 Apr 2023 21:35:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=weFFw6ZIEXdfRY1+9a5h+px4hX9x43+0GUNszXCRRVg=; b=nWMqi33WI1HZcwZSPQR4NZKqDq1Ko86XUk5sFAkRIhH9nmyaYhksB3Gz8tuytRcOJozHY5 2wFAPzxT8A9jKmBEoSeIpumsUB8MhMjarjGW4xhqM5relyJtr4IxFsl9B4Gx08nU/+Pghb 6yl4/hXk/8uvnyNFzFqhD2/q09DK4f4CGdwh/cYUAmn7qLvu7UThx1D6RSU3i/V7Y33qme mwJKATahGKTl31yK4J0wasyu46E/NblzU5t9QZSIZZsG+0C/nWFa7BRrprUXASLsNIUjua 5XhgKLUeMESDaHSJph+LLnRUrsiFfGW1M+nCDSQ2XttsVCsWBqj881WsYN0YjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=weFFw6ZIEXdfRY1+9a5h+px4hX9x43+0GUNszXCRRVg=; b=ZOZpB4vij0wMAGLMq+uBb8jFeiUDSurgXzRJ+IIUbVAp5dJ+FcSrCVUfGJFp1JNJBr21el P+1ZNyUUzdujM1w1xFvNFv/2iR6K4Zo024hlJBbBf5v+mK2Qcw3B6VUmSD0yNXTL6X+OHb 8Go0806jo5q4BaDzjFzotvnuapY73lgznP6PpFpPa9hsfUvV0hSa3eWlltuK3fXeO/oyRt XFwumRsZV4a2LIPp6LdLF3qepbO2BImusVaD5tgEEM+mKIp96eU94OLnBDsulv9BRzC57j IQfZE++HhbfA5/tkXYUnot2oCnPNPrL3PI2wX+VkCFbl64kJHEmYOTEbmG1Wcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076134; a=rsa-sha256; cv=none; b=HVwuZH7lxCg72Npc5R6IoFVylTPlySx+fT4EMS74f1NDgErmsMMg1vTWJ9qjUjwCTmO7Qw bO/J4HK/ItOlsgxFVwylkpCyQBEfEdgHBrP8nS98+plbl24WHshTrfbtF5V6zU13WFfDl5 3UjNZknwmHA8817hPAOgf2p5FSqg37H20XJxToBckYyUCIUfdcyZIPgCHhunHKPwQMugC/ cPXn1ue8FjfiHTTqkFFiAYclLvrfAh7tmGEL/veaZJ0P3YkKDL7TIQtCFYK2rJW+cxisk9 Ww6QhBePQxgFPrQ1DNOEirXonJle6g4rYzpz+YQFoEpTyqxZDIeLLUqWGfG6pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvll95VkHzPf9; Sun, 9 Apr 2023 21:35:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZX4u081846; Sun, 9 Apr 2023 21:35:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZX5F081845; Sun, 9 Apr 2023 21:35:33 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:33 GMT Message-Id: <202304092135.339LZX5F081845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 6f2a60511cef - stable/13 - less: silence K&R warns List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6f2a60511cefcd38cb59c2368844861c95f65f64 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6f2a60511cefcd38cb59c2368844861c95f65f64 commit 6f2a60511cefcd38cb59c2368844861c95f65f64 Author: Mateusz Guzik AuthorDate: 2023-03-16 18:24:12 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 14:56:53 +0000 less: silence K&R warns Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 3451ed888e7519ba620e7372ba620500c47bdc8a) --- usr.bin/less/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/less/Makefile b/usr.bin/less/Makefile index 012554401d20..4719da5eaaed 100644 --- a/usr.bin/less/Makefile +++ b/usr.bin/less/Makefile @@ -19,5 +19,7 @@ LINKS= ${BINDIR}/less ${BINDIR}/more \ MLINKS= less.1 more.1 CLEANFILES= less.1 +CFLAGS+= ${NO_WDEPRECATED_NON_PROTOTYPE} + .include "Makefile.common" .include From nobody Sun Apr 9 21:35:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllC6L1rz44JY4; Sun, 9 Apr 2023 21:35:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllC3PyTz4MrD; Sun, 9 Apr 2023 21:35:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5V6wThQlLNsLFmRdp0gT6TcVaQfDQrv2xbgo/9KpTG8=; b=P/SWIIcYSeLuGw4Y5+Oz8Hx0rfKa2Npfj5WXk2MmzgkGvIQx3uNG77hld/vI5K9/fxo0s2 cFTFnW8EGMMCmr1oTLI6FLMy3HMTDsMZ9S1U153PLDFFRQz6orjoS79kQxsCxR8GybeFAs 4e5cP8upq1O3IEvkCWpv2lb4ZyYkpWpq/8tg3UDrrWa1BPOI8H5dYXVbTsl+BMdgBFgrw1 8VLE4P42dsI6D1jOPshZs4x18yPGz0LZ1cErKRgoSFNZ0Ru4SSyQpZL9gaLn4dBeKrfHId 7H3uyiiG62ODr1vgvMjlm5Sspp/UfnHduZRYKr4N2X2Hv8UVnTg7m1zZKdi4JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076135; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5V6wThQlLNsLFmRdp0gT6TcVaQfDQrv2xbgo/9KpTG8=; b=bwxhQW9SkYAL60w7cAQQ38BJ8elFP1c7nyph3onAOAMyOj9lQcU+QIOKFvKYhs01jIUqVg P9GL/M1fwOBsVSD3OyTbouHWUYgAsII3Gbs6DMjJ4MdjQNfa8kY10E/kLKwj/xusV1V7HZ Oxwpn9fYEj3gk69nK2IqV3x9vmePf7Tj83TqQkLOtTcuSevZqOMJ8gF4arfZR5TqC20Rlb yDa+XlT67wp5bN+2pnOf2vOzZCjo+7clnwLQ+2Uzr+oAl71UzSHfkeYQJm1ClBOmqaZThP LCxocNvlvk1tUgidmrJrwfehdfXI7zMJfEW0GI83wuMBeqhZFZxpff//kXIkyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076135; a=rsa-sha256; cv=none; b=IXeROSXP/F+5Pd5FxAWg/0Sah1EAWl6/VmjXuQhs7NQuPmgmtp36kMRx+R/qDfow7zakNB kzhMxqpNsG7rWRJjH1t/1slV5g10NdCeeUdlnH5YWO1vC6HYqNegi+Aikf6soRo8a11Gjg kFBSmSFh5mOceNr1X1gAXC02bBa1vnDuHVgU45M7ndgcwXY8WLaGJF+Ts76mdRjRrHso59 9z9o209PvO+05Xeq7pqH26sH4xOlEkNd9S/NnHmGxbAA4s3v3pVK8yDEl6ytqX6dDvnkuE WrxJNAZ7B+tG9hMWzD9ScBuuK6kNJ9Bm1ENGTziiJs2FdVZYzOoD8lYPqPSeEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllB6WKFzPkl; Sun, 9 Apr 2023 21:35:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZYCd081868; Sun, 9 Apr 2023 21:35:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZYRk081866; Sun, 9 Apr 2023 21:35:34 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:34 GMT Message-Id: <202304092135.339LZYRk081866@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 482a0e57303c - stable/13 - Fix unused variable warnings in sctp_indata.c List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 482a0e57303cc392fdcdeb53d4ef6adbaaba74c2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=482a0e57303cc392fdcdeb53d4ef6adbaaba74c2 commit 482a0e57303cc392fdcdeb53d4ef6adbaaba74c2 Author: Dimitry Andric AuthorDate: 2022-07-25 19:15:52 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:20:16 +0000 Fix unused variable warnings in sctp_indata.c With clang 15, the following -Werror warnings are produced: sys/netinet/sctp_indata.c:3309:6: error: variable 'tot_retrans' set but not used [-Werror,-Wunused-but-set-variable] int tot_retrans = 0; ^ sys/netinet/sctp_indata.c:3842:20: error: variable 'resend' set but not used [-Werror,-Wunused-but-set-variable] int inflight = 0, resend = 0, inbetween = 0, acked = 0, above = 0; ^ sys/netinet/sctp_indata.c:3842:47: error: variable 'acked' set but not used [-Werror,-Wunused-but-set-variable] int inflight = 0, resend = 0, inbetween = 0, acked = 0, above = 0; ^ sys/netinet/sctp_indata.c:3842:58: error: variable 'above' set but not used [-Werror,-Wunused-but-set-variable] int inflight = 0, resend = 0, inbetween = 0, acked = 0, above = 0; ^ The 'tot_retrans' variable was used in sctp_strike_gap_ack_chunks(), but refactoring in 493d8e5a830e got rid of it. Remove the variable since it no longer serves any purpose. The 'resend', 'acked', and 'above' variables are only used when INVARIANTS is undefined. Ensure they are only declared and set in that case. MFC after: 3 days (cherry picked from commit 05b3a4282c408f495add570bbca12242dd006279) --- sys/netinet/sctp_indata.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c index b8bfaf164904..aa6787257a13 100644 --- a/sys/netinet/sctp_indata.c +++ b/sys/netinet/sctp_indata.c @@ -3837,9 +3837,10 @@ static int sctp_fs_audit(struct sctp_association *asoc) { struct sctp_tmit_chunk *chk; - int inflight = 0, resend = 0, inbetween = 0, acked = 0, above = 0; + int inflight = 0, inbetween = 0; int ret; #ifndef INVARIANTS + int resend = 0, acked = 0, above = 0; int entry_flight, entry_cnt; #endif @@ -3859,13 +3860,19 @@ sctp_fs_audit(struct sctp_association *asoc) chk->snd_count); inflight++; } else if (chk->sent == SCTP_DATAGRAM_RESEND) { +#ifndef INVARIANTS resend++; +#endif } else if (chk->sent < SCTP_DATAGRAM_ACKED) { inbetween++; } else if (chk->sent > SCTP_DATAGRAM_ACKED) { +#ifndef INVARIANTS above++; +#endif } else { +#ifndef INVARIANTS acked++; +#endif } } From nobody Sun Apr 9 21:35:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllF5lYGz44JVG; Sun, 9 Apr 2023 21:35:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllF3RQjz4Mv8; Sun, 9 Apr 2023 21:35:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7AOBekUoDF6tGbBn87EOOaAWDzTYeBHb7W9en2vd50k=; b=MkzQhQtgjje6iZjGOwA2tlQMMG7coYUinZupkmW1mncMPzzp35iIwfbtLEYUQ2zcSYbyN4 UOx2ktOahDT2gAAVm0AIh3zgWdGjqjVLAa3oS8tNHqIuE7ThGSbCMs8rEYBiTXBPPwn7Zt kIUMjvVV7BPoKVO79q6TyRHGEu6YdrWpCieMzGheSknUUDPy1qjNm9MlzLvS8XbLW0c+fr Ha2kMrPitTV8JGyQT5habL4ZkZsfJAgdkVdgluIZpsJ387XCtECsefSvoXo26+N9r5gi8f PJoHfZrTdI6DsxYVlexOOLG/YbELHSqsIptUs+3X7MQwjrtYiq0LoiwEGcDxNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7AOBekUoDF6tGbBn87EOOaAWDzTYeBHb7W9en2vd50k=; b=Yg3yyvKp3PVkvXkF0l9QkOm9mgiTZivsBC0K8vD7jRnKjF+AGQlr1viziyCoGAk8qCyqdj Ax9vO9Kjiy4Q/HiMoX7omBKRz6A+p41nt35YTer74dfKTVBSR8Lh4EHLRamXRJF7SL9A3r tduGRprIbnqwW4eKbzHEEI6iAVpFoa2CQ8s6trP2qW3rwl7Hh4uC0IU5td3+ccEHU7mYby azkOtu15GQ9MuJBKE+OE5tPFXBkqCX0zFspsEBwWZkp+1rfSaI/XBxiIR4gFAvU2CXX8Rd bSgyA+dPgwIHvqJBWRejtGHrrgdihR85qR9eRINpvslaRe/s7FvA5+tKnkyu9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076137; a=rsa-sha256; cv=none; b=aN4zX+bFhxRNTnhkete1WO4iVtFdZ2PwKofod3DoBh3r5/QU5cO7O7z5t9BVTqHg7gqmjF AeBWu7C2iKkUYjsnIysqjHYoYglUQ0xjEqTLOR/zyg1TS0IBLfj3dHDFfshSvuoiXrG7dn 9Lso3gz7cmedByIw8wk14fd0voWTf7ltbIXzZUmEZQAtHA8MbB5KFM3B01zDbXUsaQWNTW cyyOKZhP2FKYDn8Cvah9VImxiqe4DovKk+e1LNnVM3Nhvy/t6ExO44CvAH/Rhinea4cLvq ja6qm1znd1Z9ULnVZvt7sV1mK8PDw3GMFc3jEAX2Srk0PmQ2YoBBJOl1PslHrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllF1SCczPcR; Sun, 9 Apr 2023 21:35:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZbTv081920; Sun, 9 Apr 2023 21:35:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZbdG081919; Sun, 9 Apr 2023 21:35:37 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:37 GMT Message-Id: <202304092135.339LZbdG081919@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 884bcc57c2f3 - stable/13 - amd64: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 884bcc57c2f336dee66b05bba5d9ec96ea952f65 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=884bcc57c2f336dee66b05bba5d9ec96ea952f65 commit 884bcc57c2f336dee66b05bba5d9ec96ea952f65 Author: Mateusz Guzik AuthorDate: 2023-02-07 22:52:06 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:37:09 +0000 amd64: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit b2c68dc6d9b31de853664ac9277816678d2c9181) --- sys/amd64/amd64/db_disasm.c | 23 +++++------------------ sys/amd64/amd64/machdep.c | 15 ++++----------- sys/amd64/amd64/sys_machdep.c | 8 ++------ 3 files changed, 11 insertions(+), 35 deletions(-) diff --git a/sys/amd64/amd64/db_disasm.c b/sys/amd64/amd64/db_disasm.c index ac71d7e06609..54f7beda1169 100644 --- a/sys/amd64/amd64/db_disasm.c +++ b/sys/amd64/amd64/db_disasm.c @@ -1045,12 +1045,8 @@ static db_addr_t * Read address at location and return updated location. */ static db_addr_t -db_read_address(loc, short_addr, rex, regmodrm, addrp) - db_addr_t loc; - int short_addr; - int rex; - int regmodrm; - struct i_addr * addrp; /* out */ +db_read_address(db_addr_t loc, int short_addr, int rex, int regmodrm, + struct i_addr *addrp) { int mod, rm, sib, index, disp, size, have_sib; @@ -1113,11 +1109,7 @@ db_read_address(loc, short_addr, rex, regmodrm, addrp) } static void -db_print_address(seg, size, rex, addrp) - const char * seg; - int size; - int rex; - struct i_addr * addrp; +db_print_address(const char *seg, int size, int rex, struct i_addr *addrp) { if (addrp->is_reg) { db_printf("%s", db_reg[rex != 0 ? 1 : 0][(size == LONG && (rex & REX_W)) ? QUAD : size][addrp->disp]); @@ -1145,13 +1137,8 @@ db_print_address(seg, size, rex, addrp) * and return updated location. */ static db_addr_t -db_disasm_esc(loc, inst, rex, short_addr, size, seg) - db_addr_t loc; - int inst; - int rex; - int short_addr; - int size; - const char * seg; +db_disasm_esc(db_addr_t loc, int inst, int rex, int short_addr, int size, + const char *seg) { int regmodrm; const struct finst * fp; diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 3c365b5d6e62..c27e15c7e1a4 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -227,8 +227,7 @@ void (*vmm_resume_p)(void); bool efi_boot; static void -cpu_startup(dummy) - void *dummy; +cpu_startup(void *dummy) { uintmax_t memsize; char *sysenv; @@ -591,9 +590,7 @@ DB_SHOW_COMMAND(dbregs, db_show_dbregs) #endif void -sdtossd(sd, ssd) - struct user_segment_descriptor *sd; - struct soft_segment_descriptor *ssd; +sdtossd(struct user_segment_descriptor *sd, struct soft_segment_descriptor *ssd) { ssd->ssd_base = (sd->sd_hibase << 24) | sd->sd_lobase; @@ -607,9 +604,7 @@ sdtossd(sd, ssd) } void -ssdtosd(ssd, sd) - struct soft_segment_descriptor *ssd; - struct user_segment_descriptor *sd; +ssdtosd(struct soft_segment_descriptor *ssd, struct user_segment_descriptor *sd) { sd->sd_lobase = (ssd->ssd_base) & 0xffffff; @@ -625,9 +620,7 @@ ssdtosd(ssd, sd) } void -ssdtosyssd(ssd, sd) - struct soft_segment_descriptor *ssd; - struct system_segment_descriptor *sd; +ssdtosyssd(struct soft_segment_descriptor *ssd, struct system_segment_descriptor *sd) { sd->sd_lobase = (ssd->ssd_base) & 0xffffff; diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c index c10b15896132..9a577e3e0817 100644 --- a/sys/amd64/amd64/sys_machdep.c +++ b/sys/amd64/amd64/sys_machdep.c @@ -391,9 +391,7 @@ sysarch(struct thread *td, struct sysarch_args *uap) } int -amd64_set_ioperm(td, uap) - struct thread *td; - struct i386_ioperm_args *uap; +amd64_set_ioperm(struct thread *td, struct i386_ioperm_args *uap) { char *iomap; struct amd64tss *tssp; @@ -448,9 +446,7 @@ amd64_set_ioperm(td, uap) } int -amd64_get_ioperm(td, uap) - struct thread *td; - struct i386_ioperm_args *uap; +amd64_get_ioperm(struct thread *td, struct i386_ioperm_args *uap) { int i, state; char *iomap; From nobody Sun Apr 9 21:35:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllF5qfNz44JKw; Sun, 9 Apr 2023 21:35:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllD503gz4Mjj; Sun, 9 Apr 2023 21:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ovg3J0X9ujSRyL2YYum1yisJp5A0RcPz47anhX++k3A=; b=MmhlbYpEQKqMBlUbWAMn86QsLoZOrPPmIi4ruHcZTp8kjAIFV8DEgQNtzizi55vbc86/D9 Vjjbb69xG0gTsHqqLwdoC+IbCSad1hBGK7mWNt4XNO7tLnlnU9Wl7q//tHdYcKMlw59+VS /lt7Z3KaTWe6QJSP/FB1q0NaLuoP6TiHkCxP2TbsdFdImyQkeyQg5tVZXHJEFzyN/DegWe 9xfCNhkEipNOyYpKZthSO1i+5m0nfrtOraSPGTU50vG8lr0liAhuU+0EMy49Ox0cWtOh/2 FMOEww1gCj/Jr3JVN8DX1YDZBWH/ju29WCbUXQJHVlbaiefmWPqlOjEIXYl2Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ovg3J0X9ujSRyL2YYum1yisJp5A0RcPz47anhX++k3A=; b=Eylv5b38XQADc3TiBnXQFL5QtPelKq4lGtHC3YHmBBVSts5PMwzgHPePBSnOieUv7QCBAS c+DUfc/TSKyLA3HNwkNWi0XmASx2dd3ESxeX0ni9l9oLsmct9kIdddei4pnJG4E+HS3gFA E3uzKgh+eS2bbwbGCLoKPP/dn226AsPe+fpVbwTY4KfdJ8SAt8OiMiiZz0/LHqJvXqjY+K sCgeNBL7JYfC5E6jPcAkI+ela+xpqYR3bAu+LkeDXObf+nYF79rgwbTSE4OXwqvRHP86RB gT5bCt6rs7bc6dBkKNqWTO2Fh6kwTLexokpmlLE0uyVVaV1C5ccuYcV504P9fQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076137; a=rsa-sha256; cv=none; b=n0bx/So1FPH44KL/CNvUAPAKI43797LiIscziUBRAycIiC2FOoRS0twCO2XXkYhWxZ9uHy ROK7xVKxahp4Gcgwfh09WAUj9rdCgsg5hS9O0IlIQ9odlF4t6MsJiJUxljv6pEA18f06QR cCm1iHhhOwdMXc963uE1gTMnN318E8Tx2PuFAdwzyIiJajOZjU4/SIthjojgG66mQm2WSJ zd4pzKvur7i2MDWZGurE0at8FIM2Tn+XygsMrio1kxo6DvF07j1IFCKaBigH0AOlvScEfQ G3Gn7hgjc4SfbQy10uzKE55lfHz1VxwwujpTFxZbaxvlyoBGTDbtqevcy2v10Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllD0PwBzPF6; Sun, 9 Apr 2023 21:35:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZZKg081901; Sun, 9 Apr 2023 21:35:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZZdT081900; Sun, 9 Apr 2023 21:35:35 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:35 GMT Message-Id: <202304092135.339LZZdT081900@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 29d88c3b0bfc - stable/13 - Update CWARNFLAGS in bsd.sys.mk and CWARNEXTRA in kern.mk for clang 15. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 29d88c3b0bfcd4974f7e84618bfb492ce88fffb1 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=29d88c3b0bfcd4974f7e84618bfb492ce88fffb1 commit 29d88c3b0bfcd4974f7e84618bfb492ce88fffb1 Author: Dimitry Andric AuthorDate: 2022-07-25 10:29:58 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:37:03 +0000 Update CWARNFLAGS in bsd.sys.mk and CWARNEXTRA in kern.mk for clang 15. MFC after: 3 days (cherry picked from commit 526f57bf85a2b9b113c55ded47b932abc8567bc5) --- share/mk/bsd.sys.mk | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index b11ba2ddabcb..cb4399610d0e 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -49,8 +49,11 @@ CWARNFLAGS+= -Werror CWARNFLAGS+= -Wall -Wno-format-y2k .endif # WARNS >= 2 .if ${WARNS} >= 3 -CWARNFLAGS+= -W -Wno-unused-parameter -Wstrict-prototypes\ - -Wmissing-prototypes -Wpointer-arith +CWARNFLAGS+= -W -Wno-unused-parameter +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 150000 +CWARNFLAGS+= -Wstrict-prototypes +.endif +CWARNFLAGS+= -Wmissing-prototypes -Wpointer-arith .endif # WARNS >= 3 .if ${WARNS} >= 4 CWARNFLAGS+= -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow\ @@ -59,6 +62,11 @@ CWARNFLAGS+= -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow\ CWARNFLAGS+= -Wcast-align .endif # !NO_WCAST_ALIGN !NO_WCAST_ALIGN.${COMPILER_TYPE} .endif # WARNS >= 4 +.if ${WARNS} >= 5 +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 150000 +CWARNFLAGS+= -Wstrict-prototypes +.endif +.endif # WARNS >= 4 .if ${WARNS} >= 6 CWARNFLAGS+= -Wchar-subscripts -Wnested-externs \ -Wold-style-definition @@ -83,6 +91,11 @@ CWARNFLAGS.clang+= -Wno-unused-const-variable .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 130000 CWARNFLAGS.clang+= -Wno-error=unused-but-set-variable .endif +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 150000 +CWARNFLAGS.clang+= -Wno-error=array-parameter +CWARNFLAGS.clang+= -Wno-error=deprecated-non-prototype +CWARNFLAGS.clang+= -Wno-error=unused-but-set-parameter +.endif .endif # WARNS <= 6 .if ${WARNS} <= 3 CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-unused-value\ From nobody Sun Apr 9 21:35:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllH5WGNz44J99; Sun, 9 Apr 2023 21:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllG70T2z4Mpw; Sun, 9 Apr 2023 21:35:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q8wFRKwqd66M6hVdy1WwQntzs3nwwz4Pa6J565hhFgs=; b=sJr3c4P3YmL6Oqedz7yn4nZN1gcVrxGxXeZ3UmcWc6olll2IPxLHbEhCA2LXIbH0J4vrnZ qA3eSQmp0drRvrjLW8lerOqU73wNf70E+mS9VbZDShSQTbC/mITKSydmGKCzE7Jt4aOOgk oJ1qcbEaFvrW5QtpxrT2EINd0irNSRkNtNYYl2liN+DJfHx8nB0csOYsnYus8sQPvEJ2L+ d/3YY7VItfKDNn0+Bg9pctzdQ6c4RlFuBSgrNJcRBmrost9Lo2y9Vm1VYjiMTDIBN18Y64 DNwflA2GboGI17kYFdb8DcFeyeVs8+qzr7+I4fRqBIUBox/uXWntaSiPMxG9UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q8wFRKwqd66M6hVdy1WwQntzs3nwwz4Pa6J565hhFgs=; b=sJa5UCivS0tbktXDE1DMiVOhayXvCE28Z3t/3qMXjBnjQjNSVLNJ/c/v3nGBm0cKITVWqM cJWvL5YjEuk6gkZzCTFcbE/nDJxR+I2cDNaOMiymAkNMlCqIUFsCHZ0bbFezdifRnHG10x Ks9+89Gu28z5JL10rtQ5grcX+uXBCizJ//HJ5NLLhIJOLX8UbOda2VW1C1ZhwFpfLrwZ74 TjCwXkX4zOF7PobxuTx1quY0TJk+yLU7u4zNwItIs2tBeuQph47RqSlJKoTl+7pWjmrqWh ic/CaISFYgk+IA7N103RCe1pix5K1YPvVcXCnC01wvk4eBdmY53YnAowcChz4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076139; a=rsa-sha256; cv=none; b=SzuPQXM2ig4wN8idi2ueAh1MmB/SBwntJ2zH9In4WSmtosTDb7TqB0TAcieK3pHZsGiUhp XNDxOUXnSIcHg6Ady2ZXVsIQ/rj25dc8BMW/D0Vb9Bzu8X81COChQXH+FhMlHasuMVGZmn E3qUO6tFM/P0rfmBWYpkI0z+JXFQvAA9VCMcA6kefknW9/v9FV3RBTkq9RftNHYbQnFY7k cZRnpeoP/ZcUwsP6ciZh8/tTbW7q4Jg4kzMIEA99wwbUKnVNQvEzBTbn7giWwfakgguHKe GAR4N1QnPxszfesJpZDLsIOzjG/X7pbmlgt2PmCe+/smFqGrY+JtOTV1c8XIsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllG2FdczPhJ; Sun, 9 Apr 2023 21:35:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZcI0081939; Sun, 9 Apr 2023 21:35:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZcc3081938; Sun, 9 Apr 2023 21:35:38 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:38 GMT Message-Id: <202304092135.339LZcc3081938@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b7ddd93c32a1 - stable/13 - vfs: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b7ddd93c32a1c1bd999bd13d3514e6b23cacf34b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b7ddd93c32a1c1bd999bd13d3514e6b23cacf34b commit b7ddd93c32a1c1bd999bd13d3514e6b23cacf34b Author: Mateusz Guzik AuthorDate: 2023-02-07 23:03:20 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:39:22 +0000 vfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 8377575772be0ed37eb42a0b08c684d9fc5c3e18) --- sys/kern/vfs_default.c | 161 +++++++++---------------------------------------- 1 file changed, 27 insertions(+), 134 deletions(-) diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 018660310e68..6201426d582c 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -236,12 +236,7 @@ vop_panic(struct vop_generic_args *ap) * Default vop for filesystems that do not support name lookup */ static int -vop_nolookup(ap) - struct vop_lookup_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - } */ *ap; +vop_nolookup(struct vop_lookup_args *ap) { *ap->a_vpp = NULL; @@ -500,12 +495,7 @@ vop_stdadvlockpurge(struct vop_advlockpurge_args *ap) * limits. */ int -vop_stdpathconf(ap) - struct vop_pathconf_args /* { - struct vnode *a_vp; - int a_name; - int *a_retval; - } */ *ap; +vop_stdpathconf(struct vop_pathconf_args *ap) { switch (ap->a_name) { @@ -532,13 +522,7 @@ vop_stdpathconf(ap) * Standard lock, unlock and islocked functions. */ int -vop_stdlock(ap) - struct vop_lock1_args /* { - struct vnode *a_vp; - int a_flags; - char *file; - int line; - } */ *ap; +vop_stdlock(struct vop_lock1_args *ap) { struct vnode *vp = ap->a_vp; struct mtx *ilk; @@ -550,10 +534,7 @@ vop_stdlock(ap) /* See above. */ int -vop_stdunlock(ap) - struct vop_unlock_args /* { - struct vnode *a_vp; - } */ *ap; +vop_stdunlock(struct vop_unlock_args *ap) { struct vnode *vp = ap->a_vp; @@ -562,10 +543,7 @@ vop_stdunlock(ap) /* See above. */ int -vop_stdislocked(ap) - struct vop_islocked_args /* { - struct vnode *a_vp; - } */ *ap; +vop_stdislocked(struct vop_islocked_args *ap) { return (lockstatus(ap->a_vp->v_vnlock)); @@ -579,13 +557,7 @@ vop_stdislocked(ap) * - v_vnlock pointer is not honored */ int -vop_lock(ap) - struct vop_lock1_args /* { - struct vnode *a_vp; - int a_flags; - char *file; - int line; - } */ *ap; +vop_lock(struct vop_lock1_args *ap) { struct vnode *vp = ap->a_vp; int flags = ap->a_flags; @@ -609,10 +581,7 @@ other: } int -vop_unlock(ap) - struct vop_unlock_args /* { - struct vnode *a_vp; - } */ *ap; +vop_unlock(struct vop_unlock_args *ap) { struct vnode *vp = ap->a_vp; @@ -622,10 +591,7 @@ vop_unlock(ap) } int -vop_islocked(ap) - struct vop_islocked_args /* { - struct vnode *a_vp; - } */ *ap; +vop_islocked(struct vop_islocked_args *ap) { struct vnode *vp = ap->a_vp; @@ -638,13 +604,7 @@ vop_islocked(ap) * Return true for select/poll. */ int -vop_nopoll(ap) - struct vop_poll_args /* { - struct vnode *a_vp; - int a_events; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +vop_nopoll(struct vop_poll_args *ap) { if (ap->a_events & ~POLLSTANDARD) @@ -656,13 +616,7 @@ vop_nopoll(ap) * Implement poll for local filesystems that support it. */ int -vop_stdpoll(ap) - struct vop_poll_args /* { - struct vnode *a_vp; - int a_events; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +vop_stdpoll(struct vop_poll_args *ap) { if (ap->a_events & ~POLLSTANDARD) return (vn_pollrecord(ap->a_vp, ap->a_td, ap->a_events)); @@ -673,11 +627,7 @@ vop_stdpoll(ap) * Return our mount point, as we will take charge of the writes. */ int -vop_stdgetwritemount(ap) - struct vop_getwritemount_args /* { - struct vnode *a_vp; - struct mount **a_mpp; - } */ *ap; +vop_stdgetwritemount(struct vop_getwritemount_args *ap) { struct mount *mp; struct vnode *vp; @@ -705,15 +655,7 @@ vop_stdgetwritemount(ap) * - Report no contiguous runs of blocks. */ int -vop_stdbmap(ap) - struct vop_bmap_args /* { - struct vnode *a_vp; - daddr_t a_bn; - struct bufobj **a_bop; - daddr_t *a_bnp; - int *a_runp; - int *a_runb; - } */ *ap; +vop_stdbmap(struct vop_bmap_args *ap) { if (ap->a_bop != NULL) @@ -728,12 +670,7 @@ vop_stdbmap(ap) } int -vop_stdfsync(ap) - struct vop_fsync_args /* { - struct vnode *a_vp; - int a_waitfor; - struct thread *a_td; - } */ *ap; +vop_stdfsync(struct vop_fsync_args *ap) { return (vn_fsync_buf(ap->a_vp, ap->a_waitfor)); @@ -755,14 +692,7 @@ vop_stdfdatasync_buf(struct vop_fdatasync_args *ap) /* XXX Needs good comment and more info in the manpage (VOP_GETPAGES(9)). */ int -vop_stdgetpages(ap) - struct vop_getpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int *a_rbehind; - int *a_rahead; - } */ *ap; +vop_stdgetpages(struct vop_getpages_args *ap) { return vnode_pager_generic_getpages(ap->a_vp, ap->a_m, @@ -789,14 +719,7 @@ vop_stdkqfilter(struct vop_kqfilter_args *ap) /* XXX Needs good comment and more info in the manpage (VOP_PUTPAGES(9)). */ int -vop_stdputpages(ap) - struct vop_putpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int a_sync; - int *a_rtvals; - } */ *ap; +vop_stdputpages(struct vop_putpages_args *ap) { return vnode_pager_generic_putpages(ap->a_vp, ap->a_m, ap->a_count, @@ -1331,39 +1254,28 @@ vop_stdioctl(struct vop_ioctl_args *ap) * used to fill the vfs function table to get reasonable default return values. */ int -vfs_stdroot (mp, flags, vpp) - struct mount *mp; - int flags; - struct vnode **vpp; +vfs_stdroot(struct mount *mp, int flags, struct vnode **vpp) { return (EOPNOTSUPP); } int -vfs_stdstatfs (mp, sbp) - struct mount *mp; - struct statfs *sbp; +vfs_stdstatfs(struct mount *mp, struct statfs *sbp) { return (EOPNOTSUPP); } int -vfs_stdquotactl (mp, cmds, uid, arg) - struct mount *mp; - int cmds; - uid_t uid; - void *arg; +vfs_stdquotactl(struct mount *mp, int cmds, uid_t uid, void *arg) { return (EOPNOTSUPP); } int -vfs_stdsync(mp, waitfor) - struct mount *mp; - int waitfor; +vfs_stdsync(struct mount *mp, int waitfor) { struct vnode *vp, *mvp; struct thread *td; @@ -1398,9 +1310,7 @@ loop: } int -vfs_stdnosync (mp, waitfor) - struct mount *mp; - int waitfor; +vfs_stdnosync(struct mount *mp, int waitfor) { return (0); @@ -1418,50 +1328,36 @@ vop_stdcopy_file_range(struct vop_copy_file_range_args *ap) } int -vfs_stdvget (mp, ino, flags, vpp) - struct mount *mp; - ino_t ino; - int flags; - struct vnode **vpp; +vfs_stdvget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) { return (EOPNOTSUPP); } int -vfs_stdfhtovp (mp, fhp, flags, vpp) - struct mount *mp; - struct fid *fhp; - int flags; - struct vnode **vpp; +vfs_stdfhtovp(struct mount *mp, struct fid *fhp, int flags, struct vnode **vpp) { return (EOPNOTSUPP); } int -vfs_stdinit (vfsp) - struct vfsconf *vfsp; +vfs_stdinit(struct vfsconf *vfsp) { return (0); } int -vfs_stduninit (vfsp) - struct vfsconf *vfsp; +vfs_stduninit(struct vfsconf *vfsp) { return(0); } int -vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, attrname) - struct mount *mp; - int cmd; - struct vnode *filename_vp; - int attrnamespace; - const char *attrname; +vfs_stdextattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, + int attrnamespace, const char *attrname) { if (filename_vp != NULL) @@ -1470,10 +1366,7 @@ vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, attrname) } int -vfs_stdsysctl(mp, op, req) - struct mount *mp; - fsctlop_t op; - struct sysctl_req *req; +vfs_stdsysctl(struct mount *mp, fsctlop_t op, struct sysctl_req *req) { return (EOPNOTSUPP); From nobody Sun Apr 9 21:35:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllJ45J4z44JPD; Sun, 9 Apr 2023 21:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllH5t0pz4Mxf; Sun, 9 Apr 2023 21:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qb4/4AS/01vMB16Z83wUPm3KVzGEqCdNzyjShNk9qpI=; b=aQe9xgwqdM1EkMbBSdTOCs14UqIkKQWChIKbTza5sEA1kKmZRf7Aaj+MAwwJ5zAS6gTWfK hSNlyeSLgAO1cmgNIGfPZ1yloFRwr9gzjTdeBm+cBFaenVsKUhhOV/DaiYM4xhGckDmm4y ILYD0bDLahFgiqpvf9MMLTzi22Kdci28EbJQYQiZatDI3aoiUJ6y0hVty/d13SoTN5dmi0 6MYLKvPEwRpaIllxUjDb8pPfdHzI0LaTVUizP5ryXKqwBbjpU27Sk/KfMY6DgdrfVYVHEJ DofuXtWrtxliufZSRUbvGq8CvnYy5ocfPl85PEi9JCvdiUt2F2jRPAAkX0KxFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qb4/4AS/01vMB16Z83wUPm3KVzGEqCdNzyjShNk9qpI=; b=EIu6Tna3y+p/R3FapKDbOD7FULAIlMWFeVfwXF+v2FhJae+s95Q4l6ZnVRyvSsiRUD2k2O EfDjxtg276srxEpJE9vol9GbxF55Fkn7D2ld9AuM3CxMmQw+M7L5q6M9uqGTBGQsKAspk0 4EIrZlVl0o/4W8mQYeif6axhu20yhLQ1thushKLQbYhc3byVzlrvd3jO6zwsMFZFPn/yIL Yj2oW00uxF3SJGtE6YMR6pklndDzHAfyvZGMP5qgwiYBZWsMAXyhMAL8PkguRrxbZinhG5 zjubwG7U6w8MsmaPKtHUFUDP/4D2lpJwgLo69mq24OViP4OZG/hd2ffwnwjlFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076140; a=rsa-sha256; cv=none; b=AsgVaOcfoyxngPAww/QxLW550W06dP1xkrhfGkSyvRBfpaBHEDaFlZXTTGKc50FhYjbG0i djk1bJbSD32cH/MY4vPMXuut8bylVifHLGqUsIEAHPvKuLirQHJ7EL5eBcINchcxvcHczQ BWp9Q5Qr9kZ8xosSB70ymkxI6RkphSnPQ0Nitq17uv+tIpe0gjlRhmaoBf4M9izA7HyyDc Z2Fc83ZCYSyFVdLk61vVuV3D2gmWhpNjuh8U8JfSa9GhNRvbCjBXGmt7RYu9CiTWOZZE4g ZjOdaDpp/DU1W8EgL/EEjrU3nygEs6DUVPQ/6E/jja+OBYPxsueizaJSQgtxfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllH3dWmzPkm; Sun, 9 Apr 2023 21:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZd1x081959; Sun, 9 Apr 2023 21:35:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZdg9081958; Sun, 9 Apr 2023 21:35:39 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:39 GMT Message-Id: <202304092135.339LZdg9081958@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 6e9599a84652 - stable/13 - fifofs: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6e9599a846521f58a46f218b91271b394dffb419 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6e9599a846521f58a46f218b91271b394dffb419 commit 6e9599a846521f58a46f218b91271b394dffb419 Author: Mateusz Guzik AuthorDate: 2023-02-07 23:18:51 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:39:29 +0000 fifofs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit ed40bc50dff06219baa251f1d238249624cb74ec) --- sys/fs/fifofs/fifo_vnops.c | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c index 1b941620b080..2b57cf68be8c 100644 --- a/sys/fs/fifofs/fifo_vnops.c +++ b/sys/fs/fifofs/fifo_vnops.c @@ -127,14 +127,7 @@ fifo_cleanup(struct vnode *vp) */ /* ARGSUSED */ static int -fifo_open(ap) - struct vop_open_args /* { - struct vnode *a_vp; - int a_mode; - struct ucred *a_cred; - struct thread *a_td; - struct file *a_fp; - } */ *ap; +fifo_open(struct vop_open_args *ap) { struct vnode *vp; struct file *fp; @@ -269,13 +262,7 @@ fifo_open(ap) */ /* ARGSUSED */ static int -fifo_close(ap) - struct vop_close_args /* { - struct vnode *a_vp; - int a_fflag; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +fifo_close(struct vop_close_args *ap) { struct vnode *vp; struct fifoinfo *fip; @@ -332,8 +319,7 @@ fifo_close(ap) * Print out internal contents of a fifo vnode. */ int -fifo_printinfo(vp) - struct vnode *vp; +fifo_printinfo(struct vnode *vp) { struct fifoinfo *fip = vp->v_fifoinfo; @@ -350,10 +336,7 @@ fifo_printinfo(vp) * Print out the contents of a fifo vnode. */ static int -fifo_print(ap) - struct vop_print_args /* { - struct vnode *a_vp; - } */ *ap; +fifo_print(struct vop_print_args *ap) { printf(" "); fifo_printinfo(ap->a_vp); @@ -366,14 +349,7 @@ fifo_print(ap) */ /* ARGSUSED */ static int -fifo_advlock(ap) - struct vop_advlock_args /* { - struct vnode *a_vp; - caddr_t a_id; - int a_op; - struct flock *a_fl; - int a_flags; - } */ *ap; +fifo_advlock(struct vop_advlock_args *ap) { if ((ap->a_flags & F_FLOCK) == 0) From nobody Sun Apr 9 21:35:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllK1bcSz44JS2; Sun, 9 Apr 2023 21:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllJ5qMmz4MsM; Sun, 9 Apr 2023 21:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cXf61+EmomesZsEVARy4XxSs9Mz/wdE0uU4Ny2hCmZQ=; b=f9yPM20TPmzqLTy8B3P6c6pgwr+cCVADuh81Rj0zPCPP7sfrUDEUlu9D9hCnWSXZKCDhhb Pkk0LMwY9Npj7J4iORPqvWNmxv1SwWcazE8fYMP0IQYoqh4Z00dao5t7JSKMQOMzOGu8iR zU2YsOdf8T3oguYjF0LUHdrfXJbvkEZdFOSXmsq+YSCRfa9TDET+LIxW9cCQP/EMNkEO2w M4AlG01MJTpJdBQSY+LzQBgKvRo2pyePzX3viEf/xrGRl3e0ZGMrkQ9ooJziolE3C6EyLC yUL7rKwlLyk9Rsu3dqZYKAIdfWzCvk8cXXWDdf5Mgx2XKQUnckEp1QJ8l2ogCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cXf61+EmomesZsEVARy4XxSs9Mz/wdE0uU4Ny2hCmZQ=; b=LCkr6DMktOpCb1YCCufB6UAGT+urQ6XBu1hBkETUsqGC6VjPpCZ+IbCoSEJubQ2YINGc+E JIEDfceUiobDnV3TY0i1hmEa3rWMf/g8TiEkYI0b14jAVeGPopIP5GpMwk62iQ0ZmAlY4l JPixJoo6CNs+2Fx4KR3/+w4y3wXqtfEgIKhnfy/CD5BQDyQ7EF9hmPuoW6cSN69ZO1r0RL lKxM/tVqqqzSe20wEzcdqwjR7LG1W4965L9W1eIBK7j6xlbtyR5vJLjRfQEX7q48Lw8SMl gE7VynaIk08TY+edixDKvLXHqVaQliH07HoHPV9koz/kO9AS/HRnYg8HtUQwbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076140; a=rsa-sha256; cv=none; b=nPLO4dw9mGRn+CZy0tQVDbkYXYtdUbrM67onCMu1mHSKUcgt1zg3N2S9vqNbLjDB0DhLn+ 7FZkhpT9+ovJNAp+hWQRSYo8OJUBWctWFtE1RjiScPylRXGMFHcYlgd85/D2ZiAFm+LGD+ 6ziPBUrMQf1IZ5YW5Ue2FWJLSHMCyi+4w0aNEcXehq7p2+hlhyQBymqDzds/rNxGVoA0jq 7EZiDGEUx9nnDExqenaAehce0aRcEowzAqpNfwGKxZqUPrH2G8v8YkW1vSK9xVpQNNyvSR +FtIOgwh0IlgngtrhLcAYVzQwJ/Fuv9Nk323YLjvRQ4QieIDCB1Uvjj+7cHadg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllJ4npwzPkn; Sun, 9 Apr 2023 21:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZeaN081982; Sun, 9 Apr 2023 21:35:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZeVp081981; Sun, 9 Apr 2023 21:35:40 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:40 GMT Message-Id: <202304092135.339LZeVp081981@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b14680d4d707 - stable/13 - nullfs: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b14680d4d707cace67e724bd10796e8fe18c9b8a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b14680d4d707cace67e724bd10796e8fe18c9b8a commit b14680d4d707cace67e724bd10796e8fe18c9b8a Author: Mateusz Guzik AuthorDate: 2023-02-07 23:22:27 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:40:36 +0000 nullfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 24641b8b3964e9015d3f8579b2359104bb0e5eea) --- sys/fs/nullfs/null_vfsops.c | 45 ++++++++++----------------------------------- 1 file changed, 10 insertions(+), 35 deletions(-) diff --git a/sys/fs/nullfs/null_vfsops.c b/sys/fs/nullfs/null_vfsops.c index 1a83973313b1..241e89a60f6f 100644 --- a/sys/fs/nullfs/null_vfsops.c +++ b/sys/fs/nullfs/null_vfsops.c @@ -230,9 +230,7 @@ nullfs_mount(struct mount *mp) * Free reference to null layer */ static int -nullfs_unmount(mp, mntflags) - struct mount *mp; - int mntflags; +nullfs_unmount(struct mount *mp, int mntflags) { struct null_mount *mntdata; struct mount *ump; @@ -281,10 +279,7 @@ nullfs_unmount(mp, mntflags) } static int -nullfs_root(mp, flags, vpp) - struct mount *mp; - int flags; - struct vnode **vpp; +nullfs_root(struct mount *mp, int flags, struct vnode **vpp) { struct vnode *vp; struct null_mount *mntdata; @@ -305,19 +300,13 @@ nullfs_root(mp, flags, vpp) } static int -nullfs_quotactl(mp, cmd, uid, arg) - struct mount *mp; - int cmd; - uid_t uid; - void *arg; +nullfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg) { return VFS_QUOTACTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, uid, arg); } static int -nullfs_statfs(mp, sbp) - struct mount *mp; - struct statfs *sbp; +nullfs_statfs(struct mount *mp, struct statfs *sbp) { int error; struct statfs *mstat; @@ -352,9 +341,7 @@ nullfs_statfs(mp, sbp) } static int -nullfs_sync(mp, waitfor) - struct mount *mp; - int waitfor; +nullfs_sync(struct mount *mp, int waitfor) { /* * XXX - Assumes no data cached at null layer. @@ -363,11 +350,7 @@ nullfs_sync(mp, waitfor) } static int -nullfs_vget(mp, ino, flags, vpp) - struct mount *mp; - ino_t ino; - int flags; - struct vnode **vpp; +nullfs_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) { int error; @@ -381,11 +364,7 @@ nullfs_vget(mp, ino, flags, vpp) } static int -nullfs_fhtovp(mp, fidp, flags, vpp) - struct mount *mp; - struct fid *fidp; - int flags; - struct vnode **vpp; +nullfs_fhtovp(struct mount *mp, struct fid *fidp, int flags, struct vnode **vpp) { int error; @@ -396,13 +375,9 @@ nullfs_fhtovp(mp, fidp, flags, vpp) return (null_nodeget(mp, *vpp, vpp)); } -static int -nullfs_extattrctl(mp, cmd, filename_vp, namespace, attrname) - struct mount *mp; - int cmd; - struct vnode *filename_vp; - int namespace; - const char *attrname; +static int +nullfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, + int namespace, const char *attrname) { return (VFS_EXTATTRCTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, From nobody Sun Apr 9 21:35:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllM0cXdz44JPH; Sun, 9 Apr 2023 21:35:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllL37vqz4Mqk; Sun, 9 Apr 2023 21:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3Egnk51/Qhtq9zhjIXs+aLL462MKnrbujGxKJl3RDk=; b=KEitdH4y4/r6hlagWD+N0Ze+TkiNRaBAouPXxplnL1dkT85vFlGjuzWCPDvh9beKIi2Hqv P13Ryqn0OtKmsaoNMliiW6rUE8aYc4ppCwBpHPI0+RnNjb/Zk6HWqpBIBDWQiaKCmM8V1A v+iCHXSVn5i5D9W2xvFUZzHGFoApOW+BzHABcXoHdB1KuWgQ3DJvL93A+iqIKs/I7iGPXw iH1/Bsx0FHOU09PKzze49pd/sj8ukkizYWMHggogNpWJjsraOkmm2KfFJB2ovZ08fznPq2 /RWnHP4/Mb+RY3XgYT0D3iVrRBMH26EXpmtEgryqyfAZlFi1jUOZz37lhi9p2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X3Egnk51/Qhtq9zhjIXs+aLL462MKnrbujGxKJl3RDk=; b=QjK2vfltt55d4c0RSLNfOT1z4/a2Jljd/CcoCpMgVKxYLPsunsB5JgFe34FGMldoZe3WWN COe2jhIbRL6gOrresUOmqx0M8B+QY9P/rUcW04Ww3eBui9XGH0JV7SLTWoHLbCZlaaqAx4 sZ18874DX2M2ErMQSH3ltfYXPvGsqsps8Q1xODXGLII50KjaE7cLCkgeBSp9esRiHBSRB2 i3O0sjZ/khOIw8A0Gaqm7THU+Jrux+owcUQmo9G3S0DlggtHf6FMNYlzpl9EiZ0w/r8CmV RjYAeOOiEIm4pwb9wWJqcNPbDZO3zCxFAy7JTz6v9d3ZwsJXq3vmoVACnKnBuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076142; a=rsa-sha256; cv=none; b=p8ks8uHdEmRiPTyAc8XmS6C5WSZfWivOC+bE4F96VZRuV9QvespWK6HO560ONMUsos4x3F tOaCRRpw9CqpCownf24GHVr11KHKxGyJfGAMo8IlcAyzQVkrmQC479hFKoDvnZnrwQ8hO4 8FLuYoK37FgSMBPUt6t0vnMB9w+uwNH9YP2M2SSMML8lLbAXK8CNTSfN15FQCUNNKy4VKo KPXSwQqYBYnC/sqIW2NRNWMVFoTmq3MPyBwkRWJz/vgYZvUAvEGeoJDj3slon74cJOMFxN AAIik3u2auNayha2FAUz06nxBkW/9a1aAujtcyN1f9boLzODJ5r0wMth0Y9CaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllK5lGPzPKX; Sun, 9 Apr 2023 21:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZfuk082004; Sun, 9 Apr 2023 21:35:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZflq082003; Sun, 9 Apr 2023 21:35:41 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:41 GMT Message-Id: <202304092135.339LZflq082003@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: c53ea2f3481b - stable/13 - udf: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c53ea2f3481b7159d3a91f67dc24f357fa64c337 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=c53ea2f3481b7159d3a91f67dc24f357fa64c337 commit c53ea2f3481b7159d3a91f67dc24f357fa64c337 Author: Mateusz Guzik AuthorDate: 2023-02-07 23:24:24 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:40:39 +0000 udf: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 724240c6fa249e03762cee62a95405105bd69ebe) --- sys/fs/udf/osta.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/fs/udf/osta.c b/sys/fs/udf/osta.c index 70a22d933652..b9d358b5aced 100644 --- a/sys/fs/udf/osta.c +++ b/sys/fs/udf/osta.c @@ -211,9 +211,7 @@ static unsigned short crc_table[256] = { }; unsigned short -udf_cksum(s, n) - unsigned char *s; - int n; +udf_cksum(unsigned char *s, int n) { unsigned short crc=0; @@ -224,9 +222,7 @@ udf_cksum(s, n) /* UNICODE Checksum */ unsigned short -udf_unicode_cksum(s, n) - unsigned short *s; - int n; +udf_unicode_cksum(unsigned short *s, int n) { unsigned short crc=0; From nobody Sun Apr 9 21:35:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllN2W5dz44JS8; Sun, 9 Apr 2023 21:35:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllM6pq7z4N1V; Sun, 9 Apr 2023 21:35:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GhfbvBKYj2HDC1WsWb3sNyElE73h22Zf1iHOGg7jiI8=; b=jp8ut8jGFrj7FQA4Bcy68YnpzMfra1lkxqY48EGp1ZgOgnkvfUN8ABcbuO74Jo1tbdwj/O mMdarp4PxqgiH3AoswQK2rVRZXty5P7S9/7AeSUxNUmZDGQDCLWVuQ0CMg+D0XA/4zAgdy z7xqg85a1e3ydLLwMBXf/I3pi7U+nDevUE+QXDjmaefrhhjuWqr86dbaBwWK8y/ZZbwAJa h+5Cc7Fp+0HlWtQ8+yxVwEQgX2xTdX+qamTexQQc76k0Ymi9TM28v0J3hWyJQ4bb2fvx1Y 9SjhOwhcyIuhqJr7PEJKMFX5KEfkUrh4SBNWJs9dqtyS15LJ7ADIo2AGO1F8nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GhfbvBKYj2HDC1WsWb3sNyElE73h22Zf1iHOGg7jiI8=; b=uDom3nyB+Xf1X2sktiUXbpB52fkrLeU2Q0sDMsIbo02CoxVOktkaJoNJs7O061SxdgI9q5 xNZ1EfKEDgDEBTZARGMBlLl5y1FwEGzQ0vYPtfWhuRLI5fH1KVCQfZx5bh0Cugm1m7YGLu iFnYWYsJ90W3MZvlGdpFSu1icK600ebiwQy+BltB0bf8ZrGs8b4lNn5Nb38LHLNyggj+br uJRbHnCaDVC9apvGrtD1DNBKxRJPSgLHEqHu1Yuw33aq98X05vJI7ofEB9zgQX+0bBDE+g w3o7MImpTHfiZxpVYHjKvbVlgSS/VJMRRfFocc5oarj24YsxWQTUlaQc4zJszw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076144; a=rsa-sha256; cv=none; b=HyPK/eqXAf747HQlszYaafMhLGn+TiKR4BJbhDh6irgWgEDHajudjIaf8+FP32bVJudHs5 Ew2/9t66wWcvwTVHR/U3DznuQSOCWuQUJcw71156n5OwXStiVOA7WppZKvmkNXj7eE8J6B rJcndrF0iiM323Wkrgqds7O0t+MC6ly6Nn3VfMOH5wKtD9bgnM9HxjaeE9FGqyNjJxMT2l wOzFAbx32TupkRPbxZb8gIZ2GoSoBCQlq3YZFrLEoxcL/2onGSfs/kLQRveOWU0V8ucRwX hBzpeJ2Vvc1ZjFn2Qh4j9i8CdUAFgmqN5V+JTdAi17OQ23yXc3sgunqDx5uk+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllL6kb5zPF7; Sun, 9 Apr 2023 21:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZgxY082023; Sun, 9 Apr 2023 21:35:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZg7P082022; Sun, 9 Apr 2023 21:35:42 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:42 GMT Message-Id: <202304092135.339LZg7P082022@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: bebed8e6ea53 - stable/13 - smbfs: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bebed8e6ea532562cac23897eab9891d586f1b4a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=bebed8e6ea532562cac23897eab9891d586f1b4a commit bebed8e6ea532562cac23897eab9891d586f1b4a Author: Mateusz Guzik AuthorDate: 2023-02-07 23:35:11 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:42:37 +0000 smbfs: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit b09b03a19d26e63046f3413cc8be2e4ece08daff) --- sys/fs/smbfs/smbfs_io.c | 17 +--- sys/fs/smbfs/smbfs_node.c | 10 +-- sys/fs/smbfs/smbfs_vfsops.c | 6 +- sys/fs/smbfs/smbfs_vnops.c | 184 ++++++-------------------------------------- 4 files changed, 30 insertions(+), 187 deletions(-) diff --git a/sys/fs/smbfs/smbfs_io.c b/sys/fs/smbfs/smbfs_io.c index f92fe50ccd99..0927ec420cf5 100644 --- a/sys/fs/smbfs/smbfs_io.c +++ b/sys/fs/smbfs/smbfs_io.c @@ -413,13 +413,7 @@ smbfs_doio(struct vnode *vp, struct buf *bp, struct ucred *cr, struct thread *td * Wish wish .... get rid from multiple IO routines */ int -smbfs_getpages(ap) - struct vop_getpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int a_reqpage; - } */ *ap; +smbfs_getpages(struct vop_getpages_args *ap) { #ifdef SMBFS_RWGENERIC return vop_stdgetpages(ap); @@ -544,14 +538,7 @@ out: * not necessary to open vnode. */ int -smbfs_putpages(ap) - struct vop_putpages_args /* { - struct vnode *a_vp; - vm_page_t *a_m; - int a_count; - int a_sync; - int *a_rtvals; - } */ *ap; +smbfs_putpages(struct vop_putpages_args *ap) { int error; struct vnode *vp = ap->a_vp; diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index f7ba9ac1c1a4..a0aa26b80810 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -257,10 +257,7 @@ smbfs_nget(struct mount *mp, struct vnode *dvp, const char *name, int nmlen, * Free smbnode, and give vnode back to system */ int -smbfs_reclaim(ap) - struct vop_reclaim_args /* { - struct vnode *a_vp; - } */ *ap; +smbfs_reclaim(struct vop_reclaim_args *ap) { struct vnode *vp = ap->a_vp; struct vnode *dvp; @@ -296,10 +293,7 @@ smbfs_reclaim(ap) } int -smbfs_inactive(ap) - struct vop_inactive_args /* { - struct vnode *a_vp; - } */ *ap; +smbfs_inactive(struct vop_inactive_args *ap) { struct thread *td = curthread; struct ucred *cred = td->td_ucred; diff --git a/sys/fs/smbfs/smbfs_vfsops.c b/sys/fs/smbfs/smbfs_vfsops.c index c27b62693d7a..bb69e288105e 100644 --- a/sys/fs/smbfs/smbfs_vfsops.c +++ b/sys/fs/smbfs/smbfs_vfsops.c @@ -349,11 +349,7 @@ out: */ /* ARGSUSED */ static int -smbfs_quotactl(mp, cmd, uid, arg) - struct mount *mp; - int cmd; - uid_t uid; - void *arg; +smbfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg) { SMBVDEBUG("return EOPNOTSUPP\n"); return EOPNOTSUPP; diff --git a/sys/fs/smbfs/smbfs_vnops.c b/sys/fs/smbfs/smbfs_vnops.c index ad04bb93962a..19f9be932b99 100644 --- a/sys/fs/smbfs/smbfs_vnops.c +++ b/sys/fs/smbfs/smbfs_vnops.c @@ -116,13 +116,7 @@ struct vop_vector smbfs_vnodeops = { VFS_VOP_VECTOR_REGISTER(smbfs_vnodeops); static int -smbfs_access(ap) - struct vop_access_args /* { - struct vnode *a_vp; - accmode_t a_accmode; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +smbfs_access(struct vop_access_args *ap) { struct vnode *vp = ap->a_vp; accmode_t accmode = ap->a_accmode; @@ -145,13 +139,7 @@ smbfs_access(ap) /* ARGSUSED */ static int -smbfs_open(ap) - struct vop_open_args /* { - struct vnode *a_vp; - int a_mode; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +smbfs_open(struct vop_open_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -220,14 +208,7 @@ smbfs_open(ap) } static int -smbfs_close(ap) - struct vop_close_args /* { - struct vnodeop_desc *a_desc; - struct vnode *a_vp; - int a_fflag; - struct ucred *a_cred; - struct thread *a_td; - } */ *ap; +smbfs_close(struct vop_close_args *ap) { struct vnode *vp = ap->a_vp; struct thread *td = ap->a_td; @@ -249,12 +230,7 @@ smbfs_close(ap) * smbfs_getattr call from vfs. */ static int -smbfs_getattr(ap) - struct vop_getattr_args /* { - struct vnode *a_vp; - struct vattr *a_vap; - struct ucred *a_cred; - } */ *ap; +smbfs_getattr(struct vop_getattr_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -287,12 +263,7 @@ smbfs_getattr(ap) } static int -smbfs_setattr(ap) - struct vop_setattr_args /* { - struct vnode *a_vp; - struct vattr *a_vap; - struct ucred *a_cred; - } */ *ap; +smbfs_setattr(struct vop_setattr_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -489,13 +460,7 @@ out: * smbfs_read call. */ static int -smbfs_read(ap) - struct vop_read_args /* { - struct vnode *a_vp; - struct uio *a_uio; - int a_ioflag; - struct ucred *a_cred; - } */ *ap; +smbfs_read(struct vop_read_args *ap) { struct vnode *vp = ap->a_vp; struct uio *uio = ap->a_uio; @@ -507,13 +472,7 @@ smbfs_read(ap) } static int -smbfs_write(ap) - struct vop_write_args /* { - struct vnode *a_vp; - struct uio *a_uio; - int a_ioflag; - struct ucred *a_cred; - } */ *ap; +smbfs_write(struct vop_write_args *ap) { struct vnode *vp = ap->a_vp; struct uio *uio = ap->a_uio; @@ -532,13 +491,7 @@ smbfs_write(ap) * only if the SAVESTART bit in cn_flags is clear on success. */ static int -smbfs_create(ap) - struct vop_create_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - } */ *ap; +smbfs_create(struct vop_create_args *ap) { struct vnode *dvp = ap->a_dvp; struct vattr *vap = ap->a_vap; @@ -580,13 +533,7 @@ out: } static int -smbfs_remove(ap) - struct vop_remove_args /* { - struct vnodeop_desc *a_desc; - struct vnode * a_dvp; - struct vnode * a_vp; - struct componentname * a_cnp; - } */ *ap; +smbfs_remove(struct vop_remove_args *ap) { struct vnode *vp = ap->a_vp; /* struct vnode *dvp = ap->a_dvp;*/ @@ -611,15 +558,7 @@ smbfs_remove(ap) * smbfs_file rename call */ static int -smbfs_rename(ap) - struct vop_rename_args /* { - struct vnode *a_fdvp; - struct vnode *a_fvp; - struct componentname *a_fcnp; - struct vnode *a_tdvp; - struct vnode *a_tvp; - struct componentname *a_tcnp; - } */ *ap; +smbfs_rename(struct vop_rename_args *ap) { struct vnode *fvp = ap->a_fvp; struct vnode *tvp = ap->a_tvp; @@ -707,12 +646,7 @@ out: * somtime it will come true... */ static int -smbfs_link(ap) - struct vop_link_args /* { - struct vnode *a_tdvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap; +smbfs_link(struct vop_link_args *ap) { return EOPNOTSUPP; } @@ -722,34 +656,19 @@ smbfs_link(ap) * Sometime it will be functional... */ static int -smbfs_symlink(ap) - struct vop_symlink_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - char *a_target; - } */ *ap; +smbfs_symlink(struct vop_symlink_args *ap) { return EOPNOTSUPP; } static int -smbfs_mknod(ap) - struct vop_mknod_args /* { - } */ *ap; +smbfs_mknod(struct vop_mknod_args *ap) { return EOPNOTSUPP; } static int -smbfs_mkdir(ap) - struct vop_mkdir_args /* { - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - struct vattr *a_vap; - } */ *ap; +smbfs_mkdir(struct vop_mkdir_args *ap) { struct vnode *dvp = ap->a_dvp; /* struct vattr *vap = ap->a_vap;*/ @@ -765,7 +684,7 @@ smbfs_mkdir(ap) if ((error = VOP_GETATTR(dvp, &vattr, cnp->cn_cred))) { return error; - } + } if ((name[0] == '.') && ((len == 1) || ((len == 2) && (name[1] == '.')))) return EEXIST; scred = smbfs_malloc_scred(); @@ -789,12 +708,7 @@ out: * smbfs_remove directory call */ static int -smbfs_rmdir(ap) - struct vop_rmdir_args /* { - struct vnode *a_dvp; - struct vnode *a_vp; - struct componentname *a_cnp; - } */ *ap; +smbfs_rmdir(struct vop_rmdir_args *ap) { struct vnode *vp = ap->a_vp; struct vnode *dvp = ap->a_dvp; @@ -825,15 +739,7 @@ smbfs_rmdir(ap) * smbfs_readdir call */ static int -smbfs_readdir(ap) - struct vop_readdir_args /* { - struct vnode *a_vp; - struct uio *a_uio; - struct ucred *a_cred; - int *a_eofflag; - u_long *a_cookies; - int a_ncookies; - } */ *ap; +smbfs_readdir(struct vop_readdir_args *ap) { struct vnode *vp = ap->a_vp; struct uio *uio = ap->a_uio; @@ -853,24 +759,14 @@ smbfs_readdir(ap) /* ARGSUSED */ static int -smbfs_fsync(ap) - struct vop_fsync_args /* { - struct vnodeop_desc *a_desc; - struct vnode * a_vp; - struct ucred * a_cred; - int a_waitfor; - struct thread * a_td; - } */ *ap; +smbfs_fsync(struct vop_fsync_args *ap) { /* return (smb_flush(ap->a_vp, ap->a_cred, ap->a_waitfor, ap->a_td, 1));*/ return (0); } -static -int smbfs_print (ap) - struct vop_print_args /* { - struct vnode *a_vp; - } */ *ap; +static +int smbfs_print(struct vop_print_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -885,12 +781,7 @@ int smbfs_print (ap) } static int -smbfs_pathconf (ap) - struct vop_pathconf_args /* { - struct vnode *vp; - int name; - register_t *retval; - } */ *ap; +smbfs_pathconf(struct vop_pathconf_args *ap) { struct smbmount *smp = VFSTOSMBFS(VTOVFS(ap->a_vp)); struct smb_vc *vcp = SSTOVC(smp->sm_share); @@ -921,10 +812,7 @@ smbfs_pathconf (ap) } static int -smbfs_strategy (ap) - struct vop_strategy_args /* { - struct buf *a_bp - } */ *ap; +smbfs_strategy(struct vop_strategy_args *ap) { struct buf *bp=ap->a_bp; struct ucred *cr; @@ -946,15 +834,7 @@ smbfs_strategy (ap) } int -smbfs_ioctl(ap) - struct vop_ioctl_args /* { - struct vnode *a_vp; - u_long a_command; - caddr_t a_data; - int fflag; - struct ucred *cred; - struct thread *td; - } */ *ap; +smbfs_ioctl(struct vop_ioctl_args *ap) { return ENOTTY; } @@ -993,7 +873,6 @@ smbfs_getextattr(struct vop_getextattr_args *ap) buf[i] = (attr & 1) ? smbfs_atl[i] : '-'; buf[i] = 0; error = uiomove(buf, i, uio); - } else error = EINVAL; return error; @@ -1005,14 +884,7 @@ smbfs_getextattr(struct vop_getextattr_args *ap) * a callback mechanism because it will help to improve a level of consistency. */ int -smbfs_advlock(ap) - struct vop_advlock_args /* { - struct vnode *a_vp; - caddr_t a_id; - int a_op; - struct flock *a_fl; - int a_flags; - } */ *ap; +smbfs_advlock(struct vop_advlock_args *ap) { struct vnode *vp = ap->a_vp; struct smbnode *np = VTOSMB(vp); @@ -1161,13 +1033,7 @@ smbfs_pathcheck(struct smbmount *smp, const char *name, int nmlen, int nameiop) * Things go even weird without fixed inode numbers... */ int -smbfs_lookup(ap) - struct vop_lookup_args /* { - struct vnodeop_desc *a_desc; - struct vnode *a_dvp; - struct vnode **a_vpp; - struct componentname *a_cnp; - } */ *ap; +smbfs_lookup(struct vop_lookup_args *ap) { struct componentname *cnp = ap->a_cnp; struct thread *td = cnp->cn_thread; From nobody Sun Apr 9 21:35:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllN69bKz44JSD; Sun, 9 Apr 2023 21:35:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllN1J9hz4N4F; Sun, 9 Apr 2023 21:35:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVhY52+YD7S2cqcFlgENWZICTa1p/XX2KRgF3e/N0Yg=; b=wRGmvLOhye9Xr2i1JPIv68jeQmyi1jI5jv9oIi+fhqT8WczzoYKuL+u1+4wdOuqzMhPyyi GmeQTVddFSOr3uSSHDg3f6z6I+EfUyXXhCCfu0EkXd8znLEoub31ClEqKYvnFG2hpXmXyk 3XvgUChk+dKjld26r6E5A1lETYcqyYuIy/rJKM5ZuCb7xVK2HyEllH8BmUTbd5Z1NZa2/X rSoPnjl2jBeCSvSTLllW5DnqLzhce6Wt22BhgfpelJi/302V/bIzgqsRudImQzbutTxBM2 YxdifrqBaIOl8G7iDDbJGsrlde4k2sqKOgYMBGN0yFr6MXZPc46BE0EbQOO2ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UVhY52+YD7S2cqcFlgENWZICTa1p/XX2KRgF3e/N0Yg=; b=GvrRIB/6VyPJWTW92Ip9hl+qWWI9wryehmQQesdwUTiGfSzRad/TX8njDIelTWIiDalkJZ f5pE1gnDFX+UCcu6w9WoZZXT8wps4X0KHcYIXkpOLaFkEZDEw76M1mD2JQxAg3Ogku4OWR QbZZRpBD3dS645hABLDE09aytWonrZK+P5nAUaISKpYTk5ewu7bo//Tr4gp+cmYGyz8Qtb JYIUD8nKjIl/PXPa5uLqAq6+d/GOnJFZt38GoNKGmrAAEfRWIM4GxgPRCpZFkzDBAR3tRm LhnmPM6+NeBWIrjtfQtrLg7ybZ5Dg4qkWeAwYY+O4X9bU+BGXEvw5YyHogRE4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076144; a=rsa-sha256; cv=none; b=s01/o9u4c5MGZBrSwhrCxCxeaMOcVaa4EVkRe+1IRp4B9bDTykTsDIQkZVdf+Bda2YZSpF rbq91l8vdYSJJ72EXOrHmhXK0XByrqh2/YE4SNHl4CTO/5aIsiZwXR3fI6txagsDVlpbIk 3DhopkhWo8ek8r0Bim38QFhYNtSewAZDjiK820v1YjQrxnAdehhcmdFxQvKx2de4Z6KvrB ENfw7RTp5f2JazGXbaHeGIKnmI0dAU/F2yYKmIajnW5bYcc1yA2gRXllJFipDhdUxG8G2V bph4xfk9TkHhu1WoCdyGVr91YOci+Lc86Ful6icD7Du849Z1CjGGnj/GXrHJsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllN05MhzPF8; Sun, 9 Apr 2023 21:35:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZhFk082042; Sun, 9 Apr 2023 21:35:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZhsP082041; Sun, 9 Apr 2023 21:35:43 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:43 GMT Message-Id: <202304092135.339LZhsP082041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 13def8c17d25 - stable/13 - sk: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 13def8c17d2501f24563e0b77501a870a17c900f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=13def8c17d2501f24563e0b77501a870a17c900f commit 13def8c17d2501f24563e0b77501a870a17c900f Author: Mateusz Guzik AuthorDate: 2023-02-08 00:05:03 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:46:45 +0000 sk: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 82c519c21f15b7ce4775a7484aa4354f40771480) --- sys/dev/sk/if_sk.c | 225 +++++++++++++++-------------------------------------- 1 file changed, 64 insertions(+), 161 deletions(-) diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c index 809cfa6f9e14..9a0dc1eab81f 100644 --- a/sys/dev/sk/if_sk.c +++ b/sys/dev/sk/if_sk.c @@ -364,9 +364,7 @@ static struct resource_spec sk_res_spec_mem[] = { sk_win_write_2(sc, reg, sk_win_read_2(sc, reg) & ~x) static u_int32_t -sk_win_read_4(sc, reg) - struct sk_softc *sc; - int reg; +sk_win_read_4(struct sk_softc *sc, int reg) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -377,9 +375,7 @@ sk_win_read_4(sc, reg) } static u_int16_t -sk_win_read_2(sc, reg) - struct sk_softc *sc; - int reg; +sk_win_read_2(struct sk_softc *sc, int reg) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -390,9 +386,7 @@ sk_win_read_2(sc, reg) } static u_int8_t -sk_win_read_1(sc, reg) - struct sk_softc *sc; - int reg; +sk_win_read_1(struct sk_softc *sc, int reg) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -403,10 +397,7 @@ sk_win_read_1(sc, reg) } static void -sk_win_write_4(sc, reg, val) - struct sk_softc *sc; - int reg; - u_int32_t val; +sk_win_write_4(struct sk_softc *sc, int reg, u_int32_t val) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -418,10 +409,7 @@ sk_win_write_4(sc, reg, val) } static void -sk_win_write_2(sc, reg, val) - struct sk_softc *sc; - int reg; - u_int32_t val; +sk_win_write_2(struct sk_softc *sc, int reg, u_int32_t val) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -433,10 +421,7 @@ sk_win_write_2(sc, reg, val) } static void -sk_win_write_1(sc, reg, val) - struct sk_softc *sc; - int reg; - u_int32_t val; +sk_win_write_1(struct sk_softc *sc, int reg, u_int32_t val) { #ifdef SK_USEIOSPACE CSR_WRITE_4(sc, SK_RAP, SK_WIN(reg)); @@ -448,9 +433,7 @@ sk_win_write_1(sc, reg, val) } static int -sk_miibus_readreg(dev, phy, reg) - device_t dev; - int phy, reg; +sk_miibus_readreg(device_t dev, int phy, int reg) { struct sk_if_softc *sc_if; int v; @@ -477,9 +460,7 @@ sk_miibus_readreg(dev, phy, reg) } static int -sk_miibus_writereg(dev, phy, reg, val) - device_t dev; - int phy, reg, val; +sk_miibus_writereg(device_t dev, int phy, int reg, int val) { struct sk_if_softc *sc_if; int v; @@ -506,8 +487,7 @@ sk_miibus_writereg(dev, phy, reg, val) } static void -sk_miibus_statchg(dev) - device_t dev; +sk_miibus_statchg(device_t dev) { struct sk_if_softc *sc_if; @@ -530,9 +510,7 @@ sk_miibus_statchg(dev) } static int -sk_xmac_miibus_readreg(sc_if, phy, reg) - struct sk_if_softc *sc_if; - int phy, reg; +sk_xmac_miibus_readreg(struct sk_if_softc *sc_if, int phy, int reg) { int i; @@ -558,9 +536,7 @@ sk_xmac_miibus_readreg(sc_if, phy, reg) } static int -sk_xmac_miibus_writereg(sc_if, phy, reg, val) - struct sk_if_softc *sc_if; - int phy, reg, val; +sk_xmac_miibus_writereg(struct sk_if_softc *sc_if, int phy, int reg, int val) { int i; @@ -588,8 +564,7 @@ sk_xmac_miibus_writereg(sc_if, phy, reg, val) } static void -sk_xmac_miibus_statchg(sc_if) - struct sk_if_softc *sc_if; +sk_xmac_miibus_statchg(struct sk_if_softc *sc_if) { struct mii_data *mii; @@ -609,9 +584,7 @@ sk_xmac_miibus_statchg(sc_if) } static int -sk_marv_miibus_readreg(sc_if, phy, reg) - struct sk_if_softc *sc_if; - int phy, reg; +sk_marv_miibus_readreg(struct sk_if_softc *sc_if, int phy, int reg) { u_int16_t val; int i; @@ -642,9 +615,7 @@ sk_marv_miibus_readreg(sc_if, phy, reg) } static int -sk_marv_miibus_writereg(sc_if, phy, reg, val) - struct sk_if_softc *sc_if; - int phy, reg, val; +sk_marv_miibus_writereg(struct sk_if_softc *sc_if, int phy, int reg, int val) { int i; @@ -664,8 +635,7 @@ sk_marv_miibus_writereg(sc_if, phy, reg, val) } static void -sk_marv_miibus_statchg(sc_if) - struct sk_if_softc *sc_if; +sk_marv_miibus_statchg(struct sk_if_softc *sc_if) { return; } @@ -673,8 +643,7 @@ sk_marv_miibus_statchg(sc_if) #define HASH_BITS 6 static u_int32_t -sk_xmchash(addr) - const uint8_t *addr; +sk_xmchash(const uint8_t *addr) { uint32_t crc; @@ -685,10 +654,7 @@ sk_xmchash(addr) } static void -sk_setfilt(sc_if, addr, slot) - struct sk_if_softc *sc_if; - u_int16_t *addr; - int slot; +sk_setfilt(struct sk_if_softc *sc_if, u_int16_t *addr, int slot) { int base; @@ -702,8 +668,7 @@ sk_setfilt(sc_if, addr, slot) } static void -sk_rxfilter(sc_if) - struct sk_if_softc *sc_if; +sk_rxfilter(struct sk_if_softc *sc_if) { struct sk_softc *sc; @@ -826,8 +791,7 @@ sk_rxfilter_yukon(struct sk_if_softc *sc_if) } static int -sk_init_rx_ring(sc_if) - struct sk_if_softc *sc_if; +sk_init_rx_ring(struct sk_if_softc *sc_if) { struct sk_ring_data *rd; bus_addr_t addr; @@ -859,8 +823,7 @@ sk_init_rx_ring(sc_if) } static int -sk_init_jumbo_rx_ring(sc_if) - struct sk_if_softc *sc_if; +sk_init_jumbo_rx_ring(struct sk_if_softc *sc_if) { struct sk_ring_data *rd; bus_addr_t addr; @@ -893,8 +856,7 @@ sk_init_jumbo_rx_ring(sc_if) } static void -sk_init_tx_ring(sc_if) - struct sk_if_softc *sc_if; +sk_init_tx_ring(struct sk_if_softc *sc_if) { struct sk_ring_data *rd; struct sk_txdesc *txd; @@ -926,9 +888,7 @@ sk_init_tx_ring(sc_if) } static __inline void -sk_discard_rxbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_discard_rxbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -941,9 +901,7 @@ sk_discard_rxbuf(sc_if, idx) } static __inline void -sk_discard_jumbo_rxbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_discard_jumbo_rxbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -956,9 +914,7 @@ sk_discard_jumbo_rxbuf(sc_if, idx) } static int -sk_newbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_newbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -1001,9 +957,7 @@ sk_newbuf(sc_if, idx) } static int -sk_jumbo_newbuf(sc_if, idx) - struct sk_if_softc *sc_if; - int idx; +sk_jumbo_newbuf(struct sk_if_softc *sc_if, int idx) { struct sk_rx_desc *r; struct sk_rxdesc *rxd; @@ -1055,8 +1009,7 @@ sk_jumbo_newbuf(sc_if, idx) * Set media options. */ static int -sk_ifmedia_upd(ifp) - struct ifnet *ifp; +sk_ifmedia_upd(struct ifnet *ifp) { struct sk_if_softc *sc_if = ifp->if_softc; struct mii_data *mii; @@ -1072,9 +1025,7 @@ sk_ifmedia_upd(ifp) * Report current media status. */ static void -sk_ifmedia_sts(ifp, ifmr) - struct ifnet *ifp; - struct ifmediareq *ifmr; +sk_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) { struct sk_if_softc *sc_if; struct mii_data *mii; @@ -1090,10 +1041,7 @@ sk_ifmedia_sts(ifp, ifmr) } static int -sk_ioctl(ifp, command, data) - struct ifnet *ifp; - u_long command; - caddr_t data; +sk_ioctl(struct ifnet *ifp, u_long command, caddr_t data) { struct sk_if_softc *sc_if = ifp->if_softc; struct ifreq *ifr = (struct ifreq *) data; @@ -1181,8 +1129,7 @@ sk_ioctl(ifp, command, data) * IDs against our list and return a device name if we find a match. */ static int -skc_probe(dev) - device_t dev; +skc_probe(device_t dev) { const struct sk_type *t = sk_devs; @@ -1213,8 +1160,7 @@ skc_probe(dev) * Force the GEnesis into reset, then bring it out of reset. */ static void -sk_reset(sc) - struct sk_softc *sc; +sk_reset(struct sk_softc *sc) { CSR_WRITE_2(sc, SK_CSR, SK_CSR_SW_RESET); @@ -1271,8 +1217,7 @@ sk_reset(sc) } static int -sk_probe(dev) - device_t dev; +sk_probe(device_t dev) { struct sk_softc *sc; @@ -1303,8 +1248,7 @@ sk_probe(dev) * Single port cards will have only one logical interface of course. */ static int -sk_attach(dev) - device_t dev; +sk_attach(device_t dev) { struct sk_softc *sc; struct sk_if_softc *sc_if; @@ -1539,8 +1483,7 @@ fail: * setup and ethernet/BPF attach. */ static int -skc_attach(dev) - device_t dev; +skc_attach(device_t dev) { struct sk_softc *sc; int error = 0, *port; @@ -1815,8 +1758,7 @@ fail: * allocated. */ static int -sk_detach(dev) - device_t dev; +sk_detach(device_t dev) { struct sk_if_softc *sc_if; struct ifnet *ifp; @@ -1857,8 +1799,7 @@ sk_detach(dev) } static int -skc_detach(dev) - device_t dev; +skc_detach(device_t dev) { struct sk_softc *sc; @@ -1899,11 +1840,7 @@ struct sk_dmamap_arg { }; static void -sk_dmamap_cb(arg, segs, nseg, error) - void *arg; - bus_dma_segment_t *segs; - int nseg; - int error; +sk_dmamap_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error) { struct sk_dmamap_arg *ctx; @@ -1924,8 +1861,7 @@ sk_dmamap_cb(arg, segs, nseg, error) * excessive amount of additional code. */ static int -sk_dma_alloc(sc_if) - struct sk_if_softc *sc_if; +sk_dma_alloc(struct sk_if_softc *sc_if) { struct sk_dmamap_arg ctx; struct sk_txdesc *txd; @@ -2112,8 +2048,7 @@ fail: } static int -sk_dma_jumbo_alloc(sc_if) - struct sk_if_softc *sc_if; +sk_dma_jumbo_alloc(struct sk_if_softc *sc_if) { struct sk_dmamap_arg ctx; struct sk_rxdesc *jrxd; @@ -2214,8 +2149,7 @@ jumbo_fail: } static void -sk_dma_free(sc_if) - struct sk_if_softc *sc_if; +sk_dma_free(struct sk_if_softc *sc_if) { struct sk_txdesc *txd; struct sk_rxdesc *rxd; @@ -2288,8 +2222,7 @@ sk_dma_free(sc_if) } static void -sk_dma_jumbo_free(sc_if) - struct sk_if_softc *sc_if; +sk_dma_jumbo_free(struct sk_if_softc *sc_if) { struct sk_rxdesc *jrxd; int i; @@ -2331,10 +2264,7 @@ sk_dma_jumbo_free(sc_if) } static void -sk_txcksum(ifp, m, f) - struct ifnet *ifp; - struct mbuf *m; - struct sk_tx_desc *f; +sk_txcksum(struct ifnet *ifp, struct mbuf *m, struct sk_tx_desc *f) { struct ip *ip; u_int16_t offset; @@ -2377,9 +2307,7 @@ sendit: } static int -sk_encap(sc_if, m_head) - struct sk_if_softc *sc_if; - struct mbuf **m_head; +sk_encap(struct sk_if_softc *sc_if, struct mbuf **m_head) { struct sk_txdesc *txd; struct sk_tx_desc *f = NULL; @@ -2469,8 +2397,7 @@ sk_encap(sc_if, m_head) } static void -sk_start(ifp) - struct ifnet *ifp; +sk_start(struct ifnet *ifp) { struct sk_if_softc *sc_if; @@ -2484,8 +2411,7 @@ sk_start(ifp) } static void -sk_start_locked(ifp) - struct ifnet *ifp; +sk_start_locked(struct ifnet *ifp) { struct sk_softc *sc; struct sk_if_softc *sc_if; @@ -2534,8 +2460,7 @@ sk_start_locked(ifp) } static void -sk_watchdog(arg) - void *arg; +sk_watchdog(void *arg) { struct sk_if_softc *sc_if; struct ifnet *ifp; @@ -2567,8 +2492,7 @@ done: } static int -skc_shutdown(dev) - device_t dev; +skc_shutdown(device_t dev) { struct sk_softc *sc; @@ -2589,8 +2513,7 @@ skc_shutdown(dev) } static int -skc_suspend(dev) - device_t dev; +skc_suspend(device_t dev) { struct sk_softc *sc; struct sk_if_softc *sc_if0, *sc_if1; @@ -2618,8 +2541,7 @@ skc_suspend(dev) } static int -skc_resume(dev) - device_t dev; +skc_resume(device_t dev) { struct sk_softc *sc; struct sk_if_softc *sc_if0, *sc_if1; @@ -2661,10 +2583,7 @@ skc_resume(dev) * TCP/UDP checksum offload support. */ static __inline void -sk_rxcksum(ifp, m, csum) - struct ifnet *ifp; - struct mbuf *m; - u_int32_t csum; +sk_rxcksum(struct ifnet *ifp, struct mbuf *m, u_int32_t csum) { struct ether_header *eh; struct ip *ip; @@ -2713,9 +2632,7 @@ sk_rxcksum(ifp, m, csum) } static __inline int -sk_rxvalid(sc, stat, len) - struct sk_softc *sc; - u_int32_t stat, len; +sk_rxvalid(struct sk_softc *sc, u_int32_t stat, u_int32_t len) { if (sc->sk_type == SK_GENESIS) { @@ -2735,8 +2652,7 @@ sk_rxvalid(sc, stat, len) } static void -sk_rxeof(sc_if) - struct sk_if_softc *sc_if; +sk_rxeof(struct sk_if_softc *sc_if) { struct sk_softc *sc; struct mbuf *m; @@ -2802,8 +2718,7 @@ sk_rxeof(sc_if) } static void -sk_jumbo_rxeof(sc_if) - struct sk_if_softc *sc_if; +sk_jumbo_rxeof(struct sk_if_softc *sc_if) { struct sk_softc *sc; struct mbuf *m; @@ -2870,8 +2785,7 @@ sk_jumbo_rxeof(sc_if) } static void -sk_txeof(sc_if) - struct sk_if_softc *sc_if; +sk_txeof(struct sk_if_softc *sc_if) { struct sk_txdesc *txd; struct sk_tx_desc *cur_tx; @@ -2920,8 +2834,7 @@ sk_txeof(sc_if) } static void -sk_tick(xsc_if) - void *xsc_if; +sk_tick(void *xsc_if) { struct sk_if_softc *sc_if; struct mii_data *mii; @@ -2965,8 +2878,7 @@ sk_tick(xsc_if) } static void -sk_yukon_tick(xsc_if) - void *xsc_if; +sk_yukon_tick(void *xsc_if) { struct sk_if_softc *sc_if; struct mii_data *mii; @@ -2979,8 +2891,7 @@ sk_yukon_tick(xsc_if) } static void -sk_intr_bcom(sc_if) - struct sk_if_softc *sc_if; +sk_intr_bcom(struct sk_if_softc *sc_if) { struct mii_data *mii; struct ifnet *ifp; @@ -3033,8 +2944,7 @@ sk_intr_bcom(sc_if) } static void -sk_intr_xmac(sc_if) - struct sk_if_softc *sc_if; +sk_intr_xmac(struct sk_if_softc *sc_if) { struct sk_softc *sc; u_int16_t status; @@ -3069,8 +2979,7 @@ sk_intr_xmac(sc_if) } static void -sk_intr_yukon(sc_if) - struct sk_if_softc *sc_if; +sk_intr_yukon(struct sk_if_softc *sc_if) { u_int8_t status; @@ -3088,8 +2997,7 @@ sk_intr_yukon(sc_if) } static void -sk_intr(xsc) - void *xsc; +sk_intr(void *xsc) { struct sk_softc *sc = xsc; struct sk_if_softc *sc_if0, *sc_if1; @@ -3179,8 +3087,7 @@ done_locked: } static void -sk_init_xmac(sc_if) - struct sk_if_softc *sc_if; +sk_init_xmac(struct sk_if_softc *sc_if) { struct sk_softc *sc; struct ifnet *ifp; @@ -3341,8 +3248,7 @@ sk_init_xmac(sc_if) } static void -sk_init_yukon(sc_if) - struct sk_if_softc *sc_if; +sk_init_yukon(struct sk_if_softc *sc_if) { u_int32_t phy, v; u_int16_t reg; @@ -3475,8 +3381,7 @@ sk_init_yukon(sc_if) * you first have to take it out of reset mode. */ static void -sk_init(xsc) - void *xsc; +sk_init(void *xsc) { struct sk_if_softc *sc_if = xsc; @@ -3488,8 +3393,7 @@ sk_init(xsc) } static void -sk_init_locked(sc_if) - struct sk_if_softc *sc_if; +sk_init_locked(struct sk_if_softc *sc_if) { struct sk_softc *sc; struct ifnet *ifp; @@ -3688,8 +3592,7 @@ sk_init_locked(sc_if) } static void -sk_stop(sc_if) - struct sk_if_softc *sc_if; +sk_stop(struct sk_if_softc *sc_if) { int i; struct sk_softc *sc; From nobody Sun Apr 9 21:35:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllQ0w26z44JLN; Sun, 9 Apr 2023 21:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllP4Ybpz4N4Z; Sun, 9 Apr 2023 21:35:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hIC32nRgqHWBZnvWjw/ZmNdRw148TKyU7Kyn+8MLiLQ=; b=Y17VOSoUo/1z69JgjUq9j3nY6UZPWK/VosiP1k8GHkV07TCSLCVO6GhxT4DCIjysOuKqsT K71plfmTW6vmDgRECLv7rGP868E2pCJxCHLutsJQghFz1NGfO0H0p9UXMp3oa++w0nNXmz vQoEBmVxsUVj+VqeHi0BiMiaLX6eKhyEcZtCAd3T50X//Y+PQBdHcjoEQmXmGWmkYQu1ai QULoyxdgy+RR1nBBA13z5qENREgcPj5ocfGHwuhnuJ4KsPCwXpAhREVeOOtazfCEeCacfx 3MO8SxeGwTnuoZIeoBe9Ou1aLy+xxx/KKRrOThg6UO4CSmjTk1duyHqRAoONLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hIC32nRgqHWBZnvWjw/ZmNdRw148TKyU7Kyn+8MLiLQ=; b=WPlsHZq57kuV9vW4bfsZjjUNqdwNjTB4N4VQvVYwVJ9U3D0j5nsqqb9NRgvfv9W/C4t9t3 SU4lKFJSLB11AO0ZVeAl070i5CHAr1KCC83T+r/V1wVOroiuw5copL+kHaJXUGuTn9UOzL n0H2yhephFO0da2Pp/3pc6m4fZlJXBE30y/jXS25O93tHxM0Re2sKC0AuODtkEzZoLM4Dz TG0vLdi0k+V+D9nDoLTO0mCXE29FmHZ954ReJJWV48rNH8XEVsCcXIp1F5yfbTovvZQU3e tthzlv/L5fErna0YrfSCygRXvCCO6zkmkfBGDLsNIwdSePmIrKyIEGX1bGXiCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076145; a=rsa-sha256; cv=none; b=ug8jXvggL2f3lgj7a56oKCGoQBBp91AQf+69X/S8Ay0DIXtCIpk95xKYJVdrQRush6EbTI 15oHzVBQu03vVR5vqsjlqFZsaOCvUkoqKkWl5XBkTr4HSrf/FeKOOrDGCSEwo0EfQ1lDmn lDyR/0sw3g0OIDPvuFSHqN0xmNx4TlWvkhHt5jIRGkw7liRgziMwS4XBNJlLPZNmQ8H7yl aXrRPqHuWYi16tPGo8M672GitjxZpy4GeIvUZHHghSEo1055iycuAi08lqNt4paUnCGlwu IoE7fWKWnUKe3rH6+G208zMA1Vk6tHt33/COfLFDlfBfCEeE1V1Qes374DPRTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllP18NnzPS9; Sun, 9 Apr 2023 21:35:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZjQa082061; Sun, 9 Apr 2023 21:35:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZj7I082060; Sun, 9 Apr 2023 21:35:45 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:45 GMT Message-Id: <202304092135.339LZj7I082060@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7ec88f5b4b3b - stable/13 - ddb: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7ec88f5b4b3bd10016a8b831a189dafb15f759fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7ec88f5b4b3bd10016a8b831a189dafb15f759fd commit 7ec88f5b4b3bd10016a8b831a189dafb15f759fd Author: Mateusz Guzik AuthorDate: 2023-02-08 00:09:23 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:46:48 +0000 ddb: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit fb1b78bfcead2126f9a984ac1c3e6a3a7e505f83) --- sys/ddb/db_input.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/sys/ddb/db_input.c b/sys/ddb/db_input.c index 41396e0a041f..b4bd667067c6 100644 --- a/sys/ddb/db_input.c +++ b/sys/ddb/db_input.c @@ -72,18 +72,14 @@ static void db_putnchars(int c, int count); static void db_putstring(char *s, int count); static void -db_putstring(s, count) - char *s; - int count; +db_putstring(char *s, int count) { while (--count >= 0) cnputc(*s++); } static void -db_putnchars(c, count) - int c; - int count; +db_putnchars(int c, int count) { while (--count >= 0) cnputc(c); @@ -95,9 +91,7 @@ db_putnchars(c, count) #define DEL_FWD 0 #define DEL_BWD 1 static void -db_delete(n, bwd) - int n; - int bwd; +db_delete(int n, int bwd) { char *p; @@ -116,8 +110,7 @@ db_delete(n, bwd) /* returns true at end-of-line */ static int -db_inputchar(c) - int c; +db_inputchar(int c) { static int escstate; @@ -314,9 +307,7 @@ cnmaygetc() } int -db_readline(lstart, lsize) - char * lstart; - int lsize; +db_readline(char *lstart, int lsize) { if (lsize < 2) From nobody Sun Apr 9 21:35:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllR02ZZz44JYP; Sun, 9 Apr 2023 21:35:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllQ5cLxz4Mwx; Sun, 9 Apr 2023 21:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w3HMaKwLBLCknmPFqfEEHytcp43ebCdyDz13A8OglDg=; b=nzQHdGbmSx8CiFmSf8LnLyKKrzlSwaVOotA1QDQHsqNhvNbgWYu53MPYXoMoBmJbXpbQtO ow6E6wk0wFZcaib2SbATsG2wb9yV6tCCIqHK1hrbr+fG353Fyv5z/jJg7DcO2THa6gnIPj 6OIGQj5mXTUKQ4Y/q0T+VZd9jZYaeAlox7ykHAae4Y/wLGli5ryIFVEh1x+45OcNt/1gQJ HDMrjcjJvje68DsCpM45bs6aQzK/0CptJ9UMhXm5uFVHUGDgCN7qNGZPmYK1yuqMxOZ34m dU19tIz1y1L5TQVFZ3bTjtAUYPVpKnsBP0nfOY4HGoyOlSnsAL5Knmm/bepkQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w3HMaKwLBLCknmPFqfEEHytcp43ebCdyDz13A8OglDg=; b=rAXhH61UygL6VjZip54HokZB6Vblykqoby3s7W4IV/RSfTHZ8GGTXmrIoFwgcDgYstDc4D BEAYMiYLMMQXApr3JunnStg93lmgrYtOr9kTk+Zg0pttw8aJ0HfvdUtBtP6sNGZq/mWduc NXbRaUl9hxxKWIluc+QXMI3EQILVIf4ASsiEyxPETPolydQH+8jd7p4ysk9+CbRLvDvRKg nlXJiysPj1l5BjyvKiePoLgTUIRUkQVl9bzPBu8SWPd10TimUxrBezH2EL5C+jqwbb+rg5 m0caLzEPNfQMKwR33HNZmWzpOBvzWBJZ3BwW1kV7R9cO48WpJaSamE+NcAysLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076146; a=rsa-sha256; cv=none; b=tjdqE3tmleQ138/fImCfY1PEQejS+r2cROHl5Ob753cANuXlCJ1In2vjYaesDcLCU/pYXj P4K0SOXaQaZW67GQCA4/GX4xZ3fjO5Mg+KI2FnXglkxsMhlW9VYFO3vzLdgST/woShirgy Ebl7OYJur9SN9gwfojPBmiWNvVE4ZsN/yQmxbAO5B/dUyZXc8hh6fKPlNbQIMyubewMbIK uZT46tbIlvbyQX8et48DiQWFmXCvovoBN+LTbeQR3z1JBbluNKNPwNNXjN9OFrAHSwXF+G 7U3qC87zTjURMcrrJKNsa+A6XkAiOJydVPbhe/5lS7YWn0tqZydVNUPWUiH27w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllQ1s6lzPfB; Sun, 9 Apr 2023 21:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZktF082084; Sun, 9 Apr 2023 21:35:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZkxF082083; Sun, 9 Apr 2023 21:35:46 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:46 GMT Message-Id: <202304092135.339LZkxF082083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7ccd87e8a211 - stable/13 - sysv: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7ccd87e8a21150794f51968479aec6bd0eff6071 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7ccd87e8a21150794f51968479aec6bd0eff6071 commit 7ccd87e8a21150794f51968479aec6bd0eff6071 Author: Mateusz Guzik AuthorDate: 2023-02-08 00:11:10 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:46:48 +0000 sysv: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 08d357287b4306b24110dc5ff15bcf5d51f79b28) --- sys/kern/sysv_sem.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/sys/kern/sysv_sem.c b/sys/kern/sysv_sem.c index 65fe2a233572..5f5446d8a8d8 100644 --- a/sys/kern/sysv_sem.c +++ b/sys/kern/sysv_sem.c @@ -1765,16 +1765,7 @@ static sy_call_t *semcalls[] = { * Entry point for all SEM calls. */ int -sys_semsys(td, uap) - struct thread *td; - /* XXX actually varargs. */ - struct semsys_args /* { - int which; - int a2; - int a3; - int a4; - int a5; - } */ *uap; +sys_semsys(struct thread *td, struct semsys_args *uap) { int error; From nobody Sun Apr 9 21:35:47 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllS0GXVz44Jd3; Sun, 9 Apr 2023 21:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllR4c68z4N0L; Sun, 9 Apr 2023 21:35:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYAQeSjGuABkRQjiLdJBOsOgPIiDm3tqVgDLRYvtKd0=; b=vx9PlG5+AP0WkYmIDH4pfmBUUQ/UzoStRAA539kFvuhp7BcCM1YBm78/DUnz0KAfg2dTkE XVwaEFec6RYz6i5eEwwtJcGW+eN3W+0tJVyXPzL1TnScJ0kLolElwL7rMPcwZLzwJqC8pR i7cqLvMP1JaM9TnSrjGbPqUjW6G+gSqRm5S3ldtArCvsgNEzX1S7eNABP3+7kdWqY6pytX AsO5oIYGxWnQwWxYsvMTRp70St65n8WcOI+jiCuP1So8L7vZVsLn2WrAOhq11vuSjjiE7g ttryuS77EvSsfmEQ6bPvi8y6LoFeVFqW8alBNbw6OJblqQQCqD8y19XzpQBgTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYAQeSjGuABkRQjiLdJBOsOgPIiDm3tqVgDLRYvtKd0=; b=V+95s2mYRi5CJmZLkOQnUlyOhsoJMBFfj+ZHXlzP3PHyrD61UkorIOgscCxmR4cVR2Jdpp il6zE+sJpSNskO9JEjeG2KU9iXy0Go6mp/iVLlQk2fcfDlBXXFmvZKBoIECeC1ZtGy1o+4 3jm/p9wyVnJe8mV2enDOMkPWSwdGvhLAhNK65AgD/cTr8rx6WYM9xP2HX/PZ7VXFOQsFzB tM2Gh4c6RoGc9lL/lAqw/m/f1kCYZKGbHmXNFW85D0V1/ohrv1BZCaGDvisE6k+JvdcKJD uZ+3MQ8vK1n2jkuCcgB/SqrRxlfO9mYej4A5lKkfUm1Xc9H0GXKtLkKgvjg9OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076147; a=rsa-sha256; cv=none; b=mHCAQZJW5+JSDJgx3R4/nJE6/NDHpl7gohzCr7AUW5dXzgF4r5SXL8X5HB+MK+/x0JCbTB uMbDsL+dyY6PIuROZGa+j9vlJJqpoXBlDj9aUDG329d+r//6aIXdqLRFTIT2MgLVOMzOtp ccQvA30oUSqS9y3HXTVWQx070RmMQ87EyuNdV9yqVbKHCksu4/GgodyCTEk095Hiq2wqAg F73TahsuG3n4kwFAcTer2AYWsAlAgm4QWAP4+Z67orzeKUkRdkgavBJT3NkG7AZwVJaFh5 xFtP3jfdigbFjsj/8Ar819OKI/1EjE6D6josGLV5pkawU9U0YWqbiUtzt40PrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllR31KhzPKY; Sun, 9 Apr 2023 21:35:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZl2a082105; Sun, 9 Apr 2023 21:35:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZlA4082104; Sun, 9 Apr 2023 21:35:47 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:47 GMT Message-Id: <202304092135.339LZlA4082104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7d757e3c03b8 - stable/13 - lge: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7d757e3c03b850512fe7cac7c4345c0cdd72f19b Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7d757e3c03b850512fe7cac7c4345c0cdd72f19b commit 7d757e3c03b850512fe7cac7c4345c0cdd72f19b Author: Mateusz Guzik AuthorDate: 2023-02-12 21:37:24 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:48:04 +0000 lge: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 16d10ee0235abb217773aa46b927c8c1513f3261) --- sys/dev/lge/if_lge.c | 123 ++++++++++++++++----------------------------------- 1 file changed, 37 insertions(+), 86 deletions(-) diff --git a/sys/dev/lge/if_lge.c b/sys/dev/lge/if_lge.c index 298b66b1b0e2..1458444bd269 100644 --- a/sys/dev/lge/if_lge.c +++ b/sys/dev/lge/if_lge.c @@ -213,10 +213,7 @@ MODULE_DEPEND(lge, miibus, 1, 1, 1); * Read a word of data stored in the EEPROM at address 'addr.' */ static void -lge_eeprom_getword(sc, addr, dest) - struct lge_softc *sc; - int addr; - u_int16_t *dest; +lge_eeprom_getword(struct lge_softc *sc, int addr, u_int16_t *dest) { int i; u_int32_t val; @@ -247,12 +244,7 @@ lge_eeprom_getword(sc, addr, dest) * Read a sequence of words from the EEPROM. */ static void -lge_read_eeprom(sc, dest, off, cnt, swap) - struct lge_softc *sc; - caddr_t dest; - int off; - int cnt; - int swap; +lge_read_eeprom(struct lge_softc *sc, caddr_t dest, int off, int cnt, int swap) { int i; u_int16_t word = 0, *ptr; @@ -270,9 +262,7 @@ lge_read_eeprom(sc, dest, off, cnt, swap) } static int -lge_miibus_readreg(dev, phy, reg) - device_t dev; - int phy, reg; +lge_miibus_readreg(device_t dev, int phy, int reg) { struct lge_softc *sc; int i; @@ -302,9 +292,7 @@ lge_miibus_readreg(dev, phy, reg) } static int -lge_miibus_writereg(dev, phy, reg, data) - device_t dev; - int phy, reg, data; +lge_miibus_writereg(device_t dev, int phy, int reg, int data) { struct lge_softc *sc; int i; @@ -327,8 +315,7 @@ lge_miibus_writereg(dev, phy, reg, data) } static void -lge_miibus_statchg(dev) - device_t dev; +lge_miibus_statchg(device_t dev) { struct lge_softc *sc; struct mii_data *mii; @@ -381,8 +368,7 @@ lge_hash_maddr(void *arg, struct sockaddr_dl *sdl, u_int count) } static void -lge_setmulti(sc) - struct lge_softc *sc; +lge_setmulti(struct lge_softc *sc) { struct ifnet *ifp; uint32_t hashes[2] = { 0, 0 }; @@ -413,8 +399,7 @@ lge_setmulti(sc) } static void -lge_reset(sc) - struct lge_softc *sc; +lge_reset(struct lge_softc *sc) { int i; @@ -431,7 +416,7 @@ lge_reset(sc) /* Wait a little while for the chip to get its brains in order. */ DELAY(1000); - return; + return; } /* @@ -439,8 +424,7 @@ lge_reset(sc) * IDs against our list and return a device name if we find a match. */ static int -lge_probe(dev) - device_t dev; +lge_probe(device_t dev) { const struct lge_type *t; @@ -463,8 +447,7 @@ lge_probe(dev) * setup and ethernet/BPF attach. */ static int -lge_attach(dev) - device_t dev; +lge_attach(device_t dev) { u_char eaddr[ETHER_ADDR_LEN]; struct lge_softc *sc; @@ -473,7 +456,7 @@ lge_attach(dev) sc = device_get_softc(dev); sc->lge_dev = dev; - + mtx_init(&sc->lge_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF); callout_init_mtx(&sc->lge_stat_callout, &sc->lge_mtx, 0); @@ -594,8 +577,7 @@ fail: } static int -lge_detach(dev) - device_t dev; +lge_detach(device_t dev) { struct lge_softc *sc; struct ifnet *ifp; @@ -629,8 +611,7 @@ lge_detach(dev) * Initialize the transmit descriptors. */ static int -lge_list_tx_init(sc) - struct lge_softc *sc; +lge_list_tx_init(struct lge_softc *sc) { struct lge_list_data *ld; struct lge_ring_data *cd; @@ -655,8 +636,7 @@ lge_list_tx_init(sc) * points back to the first. */ static int -lge_list_rx_init(sc) - struct lge_softc *sc; +lge_list_rx_init(struct lge_softc *sc) { struct lge_list_data *ld; struct lge_ring_data *cd; @@ -686,10 +666,7 @@ lge_list_rx_init(sc) * Initialize an RX descriptor and attach an MBUF cluster. */ static int -lge_newbuf(sc, c, m) - struct lge_softc *sc; - struct lge_rx_desc *c; - struct mbuf *m; +lge_newbuf(struct lge_softc *sc, struct lge_rx_desc *c, struct mbuf *m) { struct mbuf *m_new = NULL; char *buf = NULL; @@ -754,8 +731,7 @@ lge_newbuf(sc, c, m) } static int -lge_alloc_jumbo_mem(sc) - struct lge_softc *sc; +lge_alloc_jumbo_mem(struct lge_softc *sc) { caddr_t ptr; int i; @@ -797,8 +773,7 @@ lge_alloc_jumbo_mem(sc) } static void -lge_free_jumbo_mem(sc) - struct lge_softc *sc; +lge_free_jumbo_mem(struct lge_softc *sc) { struct lge_jpool_entry *entry; @@ -827,13 +802,12 @@ lge_free_jumbo_mem(sc) * Allocate a jumbo buffer. */ static void * -lge_jalloc(sc) - struct lge_softc *sc; +lge_jalloc(struct lge_softc *sc) { struct lge_jpool_entry *entry; - + entry = SLIST_FIRST(&sc->lge_jfree_listhead); - + if (entry == NULL) { #ifdef LGE_VERBOSE device_printf(sc->lge_dev, "no free jumbo buffers\n"); @@ -882,9 +856,7 @@ lge_jfree(struct mbuf *m) * the higher level protocols. */ static void -lge_rxeof(sc, cnt) - struct lge_softc *sc; - int cnt; +lge_rxeof(struct lge_softc *sc, int cnt) { struct mbuf *m; struct ifnet *ifp; @@ -966,8 +938,7 @@ lge_rxeof(sc, cnt) } static void -lge_rxeoc(sc) - struct lge_softc *sc; +lge_rxeoc(struct lge_softc *sc) { struct ifnet *ifp; @@ -983,8 +954,7 @@ lge_rxeoc(sc) */ static void -lge_txeof(sc) - struct lge_softc *sc; +lge_txeof(struct lge_softc *sc) { struct lge_tx_desc *cur_tx = NULL; struct ifnet *ifp; @@ -1026,8 +996,7 @@ lge_txeof(sc) } static void -lge_tick(xsc) - void *xsc; +lge_tick(void *xsc) { struct lge_softc *sc; struct mii_data *mii; @@ -1065,8 +1034,7 @@ lge_tick(xsc) } static void -lge_intr(arg) - void *arg; +lge_intr(void *arg) { struct lge_softc *sc; struct ifnet *ifp; @@ -1125,10 +1093,7 @@ lge_intr(arg) * pointers to the fragment pointers. */ static int -lge_encap(sc, m_head, txidx) - struct lge_softc *sc; - struct mbuf *m_head; - u_int32_t *txidx; +lge_encap(struct lge_softc *sc, struct mbuf *m_head, u_int32_t *txidx) { struct lge_frag *f = NULL; struct lge_tx_desc *cur_tx; @@ -1176,8 +1141,7 @@ lge_encap(sc, m_head, txidx) */ static void -lge_start(ifp) - struct ifnet *ifp; +lge_start(struct ifnet *ifp) { struct lge_softc *sc; @@ -1188,8 +1152,7 @@ lge_start(ifp) } static void -lge_start_locked(ifp) - struct ifnet *ifp; +lge_start_locked(struct ifnet *ifp) { struct lge_softc *sc; struct mbuf *m_head = NULL; @@ -1237,8 +1200,7 @@ lge_start_locked(ifp) } static void -lge_init(xsc) - void *xsc; +lge_init(void *xsc) { struct lge_softc *sc = xsc; @@ -1248,8 +1210,7 @@ lge_init(xsc) } static void -lge_init_locked(sc) - struct lge_softc *sc; +lge_init_locked(struct lge_softc *sc) { struct ifnet *ifp = sc->lge_ifp; @@ -1377,8 +1338,7 @@ lge_init_locked(sc) * Set media options. */ static int -lge_ifmedia_upd(ifp) - struct ifnet *ifp; +lge_ifmedia_upd(struct ifnet *ifp) { struct lge_softc *sc; @@ -1391,8 +1351,7 @@ lge_ifmedia_upd(ifp) } static void -lge_ifmedia_upd_locked(ifp) - struct ifnet *ifp; +lge_ifmedia_upd_locked(struct ifnet *ifp) { struct lge_softc *sc; struct mii_data *mii; @@ -1412,9 +1371,7 @@ lge_ifmedia_upd_locked(ifp) * Report current media status. */ static void -lge_ifmedia_sts(ifp, ifmr) - struct ifnet *ifp; - struct ifmediareq *ifmr; +lge_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr) { struct lge_softc *sc; struct mii_data *mii; @@ -1432,10 +1389,7 @@ lge_ifmedia_sts(ifp, ifmr) } static int -lge_ioctl(ifp, command, data) - struct ifnet *ifp; - u_long command; - caddr_t data; +lge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) { struct lge_softc *sc = ifp->if_softc; struct ifreq *ifr = (struct ifreq *) data; @@ -1498,8 +1452,7 @@ lge_ioctl(ifp, command, data) } static void -lge_watchdog(sc) - struct lge_softc *sc; +lge_watchdog(struct lge_softc *sc) { struct ifnet *ifp; @@ -1523,8 +1476,7 @@ lge_watchdog(sc) * RX and TX lists. */ static void -lge_stop(sc) - struct lge_softc *sc; +lge_stop(struct lge_softc *sc) { int i; struct ifnet *ifp; @@ -1574,8 +1526,7 @@ lge_stop(sc) * get confused by errant DMAs when rebooting. */ static int -lge_shutdown(dev) - device_t dev; +lge_shutdown(device_t dev) { struct lge_softc *sc; From nobody Sun Apr 9 21:35:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllT6vWsz44JQ0; Sun, 9 Apr 2023 21:35:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllT0Kydz4NHq; Sun, 9 Apr 2023 21:35:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mLl2ETRHKvIdnS2ZT8w3JDwvwEszOhCqoN/KuDWk8DY=; b=q+9VlYIcCXnYoebSVqxnCdsL6Bp48qimUC+iAYi7mslQ2yxgnBmodcZZfAHS8EYSd3woP9 RN53KrvfBnsWhO1J8hojQSn73VtkpD6gpHP28MTP3e0yKlqgCHWsc9AODe8cf2Ue+h/7+6 lAECRwabhPBwJ+KCxGWvk3c1UOEauZwOuB+SY4a7LGAUHMQ5KfTQT/mWOlSVpJ7M26IaU2 hTp37GjOe8uHMH7oejyvXEVU8osMpJAw2hONw61ySPUuyu+2o+wd5xCmVHmMvuIUecxsRQ fhYvsy3tcC2GyOjEaha/t+4+mPf2+B/IJWXolLscAZypVXilXXQo1Cxun+xciQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mLl2ETRHKvIdnS2ZT8w3JDwvwEszOhCqoN/KuDWk8DY=; b=tzJzlxjwGfAZgriuRuY13Q28e0Cw/naJGcjV/oMZM3lKOI/nojy8XkQDCMtjH9bqGbrQDh rtgT3BtFQSiQwsV0s5NXWzzqwA6QKBy8taoKVVVxRU9tLv2sqFYSKif0ytigCTeSvtPgn4 U8t0oS0iOioqT/uvrIsPXo7LE/QM2cGtJF5KbYS5ZMtSCnrffBe1PDAA3+zHv9hR4iZgMf jZJcEvDkFFvGrW3yphxzXYGmPm+21j9XFwB60cV4kFsEFHz4cX8NiHgplpA9ylV8JCRqyp MLhyvvIQcLMRNws/tYyNjRm2TA9MOW2qiSYDDbn/v1Dyu5enfsJsde1gxSzPWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076149; a=rsa-sha256; cv=none; b=xUw+lUvMGEH/ab4wvdBMtN/Wp5JryG+RuhPSHO1iaJDaOaqymWRz7TQxceVk57rDnF8aiM kKR6RTk9xnpYSiYxJEL4+ELa4pcjlOV1wFURiVzgZI11uE3sMPauVAI8R3lEP2ZIGYjNoF dT1KYTg7rhFNFdVJdNqbgXXycPfUIyvkXKCiTBrQF0M1EQ1ZQE0dt4zsvHzBvKwD2q/NSv Q3JA155KoMqa95vRXWX/+egp1LxlGFazr++pAYlv5ZFmKwFearPp5LbKJvfvSSqyHn4Ux1 yHziqjD0JA+g2rCvi9kmw0OsTqtDJtgySdNieda32RAFRtcJfnNX09A0sKUUyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllS3zmzzPhK; Sun, 9 Apr 2023 21:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZmIa082125; Sun, 9 Apr 2023 21:35:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZmds082124; Sun, 9 Apr 2023 21:35:48 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:48 GMT Message-Id: <202304092135.339LZmds082124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: da9441d11aa6 - stable/13 - rpc: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: da9441d11aa6f322d56d3506396088afddcf6772 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=da9441d11aa6f322d56d3506396088afddcf6772 commit da9441d11aa6f322d56d3506396088afddcf6772 Author: Mateusz Guzik AuthorDate: 2023-02-13 05:39:10 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:48:06 +0000 rpc: ansify Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 71948c15ba9e6db536e7a26c65f2f22ee03f1630) --- sys/rpc/rpc_generic.c | 9 +++------ sys/rpc/svc_auth_unix.c | 6 ++---- sys/rpc/svc_dg.c | 5 +---- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/sys/rpc/rpc_generic.c b/sys/rpc/rpc_generic.c index 1a02085efe47..6d92367f4d60 100644 --- a/sys/rpc/rpc_generic.c +++ b/sys/rpc/rpc_generic.c @@ -146,8 +146,7 @@ __rpc_get_t_size(int af, int proto, int size) * Find the appropriate address buffer size */ u_int -__rpc_get_a_size(af) - int af; +__rpc_get_a_size(int af) { switch (af) { case AF_INET: @@ -567,8 +566,7 @@ __rpc_getconfip(const char *nettype) * unset, i.e. iterate over all visible entries in netconfig. */ void * -__rpc_setconf(nettype) - const char *nettype; +__rpc_setconf(const char *nettype) { struct handle *handle; @@ -688,8 +686,7 @@ __rpc_getconf(void *vhandle) } void -__rpc_endconf(vhandle) - void * vhandle; +__rpc_endconf(void *vhandle) { struct handle *handle; diff --git a/sys/rpc/svc_auth_unix.c b/sys/rpc/svc_auth_unix.c index de46bf438f0e..441f70e4a8af 100644 --- a/sys/rpc/svc_auth_unix.c +++ b/sys/rpc/svc_auth_unix.c @@ -135,10 +135,8 @@ done: * Looks up longhand in a cache. */ /*ARGSUSED*/ -enum auth_stat -_svcauth_short(rqst, msg) - struct svc_req *rqst; - struct rpc_msg *msg; +enum auth_stat +_svcauth_short(struct svc_req *rqst, struct rpc_msg *msg) { return (AUTH_REJECTEDCRED); } diff --git a/sys/rpc/svc_dg.c b/sys/rpc/svc_dg.c index db1928655618..36724ed07b98 100644 --- a/sys/rpc/svc_dg.c +++ b/sys/rpc/svc_dg.c @@ -288,10 +288,7 @@ svc_dg_destroy(SVCXPRT *xprt) static bool_t /*ARGSUSED*/ -svc_dg_control(xprt, rq, in) - SVCXPRT *xprt; - const u_int rq; - void *in; +svc_dg_control(SVCXPRT *xprt, const u_int rq, void *in) { return (FALSE); From nobody Sun Apr 9 21:35:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllW4G1Tz44JmF; Sun, 9 Apr 2023 21:35:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllV62wSz4N33; Sun, 9 Apr 2023 21:35:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8/AJdDDipHWw0HhFV1If8bufDo/U2cdFtotVML+0GI=; b=wa+GFbxdk295fkCzNYjvFdlBPTJ6MkYEkcsgoi4PD34GnV3/7Kinq6Rq4bgr3z81eWUm6P NQ6F/tHiN9p/myG4Ehs9kFvHDk4CbqdJsR69NZXmSIZRZzwcXJ1SkFvtJRxl8BY6z2eI1p Q/9L74xmoBJz1WlwPttEUVnZ8BvfcOdV21BIp2tZby09ft2E1wmCFZ0hAAGl7ZQ4K2U5mQ pMY192BkXpGcIh87OLpoaVV+cU5AEEU/EiY7X3uSXMB0JkKhcp2KGHkykZbSG86qAwMGsw Oq6WoG7Zw2pCdsnT1MzL0s2krtoqm+GD/fB73iA++fsZNrhpaBMhg7KCt6VJJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8/AJdDDipHWw0HhFV1If8bufDo/U2cdFtotVML+0GI=; b=rwEkfZZizBT4am3AY62DDzg/3k9lCAiuoE/OXA6FI9q5OyefTN/0nL37tFRie6tZVFqjhH HcJV7WLNK1pDHe9apQKRq7GHT/q95EzgMfrlsRMqCrs+LALILekCdIEsq9ugnrhC9E6T+f tmGaiAgrde+nsgNVlRwUkm6dTG4rqpkcaH7dxhEa3EUrpVzYa7C0f81DBtuNRSllxOGTwr +V/VQIq9g6BpC3p7PAus28Wuy293tXoBhax3xH1sTNkKG9qPkzPLdAL+TsAfHnZCrAEj1b Htyl4cRM2dyDYgdunugRhQzwMXEHsTAmM6tZ0BN8VrUrrD+7jI7heoptTBA/Jg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076151; a=rsa-sha256; cv=none; b=Z3uAz8ToDDRObIUHPkKq6TeG/ouTXRdPaYnChIJN6ztuWG0wKmOv8pWStstcTcO1eQ19au MJMGwjUwURfji9OuRY200MKw7WMYcJSebuZu2st1E/clp+y6v4xmtVYQJ0sIQ4RLX+wSDQ uBK5CI1pvJ7WWvNqWkn1bXCgVAdr4bCnNAKNOp54/ryxbQxx8Qh3xP8eklJ6tvvzdr3D0f Ep54etyP3lBuUz9I1IH1i32lACTzVHLxbw+20Zk7YO+cNpqAC16pImf58j78NxKA/deJpn YuwqNw+XC3wAR2sHrMze+p9SWBPyvkI6+hA+dalOed2WIt+cBE7qpSo0npNf5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllT4zrQzPhL; Sun, 9 Apr 2023 21:35:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZnR5082144; Sun, 9 Apr 2023 21:35:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZnqd082143; Sun, 9 Apr 2023 21:35:49 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:49 GMT Message-Id: <202304092135.339LZnqd082143@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: e581f57b6ada - stable/13 - i386: ansify List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e581f57b6ada649744fbb8d9224b099f5aadb282 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=e581f57b6ada649744fbb8d9224b099f5aadb282 commit e581f57b6ada649744fbb8d9224b099f5aadb282 Author: Dmitry Chagin AuthorDate: 2023-03-25 20:21:03 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 15:48:07 +0000 i386: ansify Reported by: clang 15 (cherry picked from commit f0fe68a965a2f0b42c296fef2c756f168a57b326) --- sys/i386/i386/db_disasm.c | 20 +++++--------------- sys/i386/i386/db_trace.c | 12 +++--------- sys/i386/i386/in_cksum_machdep.c | 5 +---- sys/i386/i386/machdep.c | 7 ++----- sys/i386/i386/sys_machdep.c | 8 ++------ 5 files changed, 13 insertions(+), 39 deletions(-) diff --git a/sys/i386/i386/db_disasm.c b/sys/i386/i386/db_disasm.c index 2d5a65fe31d3..46b0a1b8a895 100644 --- a/sys/i386/i386/db_disasm.c +++ b/sys/i386/i386/db_disasm.c @@ -938,11 +938,8 @@ static db_addr_t * Read address at location and return updated location. */ static db_addr_t -db_read_address(loc, short_addr, regmodrm, addrp) - db_addr_t loc; - int short_addr; - int regmodrm; - struct i_addr * addrp; /* out */ +db_read_address(db_addr_t loc, int short_addr, int regmodrm, + struct i_addr *addrp) { int mod, rm, sib, index, disp; @@ -1026,10 +1023,7 @@ db_read_address(loc, short_addr, regmodrm, addrp) } static void -db_print_address(seg, size, addrp) - const char * seg; - int size; - struct i_addr * addrp; +db_print_address(const char *seg, int size, struct i_addr *addrp) { if (addrp->is_reg) { db_printf("%s", db_reg[size][addrp->disp]); @@ -1059,12 +1053,8 @@ db_print_address(seg, size, addrp) * and return updated location. */ static db_addr_t -db_disasm_esc(loc, inst, short_addr, size, seg) - db_addr_t loc; - int inst; - int short_addr; - int size; - const char * seg; +db_disasm_esc(db_addr_t loc, int inst, int short_addr, int size, + const char *seg) { int regmodrm; const struct finst * fp; diff --git a/sys/i386/i386/db_trace.c b/sys/i386/i386/db_trace.c index 47057906fa58..cc386cb88a8c 100644 --- a/sys/i386/i386/db_trace.c +++ b/sys/i386/i386/db_trace.c @@ -200,8 +200,7 @@ static void db_print_stack_entry(const char *, int, char **, int *, db_addr_t, * Figure out how many arguments were passed into the frame at "fp". */ static int -db_numargs(fp) - struct i386_frame *fp; +db_numargs(struct i386_frame *fp) { char *argp; int inst; @@ -232,13 +231,8 @@ retry: } static void -db_print_stack_entry(name, narg, argnp, argp, callpc, frame) - const char *name; - int narg; - char **argnp; - int *argp; - db_addr_t callpc; - void *frame; +db_print_stack_entry(const char *name, int narg, char **argnp, int *argp, + db_addr_t callpc, void *frame) { int n = narg >= 0 ? narg : 5; diff --git a/sys/i386/i386/in_cksum_machdep.c b/sys/i386/i386/in_cksum_machdep.c index ec8b35e8afe8..833bd1609092 100644 --- a/sys/i386/i386/in_cksum_machdep.c +++ b/sys/i386/i386/in_cksum_machdep.c @@ -260,10 +260,7 @@ u_int in_cksum_hdr(const struct ip *ip) * other calculations. */ u_short -in_cksum_skip(m, len, skip) - struct mbuf *m; - int len; - int skip; +in_cksum_skip(struct mbuf *m, int len, int skip) { u_short *w; unsigned sum = 0; diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 27a323bce62a..97b095337852 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -215,8 +215,7 @@ i386_clock_source_init(void) } static void -cpu_startup(dummy) - void *dummy; +cpu_startup(void *dummy) { uintmax_t memsize; char *sysenv; @@ -746,9 +745,7 @@ DB_SHOW_COMMAND(frame, db_show_frame) #endif void -sdtossd(sd, ssd) - struct segment_descriptor *sd; - struct soft_segment_descriptor *ssd; +sdtossd(struct segment_descriptor *sd, struct soft_segment_descriptor *ssd) { ssd->ssd_base = (sd->sd_hibase << 24) | sd->sd_lobase; ssd->ssd_limit = (sd->sd_hilimit << 16) | sd->sd_lolimit; diff --git a/sys/i386/i386/sys_machdep.c b/sys/i386/i386/sys_machdep.c index a0a1c273f467..eeff4b280696 100644 --- a/sys/i386/i386/sys_machdep.c +++ b/sys/i386/i386/sys_machdep.c @@ -334,9 +334,7 @@ i386_extend_pcb(struct thread *td) } int -i386_set_ioperm(td, uap) - struct thread *td; - struct i386_ioperm_args *uap; +i386_set_ioperm(struct thread *td, struct i386_ioperm_args *uap) { char *iomap; u_int i; @@ -372,9 +370,7 @@ i386_set_ioperm(td, uap) } int -i386_get_ioperm(td, uap) - struct thread *td; - struct i386_ioperm_args *uap; +i386_get_ioperm(struct thread *td, struct i386_ioperm_args *uap) { int i, state; char *iomap; From nobody Sun Apr 9 21:35:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllW6h8bz44Jpj; Sun, 9 Apr 2023 21:35:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllW2hG3z4NG4; Sun, 9 Apr 2023 21:35:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aTSGJujJJBop5PHfOUzNx8lsQpGAD5x74uLMxqxidpM=; b=QpZcaYj3t2GcD/O1CPoZFFzO9uaFRlXLQL5U8lDXg9rm7fLX1ap7vyzeFE0o3hwEbIQFSq SmhVqLTPN5qTHcD61PZImhSQiR/i6bFEMaFzqu2yHF9qPoNkBs4FLmBacQ4lVZhbA0fQfe B8bxOLrqnGXqRvitNf0DiD6eroT2Zi0Ff2Xv37aRZ/E1+2eI6+xceDBUDK8H6QnlEmqwLs BiPNuP/6cA3hPFuTX3SRGcLl7SuaoB/Q9f/K6k5yIY+5Vrq0HWXeSlLtmPbWvcuxgZE8MS xWsQedhQwzvRtNQ2y+k3q6kpV2fbs7VTBsf46bRkt/weGM0sTHUe6giC7E25JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aTSGJujJJBop5PHfOUzNx8lsQpGAD5x74uLMxqxidpM=; b=oVA5Cqi1p+AiLTEWhzwNhic0rzz2xUNZL2/Cw6wHD2phUuCFGaGefY1KlVlC2EPFdNmfSG a3Kz+lSh2nEUsRjhu+cgcilpvFI88hY4knjiHm90blzhmA6s51eXGXOWYCQ4/5jxjJ65b+ PhpD90hegUO8tOVwmt8ty5ft7xgIslqrJNoGl8yCwHRhT/oXEt7PoGWQS0t8APVXTbasld /FV6U6haIv12Dyf3cdLaYrXsqzMlKa/PtYfl7/toXbby+ztx5lhSMYDfw55koFu+cyQRCP akzu3TawQrgzlxmo2wAqEgap9wDC0eG3vhtOMgHt5ljSFmSqflCnS/L2Tb65cA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076151; a=rsa-sha256; cv=none; b=smhT/S71BUsqmIyEvUNX22EeKfhUFkTlNGTSKzbOLtWVfbnGTd87Sqq+idLQIRdiutfptr fsxn5hpNH7oo4oVj24UVsSQNZ63G0ZJg2s/n0y2GJfoo2Rck9mIQAKcibHTY9uewjXfttU 3KkQzgLFgqqUWwTTDfHrbtu+bx6JrsClSvfQ2IbID3yqc1S1bEfCSlLKpBJcWRNAxS0U0X NlHbOcJxUEhjjL/qvytQ0OcBdx/zBNPFCqwmgkItdOFLPzmoQJppKho7jOGAUaIVH62ifU w9JbvlFUJz7Op21osCth9+qFdq6W6UCMQJyt0XT1Mq2ZG/FZoI5OBG2d7erxrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllV5lN0zPkp; Sun, 9 Apr 2023 21:35:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZomK082164; Sun, 9 Apr 2023 21:35:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZocQ082163; Sun, 9 Apr 2023 21:35:50 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:50 GMT Message-Id: <202304092135.339LZocQ082163@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 442f26c2bccc - stable/13 - sctp: tweak panic message List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 442f26c2bccc754be1f9c725181b13ff7600310c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=442f26c2bccc754be1f9c725181b13ff7600310c commit 442f26c2bccc754be1f9c725181b13ff7600310c Author: Michael Tuexen AuthorDate: 2022-08-03 15:28:15 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 20:20:13 +0000 sctp: tweak panic message MFC after: 1 week (cherry picked from commit 979bc32c7c14f944a340058fcd1a580a7492f785) --- sys/netinet/sctp_indata.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c index aa6787257a13..b8bfaf164904 100644 --- a/sys/netinet/sctp_indata.c +++ b/sys/netinet/sctp_indata.c @@ -3837,10 +3837,9 @@ static int sctp_fs_audit(struct sctp_association *asoc) { struct sctp_tmit_chunk *chk; - int inflight = 0, inbetween = 0; + int inflight = 0, resend = 0, inbetween = 0, acked = 0, above = 0; int ret; #ifndef INVARIANTS - int resend = 0, acked = 0, above = 0; int entry_flight, entry_cnt; #endif @@ -3860,19 +3859,13 @@ sctp_fs_audit(struct sctp_association *asoc) chk->snd_count); inflight++; } else if (chk->sent == SCTP_DATAGRAM_RESEND) { -#ifndef INVARIANTS resend++; -#endif } else if (chk->sent < SCTP_DATAGRAM_ACKED) { inbetween++; } else if (chk->sent > SCTP_DATAGRAM_ACKED) { -#ifndef INVARIANTS above++; -#endif } else { -#ifndef INVARIANTS acked++; -#endif } } From nobody Sun Apr 9 21:35:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvllX45Wxz44JdT; Sun, 9 Apr 2023 21:35:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvllX0ZTtz4NLn; Sun, 9 Apr 2023 21:35:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lqfh9ejhFqI5R4K+ro9S/h9WR35its6J08PLfmZ7eBc=; b=WUBmST2AN54acJg2p2mTSUo/Tipx9HQcJGmuqIlL4FcdWoBrgMPFtCbx8naEnwjnlKwZ19 QUWz1pyP9YgEDrXkIAiwYVDx2gsK4T02D/Uz/+sgAEBGQPvMS666vhpeYgh/63Qc44JUYe z3oHmaxWj5A1lSJfoUh4xN36ZDRweg6evt5AglMDyr4UMTeF7eh5aVwPC8u1SEpL+uB4A7 UoKP+QgazN/TCZUamBmS8TcZXCyKmDtZM5HA6OMmpT+PpIwfW0O45dS1mQF9clDZSSi4Wb EG/UQezZcX6wDRdl4xSJYFK+yrwS3GSg4QXhJkS57UfcSqXl71CipEC/sRhvPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681076152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lqfh9ejhFqI5R4K+ro9S/h9WR35its6J08PLfmZ7eBc=; b=I9llWNHm2E40cAE90l5Al74SIcUu2NlCuvsKlrEy6cQDwS2Yt2Mf9lLxt2pj7Y9gBPNY2G cL4R+7GjCOEEK4XZJkjFscFELYMkXiv3RNvzgNX3shoxaALH13MjisHp0U9dOjbqgTVNIB 7WXhdKIETxsPOhmBhFUD95ZF5fAVpGH+YTsS0E1xYUrQGeNEPRAjbnjRvBDcTehXSzEnwk 6yLS/llZ0k/gbNkZqhfcq7me2VXqO1RywdFC3fCIBdMku51crIrU8I5zGQgiz9qmMCkalZ UuC4ggj6Z93iXn/G7DrUi9yQWOb4ISr65PgW3Djvu1YpElF4cDG6gw22sI642w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681076152; a=rsa-sha256; cv=none; b=eoiO0HkfjcZN+OVnTANQpf64PLpGIlHviVWG/1UY5qF9kKIMKzWJH7O2njBsMZ0lSEi767 JVWkSi/2C67UH3F/WjwrU/UVRTEHbKrB/TK/djgtVdxSobxHA0FkcNHQ++9CAk2BEMtMs0 239Q78A1VTS5D8OkxSY9yLaQSSihO1WaIfFOueC6al7ys82jo12vxMexsi1mCgnYQ9dGQ/ Y0jsejERS1Y8hqWRQ/x1Gc+Cfqym9KMIXLSHApFgTPRBSaFRn8UXFWNiglCKndWA8fekHJ VVzm6w905xMzDrUP0Becxgh+h6Jc+/W78GZ7TTOiDcbaQ4BIQEOdHvyfl4HEEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvllW6jkCzPSB; Sun, 9 Apr 2023 21:35:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339LZpus082187; Sun, 9 Apr 2023 21:35:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339LZpuR082186; Sun, 9 Apr 2023 21:35:51 GMT (envelope-from git) Date: Sun, 9 Apr 2023 21:35:51 GMT Message-Id: <202304092135.339LZpuR082186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 85e32e957fcc - stable/13 - Bump __FreeBSD_version for llvm 15.0.7 merge List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 85e32e957fcca01d50e29e543584909795c1acef Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=85e32e957fcca01d50e29e543584909795c1acef commit 85e32e957fcca01d50e29e543584909795c1acef Author: Dimitry Andric AuthorDate: 2023-02-08 19:20:21 +0000 Commit: Dimitry Andric CommitDate: 2023-04-09 21:33:59 +0000 Bump __FreeBSD_version for llvm 15.0.7 merge PR: 265425 MFC after: 2 weeks (cherry picked from commit 3264f6b88fce7c5437d205685863617d8f6a22dd) --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 564fbfd9c70d..b57c5afb5d05 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1302504 /* Master, propagated to newvers */ +#define __FreeBSD_version 1302505 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sun Apr 9 23:57:55 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvpvS1mF7z44Snj; Sun, 9 Apr 2023 23:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvpvS0Qczz4FBf; Sun, 9 Apr 2023 23:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u3Ztab933QYprWmx0PTFDccQT3UJ58WDyktf0DmRmKM=; b=MJbAetW8SVvlO6KrOiygibgPXr/JmG0lAHLbMIquz14LZLUjzr5euHXCI2rlonPI+mPCSh Xc40dDPzFjX9/VnYBBcQUxDmW+inr8xKMFNHk2k54Hae5YtpR6LJX5NNz3ht1Q/2B/tkTr kPEO42ChYtCAB8UDC+DJbuaKlnak+7Ro1y31sYUceuqEpe43a3EUp9322Na+gBX8+a1p+I PWEStGRM3whrUOzSPXcP6nIlhr9gw6zZ2bpPKlom/wOCW7xw0PoLraOtUrGbzG9ZjL6YR7 zedJx/mVYmrR9US8UeSMyvG/kxCe/1xeNfuH3horVwPKh1tDI7agDobEqVKDNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u3Ztab933QYprWmx0PTFDccQT3UJ58WDyktf0DmRmKM=; b=kVaCzyWPjlgrA+51yMZw6oURyLGh10cATztav01LEv/6fimbdV717vFD9wR1n/WV89Kimp sVAu66ZfKKMY9DT77Wi0xmuBfskH/nFZj4Md9PWXdI427x70dQiyAnYqj7NJuXziZvVVJJ FSDa7GxCGuUSL9SV4nu61Wfp/vt5xu019zS+DWFsccwJbnGLG9m0tk70JO+EKGL/ZXg5aY SjzasiRrOZbzwy+jO50Skz0skC/3RO+zLTSdbSAG7b59Yx/QXgAh5MYugSYdnBwlTTI55H izxvQEbbVKB1F94kpAzQU5ETwtMZkSkQSz7lGaEYkZ5RgcoPYcPWPxJGP9WAhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084676; a=rsa-sha256; cv=none; b=L7DDPtyyKLbIMkj8Cd/oVsmbpbs9kQdqKiwd3oa7fHHK4efRMaMSJWBAUMzreFHTr1qeuD Z/c5IhtY8Cei5PdBCEnLd/Z9OzFfz6JYW8LcNTQh+aPQeGnse3GJSgoe+UkfiQWsCt71yX sVShBaDJsD2ZEyc69+Q5sOItm9GQ+Y6ZY+PbUwiTGvfjna5+w+FnZ09hyHpGGATaZMsR3T 3Qwd2YAsEQk0hl51HpvbZW+89i+uSubQakkz4q63DafWc4M0j+BQOjnfZR7nfrghOSBQqa h7xrPoYCPEvHprnY0Tbra4nnbx6VPqkK+71WJkp24N7Z3rdMYycCVB/LQKth+w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvR603czSpw; Sun, 9 Apr 2023 23:57:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339NvtVQ011917; Sun, 9 Apr 2023 23:57:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Nvttf011916; Sun, 9 Apr 2023 23:57:55 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:57:55 GMT Message-Id: <202304092357.339Nvttf011916@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 7362081fad70 - stable/13 - daemon: move variables into struct daemon_state List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7362081fad7090e312c3b14ecb80dc47657799c0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7362081fad7090e312c3b14ecb80dc47657799c0 commit 7362081fad7090e312c3b14ecb80dc47657799c0 Author: Ihor Antonov AuthorDate: 2023-03-12 16:07:34 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:51 +0000 daemon: move variables into struct daemon_state The fact that most of the daemon's state is stored on the stack of the main() makes it hard to split the logic smaller chunks. Which in turn leads to huge main func that does a a lot of things. struct log_params existed because some variables need to be passed into other functions together. This change renames struct log_params into daemon_state and moves the rest of the variables into it. This is a necessary preparation step for further refactroing. Reviewed by: imp (cherry picked from commit 298a392ec31819c8440974eeb47dfed48568fd5e) --- usr.sbin/daemon/daemon.c | 288 +++++++++++++++++++++++++---------------------- 1 file changed, 154 insertions(+), 134 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 3bbf092b500c..b215803cf3c6 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -59,14 +59,28 @@ __FBSDID("$FreeBSD$"); #define LBUF_SIZE 4096 -struct log_params { +struct daemon_state { + int pipe_fd[2]; + const char *child_pidfile; + const char *parent_pidfile; const char *output_filename; const char *syslog_tag; + const char *title; + const char *user; + struct pidfh *parent_pidfh; + struct pidfh *child_pidfh; + int keep_cur_workdir; + int restart_delay; + int stdmask; int syslog_priority; int syslog_facility; int keep_fds_open; int output_fd; + bool supervision_enabled; + bool child_eof; + bool restart_enabled; bool syslog_enabled; + bool log_reopen; }; static void restrict_process(const char *); @@ -74,13 +88,13 @@ static void handle_term(int); static void handle_chld(int); static void handle_hup(int); static int open_log(const char *); -static void reopen_log(struct log_params *); -static bool listen_child(int, struct log_params *); +static void reopen_log(struct daemon_state *); +static bool listen_child(int, struct daemon_state *); static int get_log_mapping(const char *, const CODE *); -static void open_pid_files(const char *, const char *, struct pidfh **, - struct pidfh **); -static void do_output(const unsigned char *, size_t, struct log_params *); +static void open_pid_files(struct daemon_state *); +static void do_output(const unsigned char *, size_t, struct daemon_state *); static void daemon_sleep(time_t, long); +static void daemon_state_init(struct daemon_state *); static volatile sig_atomic_t terminate = 0; static volatile sig_atomic_t child_gone = 0; @@ -144,36 +158,15 @@ usage(int exitcode) int main(int argc, char *argv[]) { - bool supervision_enabled = false; - bool log_reopen = false; - bool child_eof = false; - bool restart_enabled = false; char *p = NULL; - const char *child_pidfile = NULL; - const char *parent_pidfile = NULL; - const char *title = NULL; - const char *user = NULL; int ch = 0; - int keep_cur_workdir = 1; - int pipe_fd[2] = { -1, -1 }; - int restart_delay = 1; - int stdmask = STDOUT_FILENO | STDERR_FILENO; - struct log_params logparams = { - .syslog_enabled = false, - .syslog_priority = LOG_NOTICE, - .syslog_tag = "daemon", - .syslog_facility = LOG_DAEMON, - .keep_fds_open = 1, - .output_fd = -1, - .output_filename = NULL - }; - struct pidfh *parent_pidfh = NULL; - struct pidfh *child_pidfh = NULL; + struct daemon_state state; sigset_t mask_orig; sigset_t mask_read; sigset_t mask_term; sigset_t mask_susp; + daemon_state_init(&state); sigemptyset(&mask_susp); sigemptyset(&mask_read); sigemptyset(&mask_term); @@ -199,81 +192,81 @@ main(int argc, char *argv[]) while ((ch = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) { switch (ch) { case 'c': - keep_cur_workdir = 0; + state.keep_cur_workdir = 0; break; case 'f': - logparams.keep_fds_open = 0; + state.keep_fds_open = 0; break; case 'H': - log_reopen = true; + state.log_reopen = true; break; case 'l': - logparams.syslog_facility = get_log_mapping(optarg, + state.syslog_facility = get_log_mapping(optarg, facilitynames); - if (logparams.syslog_facility == -1) { + if (state.syslog_facility == -1) { errx(5, "unrecognized syslog facility"); } - logparams.syslog_enabled = true; - supervision_enabled = true; + state.syslog_enabled = true; + state.supervision_enabled = true; break; case 'm': - stdmask = strtol(optarg, &p, 10); - if (p == optarg || stdmask < 0 || stdmask > 3) { + state.stdmask = strtol(optarg, &p, 10); + if (p == optarg || state.stdmask < 0 || state.stdmask > 3) { errx(6, "unrecognized listening mask"); } break; case 'o': - logparams.output_filename = optarg; + state.output_filename = optarg; /* * TODO: setting output filename doesn't have to turn * the supervision mode on. For non-supervised mode * daemon could open the specified file and set it's * descriptor as both stderr and stout before execve() */ - supervision_enabled = true; + state.supervision_enabled = true; break; case 'p': - child_pidfile = optarg; - supervision_enabled = true; + state.child_pidfile = optarg; + state.supervision_enabled = true; break; case 'P': - parent_pidfile = optarg; - supervision_enabled = true; + state.parent_pidfile = optarg; + state.supervision_enabled = true; break; case 'r': - restart_enabled = true; - supervision_enabled = true; + state.restart_enabled = true; + state.supervision_enabled = true; break; case 'R': - restart_enabled = true; - restart_delay = strtol(optarg, &p, 0); - if (p == optarg || restart_delay < 1) { + state.restart_enabled = true; + state.restart_delay = strtol(optarg, &p, 0); + if (p == optarg || state.restart_delay < 1) { errx(6, "invalid restart delay"); } break; case 's': - logparams.syslog_priority = get_log_mapping(optarg, + state.syslog_priority = get_log_mapping(optarg, prioritynames); - if (logparams.syslog_priority == -1) { + if (state.syslog_priority == -1) { errx(4, "unrecognized syslog priority"); } - logparams.syslog_enabled = true; - supervision_enabled = true; + state.syslog_enabled = true; + state.supervision_enabled = true; break; case 'S': - logparams.syslog_enabled = true; - supervision_enabled = true; + state.syslog_enabled = true; + state.supervision_enabled = true; break; case 't': - title = optarg; + state.title = optarg; break; case 'T': - logparams.syslog_tag = optarg; - logparams.syslog_enabled = true; - supervision_enabled = true; + state.syslog_tag = optarg; + state.syslog_enabled = true; + state.supervision_enabled = true; break; case 'u': - user = optarg; + state.user = optarg; break; case 'h': usage(0); @@ -289,35 +282,35 @@ main(int argc, char *argv[]) usage(1); } - if (!title) { - title = argv[0]; + if (!state.title) { + state.title = argv[0]; } - if (logparams.output_filename) { - logparams.output_fd = open_log(logparams.output_filename); - if (logparams.output_fd == -1) { + if (state.output_filename) { + state.output_fd = open_log(state.output_filename); + if (state.output_fd == -1) { err(7, "open"); } } - if (logparams.syslog_enabled) { - openlog(logparams.syslog_tag, LOG_PID | LOG_NDELAY, - logparams.syslog_facility); + if (state.syslog_enabled) { + openlog(state.syslog_tag, LOG_PID | LOG_NDELAY, + state.syslog_facility); } /* * Try to open the pidfile before calling daemon(3), * to be able to report the error intelligently */ - open_pid_files(child_pidfile, parent_pidfile, &child_pidfh, &parent_pidfh); - if (daemon(keep_cur_workdir, logparams.keep_fds_open) == -1) { + open_pid_files(&state); + if (daemon(state.keep_cur_workdir, state.keep_fds_open) == -1) { warn("daemon"); goto exit; } /* Write out parent pidfile if needed. */ - pidfile_write(parent_pidfh); + pidfile_write(state.parent_pidfh); - if (supervision_enabled) { + if (state.supervision_enabled) { struct sigaction act_term = { 0 }; struct sigaction act_chld = { 0 }; struct sigaction act_hup = { 0 }; @@ -364,13 +357,13 @@ main(int argc, char *argv[]) * not have superuser privileges. */ (void)madvise(NULL, 0, MADV_PROTECT); - if (log_reopen && logparams.output_fd >= 0 && + if (state.log_reopen && state.output_fd >= 0 && sigaction(SIGHUP, &act_hup, NULL) == -1) { warn("sigaction"); goto exit; } restart: - if (pipe(pipe_fd)) { + if (pipe(state.pipe_fd)) { err(1, "pipe"); } /* @@ -389,33 +382,33 @@ restart: /* fork succeeded, this is child's branch or supervision is disabled */ if (pid == 0) { - pidfile_write(child_pidfh); + pidfile_write(state.child_pidfh); - if (user != NULL) { - restrict_process(user); + if (state.user != NULL) { + restrict_process(state.user); } /* * In supervision mode, the child gets the original sigmask, * and dup'd pipes. */ - if (supervision_enabled) { - close(pipe_fd[0]); + if (state.supervision_enabled) { + close(state.pipe_fd[0]); if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) { err(1, "sigprogmask"); } - if (stdmask & STDERR_FILENO) { - if (dup2(pipe_fd[1], STDERR_FILENO) == -1) { + if (state.stdmask & STDERR_FILENO) { + if (dup2(state.pipe_fd[1], STDERR_FILENO) == -1) { err(1, "dup2"); } } - if (stdmask & STDOUT_FILENO) { - if (dup2(pipe_fd[1], STDOUT_FILENO) == -1) { + if (state.stdmask & STDOUT_FILENO) { + if (dup2(state.pipe_fd[1], STDOUT_FILENO) == -1) { err(1, "dup2"); } } - if (pipe_fd[1] != STDERR_FILENO && - pipe_fd[1] != STDOUT_FILENO) { - close(pipe_fd[1]); + if (state.pipe_fd[1] != STDERR_FILENO && + state.pipe_fd[1] != STDOUT_FILENO) { + close(state.pipe_fd[1]); } } execvp(argv[0], argv); @@ -434,10 +427,10 @@ restart: warn("sigprocmask"); goto exit; } - close(pipe_fd[1]); - pipe_fd[1] = -1; + close(state.pipe_fd[1]); + state.pipe_fd[1] = -1; - setproctitle("%s[%d]", title, (int)pid); + setproctitle("%s[%d]", state.title, (int)pid); /* * As we have closed the write end of pipe for parent process, * we might detect the child's exit by reading EOF. The child @@ -460,7 +453,7 @@ restart: * to depart. To handle the second option, a different * approach would be needed (procctl()?) */ - if (child_gone && child_eof) { + if (child_gone && state.child_eof) { break; } @@ -468,7 +461,7 @@ restart: goto exit; } - if (child_eof) { + if (state.child_eof) { if (sigprocmask(SIG_BLOCK, &mask_susp, NULL)) { warn("sigprocmask"); goto exit; @@ -488,7 +481,7 @@ restart: goto exit; } - child_eof = !listen_child(pipe_fd[0], &logparams); + state.child_eof = !listen_child(state.pipe_fd[0], &state); if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { warn("sigprocmask"); @@ -496,27 +489,27 @@ restart: } } - if (restart_enabled && !terminate) { - daemon_sleep(restart_delay, 0); + if (state.restart_enabled && !terminate) { + daemon_sleep(state.restart_delay, 0); } if (sigprocmask(SIG_BLOCK, &mask_term, NULL)) { warn("sigprocmask"); goto exit; } - if (restart_enabled && !terminate) { - close(pipe_fd[0]); - pipe_fd[0] = -1; + if (state.restart_enabled && !terminate) { + close(state.pipe_fd[0]); + state.pipe_fd[0] = -1; goto restart; } exit: - close(logparams.output_fd); - close(pipe_fd[0]); - close(pipe_fd[1]); - if (logparams.syslog_enabled) { + close(state.output_fd); + close(state.pipe_fd[0]); + close(state.pipe_fd[1]); + if (state.syslog_enabled) { closelog(); } - pidfile_remove(child_pidfh); - pidfile_remove(parent_pidfh); + pidfile_remove(state.child_pidfh); + pidfile_remove(state.parent_pidfh); exit(1); /* If daemon(3) succeeded exit status does not matter. */ } @@ -533,34 +526,33 @@ daemon_sleep(time_t secs, long nsecs) } static void -open_pid_files(const char *pidfile, const char *ppidfile, - struct pidfh **pfh, struct pidfh **ppfh) +open_pid_files(struct daemon_state *state) { pid_t fpid; int serrno; - if (pidfile) { - *pfh = pidfile_open(pidfile, 0600, &fpid); - if (*pfh == NULL) { + if (state->child_pidfile) { + state->child_pidfh = pidfile_open(state->child_pidfile, 0600, &fpid); + if (state->child_pidfh == NULL) { if (errno == EEXIST) { errx(3, "process already running, pid: %d", fpid); } - err(2, "pidfile ``%s''", pidfile); + err(2, "pidfile ``%s''", state->child_pidfile); } } /* Do the same for the actual daemon process. */ - if (ppidfile) { - *ppfh = pidfile_open(ppidfile, 0600, &fpid); - if (*ppfh == NULL) { + if (state->parent_pidfile) { + state->parent_pidfh= pidfile_open(state->parent_pidfile, 0600, &fpid); + if (state->parent_pidfh == NULL) { serrno = errno; - pidfile_remove(*pfh); + pidfile_remove(state->child_pidfh); errno = serrno; if (errno == EEXIST) { errx(3, "process already running, pid: %d", fpid); } - err(2, "ppidfile ``%s''", ppidfile); + err(2, "ppidfile ``%s''", state->parent_pidfile); } } } @@ -603,17 +595,17 @@ restrict_process(const char *user) * continue reading. */ static bool -listen_child(int fd, struct log_params *logpar) +listen_child(int fd, struct daemon_state *state) { static unsigned char buf[LBUF_SIZE]; static size_t bytes_read = 0; int rv; - assert(logpar); + assert(state); assert(bytes_read < LBUF_SIZE - 1); if (do_log_reopen) { - reopen_log(logpar); + reopen_log(state); } rv = read(fd, buf + bytes_read, LBUF_SIZE - bytes_read - 1); if (rv > 0) { @@ -630,7 +622,7 @@ listen_child(int fd, struct log_params *logpar) while ((cp = memchr(buf, '\n', bytes_read)) != NULL) { size_t bytes_line = cp - buf + 1; assert(bytes_line <= bytes_read); - do_output(buf, bytes_line, logpar); + do_output(buf, bytes_line, state); bytes_read -= bytes_line; memmove(buf, cp + 1, bytes_read); } @@ -638,7 +630,7 @@ listen_child(int fd, struct log_params *logpar) if (bytes_read < LBUF_SIZE - 1) { return true; } - do_output(buf, bytes_read, logpar); + do_output(buf, bytes_read, state); bytes_read = 0; return true; } else if (rv == -1) { @@ -652,7 +644,7 @@ listen_child(int fd, struct log_params *logpar) } /* Upon EOF, we have to flush what's left of the buffer. */ if (bytes_read > 0) { - do_output(buf, bytes_read, logpar); + do_output(buf, bytes_read, state); bytes_read = 0; } return false; @@ -664,24 +656,24 @@ listen_child(int fd, struct log_params *logpar) * everything back to parent's stdout. */ static void -do_output(const unsigned char *buf, size_t len, struct log_params *logpar) +do_output(const unsigned char *buf, size_t len, struct daemon_state *state) { assert(len <= LBUF_SIZE); - assert(logpar); + assert(state); if (len < 1) { return; } - if (logpar->syslog_enabled) { - syslog(logpar->syslog_priority, "%.*s", (int)len, buf); + if (state->syslog_enabled) { + syslog(state->syslog_priority, "%.*s", (int)len, buf); } - if (logpar->output_fd != -1) { - if (write(logpar->output_fd, buf, len) == -1) + if (state->output_fd != -1) { + if (write(state->output_fd, buf, len) == -1) warn("write"); } - if (logpar->keep_fds_open && - !logpar->syslog_enabled && - logpar->output_fd == -1) { + if (state->keep_fds_open && + !state->syslog_enabled && + state->output_fd == -1) { printf("%.*s", (int)len, buf); } } @@ -730,15 +722,43 @@ open_log(const char *outfn) } static void -reopen_log(struct log_params *logparams) +reopen_log(struct daemon_state *state) { int outfd; do_log_reopen = 0; - outfd = open_log(logparams->output_filename); - if (logparams->output_fd >= 0) { - close(logparams->output_fd); + outfd = open_log(state->output_filename); + if (state->output_fd >= 0) { + close(state->output_fd); } - logparams->output_fd = outfd; + state->output_fd = outfd; } +static void +daemon_state_init(struct daemon_state *state) +{ + memset(state, 0, sizeof(struct daemon_state)); + *state = (struct daemon_state) { + .pipe_fd = { -1, -1 }, + .parent_pidfh = NULL, + .child_pidfh = NULL, + .child_pidfile = NULL, + .parent_pidfile = NULL, + .title = NULL, + .user = NULL, + .supervision_enabled = false, + .child_eof = false, + .restart_enabled = false, + .keep_cur_workdir = 1, + .restart_delay = 1, + .stdmask = STDOUT_FILENO | STDERR_FILENO, + .syslog_enabled = false, + .log_reopen = false, + .syslog_priority = LOG_NOTICE, + .syslog_tag = "daemon", + .syslog_facility = LOG_DAEMON, + .keep_fds_open = 1, + .output_fd = -1, + .output_filename = NULL, + }; +} From nobody Sun Apr 9 23:57:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvpvT4tNlz44Snt; Sun, 9 Apr 2023 23:57:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvpvT2FYTz4FPn; Sun, 9 Apr 2023 23:57:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fUydyIrlGkFsxHjY8VPA5HhMexX5Xplsxxbv0DPhNNs=; b=DcBm5rTSzPg0XwqqoPJqrarqW9rTQWFbjspQ62bFAzRtRHMr7N5Uytyf5V6GfHpovk2hxJ rY+MeXnug+BvmjBIz97XmFTvX4w8Wjl6/Ji1yDWvXRDqJmCJt9dvNCPlLuGgU1g+fywUiR RtPuwrrAFcYLs3P2GbiGgBWjE/Xo8HgRezG6/npKd9jmHkqV6tk0IvPMgzk6inQXGjK3uH ylJdhoso9wjY5SWS+K8tLLEQQEycdM7NFrCqyx9QsUEvJOmqKKQJUby0OHgiVt4aN3CsVe IWiByeElLrQQp/r2S3LpNYKk7sH3jbmGP4NVxS7mdI3/HvsUWqYq4SRP2OlPng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fUydyIrlGkFsxHjY8VPA5HhMexX5Xplsxxbv0DPhNNs=; b=y0KSBeSoJbtT/VVbO3ekKH/y0lVd+yJpW8oyt8ZPN7kriSa3Nno3lzSCwmAhCSu1wtOeyv XlI2uCcItQ6Ds9f0Q4GejDlLZoAquPH7JTi27kVpLmnDwA9IJOVYuY5vOulunhEiuNrw6c xIGW7mTWdQdnDCHGK5qDR7QGUSEQSNGMJnmM/eLUAoyaqNy2zQ35rKGNwx7O+3r2NwDrQp VCRspkof32470nlKc66L0bHnGP8fQEIvQl73j8hhwKD19DP+xfHeMeAgFVs3FB0NfZGoS7 QOBzkmhubtKJe+QtUdZj3w4fwoz/WsSzEnWazmVQJGkT50rk9f+H6n9u2XuOkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084677; a=rsa-sha256; cv=none; b=QuRHWPTEHDaeISUbfgGR79G9D14B8zh9FpaOsB0+0bSyY2xCszkubEKTRvqBxWRuFOCM5Z YXrEzuNUnyMZ9uNp2AI9rMmEnaux5+qDYjuwCoq3zsXqWpqwhgW3iEindKB4ZFJiE1bfb7 lUzfnnObYIpuTvRPwk8lMG/pec9Hdp8PdNEoVD3RvyBoUaFp2mMzqaj0LoHWg22EBLIGUD uAsO7lXK/z4SNGCbPa7l4ug0gWp1yZ7tnI/fB0MraCGCtYAj3t7h5cvYD9badVsOn0grHB AiQ9KF85sDL1+1iwnFyE8w8OyRnXujIwBtP6o+IDxL/C4J69xNockr3zOT7Y9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvS6ssLzT0M; Sun, 9 Apr 2023 23:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339NvuG6011936; Sun, 9 Apr 2023 23:57:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339NvuvL011935; Sun, 9 Apr 2023 23:57:56 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:57:56 GMT Message-Id: <202304092357.339NvuvL011935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: edc3bffde20a - stable/13 - daemon: repace goto exit with daemon_terminate() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: edc3bffde20a0cc6ad5921fbaab75bbf3ec44e68 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=edc3bffde20a0cc6ad5921fbaab75bbf3ec44e68 commit edc3bffde20a0cc6ad5921fbaab75bbf3ec44e68 Author: Ihor Antonov AuthorDate: 2023-03-18 05:31:12 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:51 +0000 daemon: repace goto exit with daemon_terminate() Start breaking down big main() Remove goto exit label and replace it with a function that does cleanup. Comment re-worded by kevans@. (cherry picked from commit cf6356fd471cdf4e5c52550f63599881d722962c) --- usr.sbin/daemon/daemon.c | 65 +++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index b215803cf3c6..2a57d021258e 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -95,6 +95,8 @@ static void open_pid_files(struct daemon_state *); static void do_output(const unsigned char *, size_t, struct daemon_state *); static void daemon_sleep(time_t, long); static void daemon_state_init(struct daemon_state *); +static void daemon_terminate(struct daemon_state *); + static volatile sig_atomic_t terminate = 0; static volatile sig_atomic_t child_gone = 0; @@ -305,7 +307,7 @@ main(int argc, char *argv[]) open_pid_files(&state); if (daemon(state.keep_cur_workdir, state.keep_fds_open) == -1) { warn("daemon"); - goto exit; + daemon_terminate(&state); } /* Write out parent pidfile if needed. */ pidfile_write(state.parent_pidfh); @@ -341,15 +343,15 @@ main(int argc, char *argv[]) /* Block SIGTERM to avoid racing until we have forked. */ if (sigprocmask(SIG_BLOCK, &mask_term, &mask_orig)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } if (sigaction(SIGTERM, &act_term, NULL) == -1) { warn("sigaction"); - goto exit; + daemon_terminate(&state); } if (sigaction(SIGCHLD, &act_chld, NULL) == -1) { warn("sigaction"); - goto exit; + daemon_terminate(&state); } /* * Try to protect against pageout kill. Ignore the @@ -360,7 +362,7 @@ main(int argc, char *argv[]) if (state.log_reopen && state.output_fd >= 0 && sigaction(SIGHUP, &act_hup, NULL) == -1) { warn("sigaction"); - goto exit; + daemon_terminate(&state); } restart: if (pipe(state.pipe_fd)) { @@ -376,7 +378,7 @@ restart: /* fork failed, this can only happen when supervision is enabled */ if (pid == -1) { warn("fork"); - goto exit; + daemon_terminate(&state); } @@ -425,7 +427,7 @@ restart: */ if (sigprocmask(SIG_UNBLOCK, &mask_term, NULL)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } close(state.pipe_fd[1]); state.pipe_fd[1] = -1; @@ -458,34 +460,34 @@ restart: } if (terminate) { - goto exit; + daemon_terminate(&state); } if (state.child_eof) { if (sigprocmask(SIG_BLOCK, &mask_susp, NULL)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } while (!terminate && !child_gone) { sigsuspend(&mask_orig); } if (sigprocmask(SIG_UNBLOCK, &mask_susp, NULL)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } continue; } if (sigprocmask(SIG_BLOCK, &mask_read, NULL)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } state.child_eof = !listen_child(state.pipe_fd[0], &state); if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } } @@ -494,23 +496,14 @@ restart: } if (sigprocmask(SIG_BLOCK, &mask_term, NULL)) { warn("sigprocmask"); - goto exit; + daemon_terminate(&state); } if (state.restart_enabled && !terminate) { close(state.pipe_fd[0]); state.pipe_fd[0] = -1; goto restart; } -exit: - close(state.output_fd); - close(state.pipe_fd[0]); - close(state.pipe_fd[1]); - if (state.syslog_enabled) { - closelog(); - } - pidfile_remove(state.child_pidfh); - pidfile_remove(state.parent_pidfh); - exit(1); /* If daemon(3) succeeded exit status does not matter. */ + daemon_terminate(&state); } static void @@ -601,7 +594,7 @@ listen_child(int fd, struct daemon_state *state) static size_t bytes_read = 0; int rv; - assert(state); + assert(state != NULL); assert(bytes_read < LBUF_SIZE - 1); if (do_log_reopen) { @@ -659,7 +652,7 @@ static void do_output(const unsigned char *buf, size_t len, struct daemon_state *state) { assert(len <= LBUF_SIZE); - assert(state); + assert(state != NULL); if (len < 1) { return; @@ -762,3 +755,25 @@ daemon_state_init(struct daemon_state *state) .output_filename = NULL, }; } + + +static _Noreturn void +daemon_terminate(struct daemon_state *state) +{ + assert(state != NULL); + close(state->output_fd); + close(state->pipe_fd[0]); + close(state->pipe_fd[1]); + if (state->syslog_enabled) { + closelog(); + } + pidfile_remove(state->child_pidfh); + pidfile_remove(state->parent_pidfh); + + /* + * Note that the exit value here doesn't matter in the case of a clean + * exit; daemon(3) already detached us from the caller, nothing is left + * to care about this one. + */ + exit(1); +} From nobody Sun Apr 9 23:57:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvpvV5YRPz44SmJ; Sun, 9 Apr 2023 23:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvpvV1RXJz4FMq; Sun, 9 Apr 2023 23:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h5cZtPPogOJEtXT09F2B5VK1Gq0N5uLiRS0UnDr17zo=; b=SCFONpMawY61AmUSXamb0XszhzW4ZM4bQInDcFctESwCJdikuP4fmXJXTZTVJ5lTOw4NM5 SvLpq6nJujFQE/ow9kSBWYcr5NBUKiNRs/aGTu5RHnPcpARzxMC1DQxtKvaXKiUcp/AFqq bvyi0GqkLuiQovwqPsvzGWx1MzzSfdCR9LWqQhkNDgT0skaVVN7jdPjxeI8PIbgYaC0kZF 4N4cH2aPGeNcEvWqlIqnUS9VaQxCE+unSL1+t4rui7fx/xLX3Rp90NUr6wYfSuQkeNS0tc uUTG27bGrEWDfkbHYr6kitKBUUI5sJVp4DukmaAVpVP6QaDn2OP75e2MbTWx2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h5cZtPPogOJEtXT09F2B5VK1Gq0N5uLiRS0UnDr17zo=; b=oRRhOLXI2S4dZNCCw8ofYwALgjuMGs2+qZyFAhWMQ+++nNqbT6Ki5bp63D3QwGuzXgEBuM TncKWAqhKnUKV3Ka2dkQyY+epj9rtPv0uiWEZ/wwf0iyJ38A07ZceqlvyDx9daCX+Ot31G Llt/NiTlCSsyUJFPbj3bV6at5fz/zsOJrKGnD9F//IruclhaS0nWf4T13BSOGZOszVP6s6 z56xTAHt3m4wjS7AEf54pKh1MpY1R3YGBhLQ6VyA5qRS9/8gzE96Sm1zwn/SPF1mXKnWB1 IlSd18deS7jsz6+T/qlDAfXRNDEHv7j0DIZ86oWG/ECDh5brHXK5Yoqj9AHnHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084678; a=rsa-sha256; cv=none; b=CdjTpbGpIO7dE2vt3znMdV94A/vxbjxeA8+mtuuslcNEzjNCL/2vpnanQmxE3KO20CSNcF YWke4sC+74SXBKOG7wm7f6dddx26C+iP2eDgG53QqBnt7B7Hh1rpNYGunDqEAxON95yc3V ENOQHnNEdGHKrhXOmE60/Uzf8qvEvUvUJV6FIXeodJXp5UCeJuh5orSei2K0C06McYOckk FM0oUNd7+57detyp48D5HYRhIowrep2qsgm1DlfQRd7A9GqNHR7g0dnZBFgwNm4OFuGJhj /IzHIRrlYsycPx4HHHe1nCHhNWc77Odm5kRUioVepKEFtvJ4aBCCOId9Ca+idg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvV0R0wzSj7; Sun, 9 Apr 2023 23:57:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339NvwbO011962; Sun, 9 Apr 2023 23:57:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339NvvhO011961; Sun, 9 Apr 2023 23:57:57 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:57:57 GMT Message-Id: <202304092357.339NvvhO011961@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 980ad642711f - stable/13 - daemon: remove unnecessary memset in daemon_state_init() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 980ad642711fadb351ca53cad6341343b98d9cb0 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=980ad642711fadb351ca53cad6341343b98d9cb0 commit 980ad642711fadb351ca53cad6341343b98d9cb0 Author: Ihor Antonov AuthorDate: 2023-03-18 05:43:35 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:51 +0000 daemon: remove unnecessary memset in daemon_state_init() (cherry picked from commit 8117ea0a413150dccc05ea376596b98c4b1855e6) --- usr.sbin/daemon/daemon.c | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 2a57d021258e..eb69fc87a827 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -730,7 +730,6 @@ reopen_log(struct daemon_state *state) static void daemon_state_init(struct daemon_state *state) { - memset(state, 0, sizeof(struct daemon_state)); *state = (struct daemon_state) { .pipe_fd = { -1, -1 }, .parent_pidfh = NULL, From nobody Sun Apr 9 23:57:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvpvW4L8Jz44SXM; Sun, 9 Apr 2023 23:57:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvpvW2GGmz4FLl; Sun, 9 Apr 2023 23:57:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UImsTlHsW/a3aba9NocwsaPvVmyv9X5sxRjUUWsc2ZU=; b=t063mthzVF5Sv4jtXOHmKhnSxChw2KH94mqGkpkbTn8+Ze4NRRdFlLq6w3/5yklkq98S6z vyEAG5Xakqv4SL2H81pUswEbOGdoNlOoFwdFu4D9anroL6sTdPyq3EbxxBkbw2sycw1oUh sQfGhea2EKxVtVSmxlOTwrnO5rBZEv2+67Hr5kYjlOOgcI4Qhx7ptiybEgvDlsiIy7e3pB kivQpXHkX3O9ZbSsE/g1+zQzXDNaFF+ec2BV0mN2MNL1L1BbmSUD8B9FdJGusx+lNqwiOP L+67Os+zsJ93OZCe4KYMONhrMrjjkKTRw5FpXSV/+99xwnIY4U8Hz8BEqlGG5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UImsTlHsW/a3aba9NocwsaPvVmyv9X5sxRjUUWsc2ZU=; b=bY3Quow8EUiFZUNebCsD/ijf5ve4LSVcf0MFwadjS2BgeQIAFcVNpOYImzt/YRVuVYe77z pJ8wF9j5YBIsbZ5xXNx8kVQHzg7TaL03TMVBa/uXmUQPKxDA5CpS9rWicHK08n4c/+WgsB 0BWVpygujGrbS+7ig623prcfnTH7R/rqf4MNk3JH9wJ18DqRSIJQvr8J7ROwC0WHgikxDt KkfhgA3rdAOlewplInhbVOEqd7HhuF6gdojQuOkND6HOfC0RJmuctSbVI1xNM0KCxoasi2 cPpBrs4+jZgmqFAHnkAqx4lqTvuutDaW7DZKV4hJEeGeS9jv8YXdxXTECX3+vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084679; a=rsa-sha256; cv=none; b=DvY5sRFqePrGhAsjaIVl98eIqwNBpMSln3EdAVH1HUsSO+GWSghl8AANZnfw6lTYj/P2sH OXUKDa9uRz5BCR8+juY6cSvE+MzZ2kUSC4NwhZh/CiqkYI8l2TueFpJmEr396acW0j+gbu JBFyBxxd3YDC/LCXNw+hy9gOKn/kOKWy97ZFAxlzFQ/c2MfeMah9ygAdxPW9+8DiOXW/K1 lceO2wHAE3E5L0aYQYO5c1OffRzPeGlAJwYh/t52i9BO3GhbSxXaZ2IxXRpfNgqOXxsXfr x6rwU+KLTjfBsoRWuSoAHMEBLX4NUBWd3ONLMPzipUAIPeLjzdVDlaBVCgX92w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvW1HhvzT2t; Sun, 9 Apr 2023 23:57:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339NvxHl011981; Sun, 9 Apr 2023 23:57:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Nvxch011980; Sun, 9 Apr 2023 23:57:59 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:57:59 GMT Message-Id: <202304092357.339Nvxch011980@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 2a69943c7b65 - stable/13 - daemon: kill off some stray blank lines List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2a69943c7b653dced1217fbfe74cd68019d19c18 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2a69943c7b653dced1217fbfe74cd68019d19c18 commit 2a69943c7b653dced1217fbfe74cd68019d19c18 Author: Kyle Evans AuthorDate: 2023-03-18 06:04:35 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:51 +0000 daemon: kill off some stray blank lines Overlooked in review; mea culpa. Reported by: jrtc27 (cherry picked from commit 6b49a630f441e1a9e8c8e57d2bb71e589d95872c) --- usr.sbin/daemon/daemon.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index eb69fc87a827..54e2aeea6874 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -97,7 +97,6 @@ static void daemon_sleep(time_t, long); static void daemon_state_init(struct daemon_state *); static void daemon_terminate(struct daemon_state *); - static volatile sig_atomic_t terminate = 0; static volatile sig_atomic_t child_gone = 0; static volatile sig_atomic_t pid = 0; @@ -381,7 +380,6 @@ restart: daemon_terminate(&state); } - /* fork succeeded, this is child's branch or supervision is disabled */ if (pid == 0) { pidfile_write(state.child_pidfh); @@ -755,7 +753,6 @@ daemon_state_init(struct daemon_state *state) }; } - static _Noreturn void daemon_terminate(struct daemon_state *state) { From nobody Sun Apr 9 23:58:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvpvY1d4Sz44Sjc; Sun, 9 Apr 2023 23:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvpvX3lfbz4FQh; Sun, 9 Apr 2023 23:58:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v5Q4fkcha+3JpWQW5xPLvzpaRMaZWysBk3KAm4aKX0w=; b=U7rgN+upKjj8E8JcUj9+Fx+nw4lWqcHohtRN1tPWITBMIHakvmtoyjXJmr1uywHMg5WsbF TmK/4xtfLyvzCqLpOKuDEJLeV2QO0Lc0NT66XBJje/J5zidZrfmUVCeiFVrlazp0tCG2jW 7UvbtgT5eTkVoQQOipr/OLk7Pv8CEZmgNmawoC8a5J26wjfs2slVltLEcvvs//+90wW65n hg1vSaUb22TVRNWG016/AmWdVR84Y4zgkXiCdBql8/7c8wOZ8V9CGebIcaYwRZhQmV+JuE Xpyh4O39PGjybtFDczLK+qO3w6osXNYHpLNWj34CHsHn5l2z9SImUQRoxbbdew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v5Q4fkcha+3JpWQW5xPLvzpaRMaZWysBk3KAm4aKX0w=; b=fh0u08d5B0s9tmRwc8KFzuwLpWj5c+eG5NQn/C/KOxwtbXRlWbaVNrSVktCF2YhAji8ccS 9PfPgX4hHjtzFWVpR3PpUTQfDWlnu9vQeXdQH3qsMk7U6HrO5c8OLxSvIkPJsYoDCwRL/H Ab/z92Y+48JiZHZhgeIs1+qqGcpVqvn6eM7j2EEQqOkapYvLWGXjIibchF4ZuGj0hGqOxb awAVYPDQL9OkzS9HaoJ338yzhjJDYyMDDSPj/rhf9nGXCGTQtK/5ZfqQ7Q1UZtgprPLCcv e4XJLlVPYo3sbPQdi8GJmplVWzWn5nUarHIDUHHvYYbiWPxtyDgn20cVZxAKKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084680; a=rsa-sha256; cv=none; b=BmCHg4D889lRqRmi0V35rJyqzpxXbpiRzPHDq2ZMHeOeptG/wG1C2reu3At/rn8lgzkRvS lfXE2p6fgxrJQvWyiWkQ92usamW1IAuQaNdhmyzmAngNfIflbeR32q4c/F3LrtFjgB6deH tjQ0Njb70PYzLUrCZEjh8lxPLovlakqPZk9MmgvztUcvY002fuZOwhTMwACSPDymL4D3pg luusk+s9JIHSG1MjEokb3YwfSlj6CWWbMN/sLOMU8B+/KX1WKjmjErMDlk+U0Zb5qi2IVq UKnZMVbYay3Y2vbuB3KdvmXcBgVbHakvDZUQkLQRM1dQ4Pb1BtX4bXzJZpTbPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvX2DRjzSmn; Sun, 9 Apr 2023 23:58:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339Nw0St012000; Sun, 9 Apr 2023 23:58:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Nw01E011999; Sun, 9 Apr 2023 23:58:00 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:58:00 GMT Message-Id: <202304092358.339Nw01E011999@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: df42ae6d99ac - stable/13 - pkill: use an ARG_MAX size buffer for argument matching List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: df42ae6d99acfeae81572077078baee07d653313 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=df42ae6d99acfeae81572077078baee07d653313 commit df42ae6d99acfeae81572077078baee07d653313 Author: Kyle Evans AuthorDate: 2023-03-20 19:19:35 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:52 +0000 pkill: use an ARG_MAX size buffer for argument matching Right now pkill/pgrep cut off at _POSIX2_LINE_MAX (2048), but argument strings can be much larger (ARG_MAX is 256K/512K). Stop arbitrarily cutting the search off at 2K, rather than documenting the limit. Reviewed by: allanjude (earlier version), des Sponsored by: Klara, Inc. (cherry picked from commit 3610bffd2888b65389a46e8d075ce8e1fc83af4c) --- bin/pkill/pkill.c | 38 +++++++++++-- bin/pkill/tests/Makefile | 6 ++ bin/pkill/tests/pgrep-f_test.sh | 58 +++++++++++++++++++ bin/pkill/tests/spin_helper.c | 123 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 220 insertions(+), 5 deletions(-) diff --git a/bin/pkill/pkill.c b/bin/pkill/pkill.c index 0ffa5ababaac..6d8f29147a04 100644 --- a/bin/pkill/pkill.c +++ b/bin/pkill/pkill.c @@ -133,8 +133,9 @@ static int takepid(const char *, int); int main(int argc, char **argv) { - char buf[_POSIX2_LINE_MAX], *mstr, **pargv, *p, *q, *pidfile; + char *buf, *mstr, **pargv, *p, *q, *pidfile; const char *execf, *coref; + size_t bufsz; int ancestors, debug_opt, did_action; int i, ch, bestidx, rv, criteria, pidfromfile, pidfilelock; size_t jsz; @@ -177,6 +178,7 @@ main(int argc, char **argv) } } + buf = NULL; ancestors = 0; criteria = 0; debug_opt = 0; @@ -311,6 +313,31 @@ main(int argc, char **argv) mypid = getpid(); + /* + * If we're not matching args, we only need a buffer large enough to + * hold some relatively short error strings. Otherwise, we have to + * assume we'll need up to ARG_MAX bytes for arguments. + */ + bufsz = _POSIX2_LINE_MAX; + if (matchargs) { + long arg_max; + + arg_max = sysconf(_SC_ARG_MAX); + if (arg_max == -1) + arg_max = ARG_MAX; + + /* + * The absolute worst case scenario is ARG_MAX single-byte + * arguments which we'll then separate with spaces and NUL + * terminate. + */ + bufsz = (arg_max * 2) + 1; + } + + buf = malloc(bufsz); + if (buf == NULL) + err(STATUS_ERROR, "malloc"); + /* * Retrieve the list of running processes from the kernel. */ @@ -346,7 +373,7 @@ main(int argc, char **argv) */ for (; *argv != NULL; argv++) { if ((rv = regcomp(®, *argv, cflags)) != 0) { - regerror(rv, ®, buf, sizeof(buf)); + regerror(rv, ®, buf, bufsz); errx(STATUS_BADUSAGE, "Cannot compile regular expression `%s' (%s)", *argv, buf); @@ -363,9 +390,9 @@ main(int argc, char **argv) if (matchargs && (pargv = kvm_getargv(kd, kp, 0)) != NULL) { jsz = 0; - while (jsz < sizeof(buf) && *pargv != NULL) { + while (jsz < bufsz && *pargv != NULL) { jsz += snprintf(buf + jsz, - sizeof(buf) - jsz, + bufsz - jsz, pargv[1] != NULL ? "%s " : "%s", pargv[0]); pargv++; @@ -384,7 +411,7 @@ main(int argc, char **argv) } else selected[i] = 1; } else if (rv != REG_NOMATCH) { - regerror(rv, ®, buf, sizeof(buf)); + regerror(rv, ®, buf, bufsz); errx(STATUS_ERROR, "Regular expression evaluation error (%s)", buf); @@ -576,6 +603,7 @@ main(int argc, char **argv) fprintf(stderr, "No matching processes belonging to you were found\n"); + free(buf); exit(rv ? STATUS_MATCH : STATUS_NOMATCH); } diff --git a/bin/pkill/tests/Makefile b/bin/pkill/tests/Makefile index be467074651f..9bf448bb2460 100644 --- a/bin/pkill/tests/Makefile +++ b/bin/pkill/tests/Makefile @@ -2,6 +2,11 @@ .include +PACKAGE= tests + +PROGS+= spin_helper +BINDIR= ${TESTSDIR} + TAP_TESTS_SH= pgrep-F_test TAP_TESTS_SH+= pgrep-LF_test TAP_TESTS_SH+= pgrep-P_test @@ -10,6 +15,7 @@ TAP_TESTS_SH+= pgrep-_g_test TAP_TESTS_SH+= pgrep-_s_test TAP_TESTS_SH+= pgrep-g_test TAP_TESTS_SH+= pgrep-i_test +TAP_TESTS_SH+= pgrep-f_test TAP_TESTS_SH+= pgrep-j_test TEST_METADATA.pgrep-j_test+= required_user="root" TEST_METADATA.pgrep-j_test+= required_programs="jail jls" diff --git a/bin/pkill/tests/pgrep-f_test.sh b/bin/pkill/tests/pgrep-f_test.sh new file mode 100644 index 000000000000..85b1878b97a6 --- /dev/null +++ b/bin/pkill/tests/pgrep-f_test.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# $FreeBSD$ + +: ${ARG_MAX:=524288} +base=$(dirname $(realpath "$0")) + +echo "1..2" + +waitfor() { + flagfile=$1 + + iter=0 + + while [ ! -f ${flagfile} ] && [ ${iter} -lt 50 ]; do + sleep 0.10 + iter=$((iter + 1)) + done + + if [ ! -f ${flagfile} ]; then + return 1 + fi +} + +sentinel="findme=test-$$" +sentinelsz=$(printf "${sentinel}" | wc -c | tr -d '[[:space:]]') +name="pgrep -f" +spin="${base}/spin_helper" +flagfile="pgrep_f_short.flag" + +${spin} --short ${flagfile} ${sentinel} & +chpid=$! +if ! waitfor ${flagfile}; then + echo "not ok - $name" +else + pid=$(pgrep -f ${sentinel}) + if [ "$pid" = "$chpid" ]; then + echo "ok - $name" + else + echo "not ok - $name" + fi +fi +kill $chpid + +name="pgrep -f long args" +flagfile="pgrep_f_long.flag" +${spin} --long ${flagfile} ${sentinel} & +chpid=$! +if ! waitfor ${flagfile}; then + echo "not ok - $name" +else + pid=$(pgrep -f ${sentinel}) + if [ "$pid" = "$chpid" ]; then + echo "ok - $name" + else + echo "not ok - $name" + fi +fi +kill $chpid diff --git a/bin/pkill/tests/spin_helper.c b/bin/pkill/tests/spin_helper.c new file mode 100644 index 000000000000..10541ad12516 --- /dev/null +++ b/bin/pkill/tests/spin_helper.c @@ -0,0 +1,123 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Klara, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +static int +exec_shortargs(char *argv[]) +{ + char *flag_arg = argv[2]; + char *sentinel = argv[3]; + char * nargv[] = { argv[0], __DECONST(char *, "--spin"), flag_arg, + sentinel, NULL }; + char * const nenvp[] = { NULL }; + + execve(argv[0], nargv, nenvp); + err(1, "execve"); +} + +static int +exec_largeargs(char *argv[]) +{ + char *flag_arg = argv[2]; + char *sentinel = argv[3]; + /* + * Account for each argument and their NUL terminator, as well as an + * extra NUL terminator. + */ + size_t bufsz = ARG_MAX - + ((strlen(argv[0]) + 1) + sizeof("--spin") + (strlen(flag_arg) + 1) + + (strlen(sentinel) + 1) + 1); + char *s = NULL; + char * nargv[] = { argv[0], __DECONST(char *, "--spin"), flag_arg, NULL, + sentinel, NULL }; + char * const nenvp[] = { NULL }; + + /* + * Our heuristic may or may not be accurate, we'll keep trying with + * smaller argument sizes as needed until we stop getting E2BIG. + */ + do { + if (s == NULL) + s = malloc(bufsz + 1); + else + s = realloc(s, bufsz + 1); + if (s == NULL) + abort(); + memset(s, 'x', bufsz); + s[bufsz] = '\0'; + nargv[3] = s; + + execve(argv[0], nargv, nenvp); + bufsz--; + } while (errno == E2BIG); + err(1, "execve"); +} + +int +main(int argc, char *argv[]) +{ + + if (argc > 1 && strcmp(argv[1], "--spin") == 0) { + int fd; + + if (argc < 4) { + fprintf(stderr, "usage: %s --spin flagfile ...\n", argv[0]); + return (1); + } + + fd = open(argv[2], O_RDWR | O_CREAT, 0755); + if (fd < 0) + err(1, "%s", argv[2]); + close(fd); + + for (;;) { + sleep(1); + } + + return (1); + } + + if (argc != 4) { + fprintf(stderr, "usage: %s [--short | --long] flagfile sentinel\n", + argv[0]); + return (1); + } + + if (strcmp(argv[1], "--short") == 0) + exec_shortargs(argv); + else + exec_largeargs(argv); +} From nobody Sun Apr 9 23:58:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvpvZ3QX3z44STr; Sun, 9 Apr 2023 23:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvpvZ16Hsz4Fg6; Sun, 9 Apr 2023 23:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m37QgbMBU0NL3uS2/TUFXormvDW2b0E+stOTFW+Gmos=; b=ub2sIdyKoM3wzNxaTnsEL+x5N6V59NmXLPiM9WsEcmgT6XIOrm9zB2ja9V3vx64hDZ1zkZ 1RebUZB5VLBENqKhrcVsrSL3mqXBAFrpbp8x1sL/tbeN45PUO2QhFyGX5rkKRRTrrrCFqj VEkPuSD3fSViP2HbnGBNAPtILCTKeqVp5K0gPFUWTJyN89Mklnjnrh+tIXtBX774cn4dKr ckUyzvY5C0QTncDzyYzOwLRZlzk2lhLLHtugfKVg2MnL/0FThBLC27NTTuLZDye34r3eJX cJO2FdMJB2PW0qINdEbHKEYqG1ggZNlKtT00G3p7iClvOPs7YxPnHakM8rvQsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m37QgbMBU0NL3uS2/TUFXormvDW2b0E+stOTFW+Gmos=; b=K/tp4qrR1Qxpu5mtmUxZjekasvsxwQ0ce/jRgcVj1dRoZBm2jpOPRgrLFz+3MtSEGKr3da ksc2XErLtSOotv368iuHgMKtk94Ilz2P6JOKGlMqJ1pCkAXAwGhpp4ZjI/jjM0AUyH57aN 5fvrFlHk0JI4K75CIcoXk1O9m0OgyQAvoLuMEWHsWbwkGAryX2NWKBZXU/yFGKvDd1hv2O RNDJuxbfRDhILe+EjOs1+vWlTq35u3VowbYwbJvImkL5nPt7zY7Cr4OMMkJ/P7p9u2q7Kd 7rudrtOsKQ6+vxIr1wV/0zqjmKWr3hKdvdo/hFmXpR7X64cYGi+Goj2SncYNUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084682; a=rsa-sha256; cv=none; b=g4eQr2QBJKJ9ki74SPF2yRqqQPgI7cpXPYdjlqvO+3+I139DVQ6HMWuGGsZRsuxctwCQ8X lU60U76Lp9ztvqTyZ5hB2cG7XIrrVENTKV17UTNsllwZMQcdX6mIlwqNggsJVJBzHve5iN p1LDkwwPawyaq97fitRqU8N980LlEWlkoxW/ebqKyK9yQPxA4oliyfzCGPqjc9xrKB7tAx 8IOdiwqFc+Sh3pYrV5RRz4t+84mxkIXEfYmNFHzURyRjPb1OD+m9hHL1ogUyJpd7EIAKp0 R0JCz9fTQ6UzgxxYlp+THOFsgfSSJ7rpmfUy17KA6ejUOCxnbf9vlQrcxbcOHA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvY3PHLzSmp; Sun, 9 Apr 2023 23:58:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339Nw1jl012020; Sun, 9 Apr 2023 23:58:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Nw1tG012019; Sun, 9 Apr 2023 23:58:01 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:58:01 GMT Message-Id: <202304092358.339Nw1tG012019@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 7ad1bebb0f1d - stable/13 - daemon: move signal setup into a function List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7ad1bebb0f1d4b95d6bcdb59b90f1b234e6532b4 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=7ad1bebb0f1d4b95d6bcdb59b90f1b234e6532b4 commit 7ad1bebb0f1d4b95d6bcdb59b90f1b234e6532b4 Author: Ihor Antonov AuthorDate: 2023-03-21 04:40:04 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:52 +0000 daemon: move signal setup into a function No functional change intended. Reviewed by: kevans (cherry picked from commit 9ee1faeebab594712ed302ea51949410c9744920) --- usr.sbin/daemon/daemon.c | 142 ++++++++++++++++++++++++++--------------------- 1 file changed, 79 insertions(+), 63 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 54e2aeea6874..983dbdc7ed8c 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -83,6 +83,7 @@ struct daemon_state { bool log_reopen; }; +static void setup_signals(struct daemon_state *); static void restrict_process(const char *); static void handle_term(int); static void handle_chld(int); @@ -168,10 +169,40 @@ main(int argc, char *argv[]) sigset_t mask_susp; daemon_state_init(&state); + + /* + * Signal handling logic: + * + * - SIGTERM is masked while there is no child. + * + * - SIGCHLD is masked while reading from the pipe. SIGTERM has to be + * caught, to avoid indefinite blocking on read(). + * + * - Both SIGCHLD and SIGTERM are masked before calling sigsuspend() + * to avoid racing. + * + * - After SIGTERM is recieved and propagated to the child there are + * several options on what to do next: + * - read until EOF + * - read until EOF but only for a while + * - bail immediately + * Currently the third option is used, because otherwise there is no + * guarantee that read() won't block indefinitely if the child refuses + * to depart. To handle the second option, a different approach + * would be needed (procctl()?). + * + * - Child's exit might be detected by receiveing EOF from the pipe. + * But the child might have closed its stdout and stderr, so deamon + * must wait for the SIGCHLD to ensure that the child is actually gone. + */ sigemptyset(&mask_susp); sigemptyset(&mask_read); sigemptyset(&mask_term); sigemptyset(&mask_orig); + sigaddset(&mask_susp, SIGTERM); + sigaddset(&mask_susp, SIGCHLD); + sigaddset(&mask_term, SIGTERM); + sigaddset(&mask_read, SIGCHLD); /* * Supervision mode is enabled if one of the following options are used: @@ -312,57 +343,20 @@ main(int argc, char *argv[]) pidfile_write(state.parent_pidfh); if (state.supervision_enabled) { - struct sigaction act_term = { 0 }; - struct sigaction act_chld = { 0 }; - struct sigaction act_hup = { 0 }; - - /* Avoid PID racing with SIGCHLD and SIGTERM. */ - act_term.sa_handler = handle_term; - sigemptyset(&act_term.sa_mask); - sigaddset(&act_term.sa_mask, SIGCHLD); - - act_chld.sa_handler = handle_chld; - sigemptyset(&act_chld.sa_mask); - sigaddset(&act_chld.sa_mask, SIGTERM); - - act_hup.sa_handler = handle_hup; - sigemptyset(&act_hup.sa_mask); - - /* Block these when avoiding racing before sigsuspend(). */ - sigaddset(&mask_susp, SIGTERM); - sigaddset(&mask_susp, SIGCHLD); - /* Block SIGTERM when we lack a valid child PID. */ - sigaddset(&mask_term, SIGTERM); - /* - * When reading, we wish to avoid SIGCHLD. SIGTERM - * has to be caught, otherwise we'll be stuck until - * the read() returns - if it returns. - */ - sigaddset(&mask_read, SIGCHLD); /* Block SIGTERM to avoid racing until we have forked. */ if (sigprocmask(SIG_BLOCK, &mask_term, &mask_orig)) { warn("sigprocmask"); daemon_terminate(&state); } - if (sigaction(SIGTERM, &act_term, NULL) == -1) { - warn("sigaction"); - daemon_terminate(&state); - } - if (sigaction(SIGCHLD, &act_chld, NULL) == -1) { - warn("sigaction"); - daemon_terminate(&state); - } + + setup_signals(&state); + /* * Try to protect against pageout kill. Ignore the * error, madvise(2) will fail only if a process does * not have superuser privileges. */ (void)madvise(NULL, 0, MADV_PROTECT); - if (state.log_reopen && state.output_fd >= 0 && - sigaction(SIGHUP, &act_hup, NULL) == -1) { - warn("sigaction"); - daemon_terminate(&state); - } restart: if (pipe(state.pipe_fd)) { err(1, "pipe"); @@ -419,9 +413,9 @@ restart: /* * else: pid > 0 * fork succeeded, this is the parent branch, this can only happen when - * supervision is enabled + * supervision is enabled. * - * Unblock SIGTERM after we know we have a valid child PID to signal. + * Unblock SIGTERM - now there is a valid child PID to signal to. */ if (sigprocmask(SIG_UNBLOCK, &mask_term, NULL)) { warn("sigprocmask"); @@ -431,28 +425,7 @@ restart: state.pipe_fd[1] = -1; setproctitle("%s[%d]", state.title, (int)pid); - /* - * As we have closed the write end of pipe for parent process, - * we might detect the child's exit by reading EOF. The child - * might have closed its stdout and stderr, so we must wait for - * the SIGCHLD to ensure that the process is actually gone. - */ for (;;) { - /* - * We block SIGCHLD when listening, but SIGTERM we accept - * so the read() won't block if we wish to depart. - * - * Upon receiving SIGTERM, we have several options after - * sending the SIGTERM to our child: - * - read until EOF - * - read until EOF but only for a while - * - bail immediately - * - * We go for the third, as otherwise we have no guarantee - * that we won't block indefinitely if the child refuses - * to depart. To handle the second option, a different - * approach would be needed (procctl()?) - */ if (child_gone && state.child_eof) { break; } @@ -516,6 +489,49 @@ daemon_sleep(time_t secs, long nsecs) } } +/* + * Setup SIGTERM, SIGCHLD and SIGHUP handlers. + * To avoid racing SIGCHLD with SIGTERM corresponding + * signal handlers mask the other signal. + */ +static void +setup_signals(struct daemon_state *state) +{ + struct sigaction act_term = { 0 }; + struct sigaction act_chld = { 0 }; + struct sigaction act_hup = { 0 }; + + /* Setup SIGTERM */ + act_term.sa_handler = handle_term; + sigemptyset(&act_term.sa_mask); + sigaddset(&act_term.sa_mask, SIGCHLD); + if (sigaction(SIGTERM, &act_term, NULL) == -1) { + warn("sigaction"); + daemon_terminate(state); + } + + /* Setup SIGCHLD */ + act_chld.sa_handler = handle_chld; + sigemptyset(&act_chld.sa_mask); + sigaddset(&act_chld.sa_mask, SIGTERM); + if (sigaction(SIGCHLD, &act_chld, NULL) == -1) { + warn("sigaction"); + daemon_terminate(state); + } + + /* Setup SIGHUP if configured */ + if (!state->log_reopen || state->output_fd < 0) { + return; + } + + act_hup.sa_handler = handle_hup; + sigemptyset(&act_hup.sa_mask); + if (sigaction(SIGHUP, &act_hup, NULL) == -1) { + warn("sigaction"); + daemon_terminate(state); + } +} + static void open_pid_files(struct daemon_state *state) { From nobody Sun Apr 9 23:58:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvpvb45gQz44Srh; Sun, 9 Apr 2023 23:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvpvb19Nxz4FWt; Sun, 9 Apr 2023 23:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=edslcl/WMp5i2IDkvyHd7EG1ZZhombQcCUtpvW/J2bU=; b=w+0aBaBD3fwzX3RrbcOKm3ja9c9E0wXZm/uesvlHwOE1vetRe0fhhffyOMkkY7GSQhhw6u gxP38eSWj4/eKQNrDD8L0rKLX4FTesG4fp8uQMIv6EzGi5bdhzOzBYQxoxBjoGOblD+XQ8 BHvBBQeAxPiP/nCYNe1pcB874zY9ACajUkR2OIaZGJh/0Ne7+e6RcTS+GxjEmew7UvoAG/ P/PknSXvU1KIlqh8Rsl/EPU5RB6ayNnBhxykoAj/S57LfX80YIOh5uIgcIVkRrHf32TXws lKnFzCGKjN+bgQeY+4wvxRATrNR5C9woQQRv3r2gXPPTrwxMnm12kgDZmdNFmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=edslcl/WMp5i2IDkvyHd7EG1ZZhombQcCUtpvW/J2bU=; b=Lqg0KGkUIPEcjgaiEAqCJWyLM9n7HawmPmyPs8tX4Uga2b9Y/SPUPNHZZDwJthgrUGBLTB xgDa3kxtZq1Nk4/QEcvDA6ixNe/ERS0+5U0A59Fwn/hIW9ggtqK31YSY6xlqK/Y0GaSbTs IjtLhihV2QdsxFvIWvgsNQSRy0alEeinKCiMgzVQe5BVQhHHUUS09tk7OtynD/LwSSjejh 1Wp6zhKSes3DDfXWv/Kcq3VP6guSSnxCBbAgbzsppCY2K6EbmNW/GGeqI2uiKR1gZ1zyuh O5yYQWDKwufm1otu535pX0cW5rwl/j7gjbTQjrxX+bx5Fro84OLmN9zB32DCuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084683; a=rsa-sha256; cv=none; b=D4K0yDjbJYyxUSEdKJsTz0ijb9TXcrMGd2viwo3VyYx8OuwYlPN2kHOCDaoe7svBeBxHLq K/8dHzbYR1uugtiVxR/awn0n2oS00jD/czRjLna7S7jSuF3SPIxJtNnVMTwEa6TV3vlvq+ Llx/M8MMBoxbrKpEskz2u2VTrFVQlJJ6T0RmR2Gj3OxEGgCx9n2ZB0er/EWPZbueKG62Wb Z2Z1IUssMECtjoPAGZl3HutAG3HrnZUGNCcpZCoXCktDKDQviSl3s2nepqe2gH92l6S6cS 2lVwfE+kiG5b9X8ScdxeERrePJ7mJAYClQt9Avrpx9qdk6SoSQKEg1Gj/v7iAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvpvZ4KmfzSch; Sun, 9 Apr 2023 23:58:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339Nw2ST012039; Sun, 9 Apr 2023 23:58:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Nw2R6012038; Sun, 9 Apr 2023 23:58:02 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:58:02 GMT Message-Id: <202304092358.339Nw2R6012038@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 81f89a76e8fa - stable/13 - daemon: decouple init logic from main loop List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 81f89a76e8fa9a9fba8f8cfdf44addf8bae2d448 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=81f89a76e8fa9a9fba8f8cfdf44addf8bae2d448 commit 81f89a76e8fa9a9fba8f8cfdf44addf8bae2d448 Author: Ihor Antonov AuthorDate: 2023-03-23 02:37:12 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:52 +0000 daemon: decouple init logic from main loop main() func contained both initialization and main loop logic. This made certain operations like restarting problematic and required dirty hacks in form of goto jumps. This commit moves the main loop logic into daemon_eventloop(), cleans up main, and makes restart logic clear: daemon_mainloop() is run in a loop with a restart condition checked at the end. Reviewed by: kevans (cherry picked from commit 4c41f4a0d67fc93cfb07ad5287f02d024d19ef5a) --- usr.sbin/daemon/daemon.c | 195 ++++++++++++++++++++++++++--------------------- 1 file changed, 109 insertions(+), 86 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 983dbdc7ed8c..4b218c2b53c5 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -60,7 +60,12 @@ __FBSDID("$FreeBSD$"); #define LBUF_SIZE 4096 struct daemon_state { + sigset_t mask_orig; + sigset_t mask_read; + sigset_t mask_term; + sigset_t mask_susp; int pipe_fd[2]; + char **argv; const char *child_pidfile; const char *parent_pidfile; const char *output_filename; @@ -96,6 +101,7 @@ static void open_pid_files(struct daemon_state *); static void do_output(const unsigned char *, size_t, struct daemon_state *); static void daemon_sleep(time_t, long); static void daemon_state_init(struct daemon_state *); +static void daemon_eventloop(struct daemon_state *); static void daemon_terminate(struct daemon_state *); static volatile sig_atomic_t terminate = 0; @@ -163,47 +169,9 @@ main(int argc, char *argv[]) char *p = NULL; int ch = 0; struct daemon_state state; - sigset_t mask_orig; - sigset_t mask_read; - sigset_t mask_term; - sigset_t mask_susp; daemon_state_init(&state); - /* - * Signal handling logic: - * - * - SIGTERM is masked while there is no child. - * - * - SIGCHLD is masked while reading from the pipe. SIGTERM has to be - * caught, to avoid indefinite blocking on read(). - * - * - Both SIGCHLD and SIGTERM are masked before calling sigsuspend() - * to avoid racing. - * - * - After SIGTERM is recieved and propagated to the child there are - * several options on what to do next: - * - read until EOF - * - read until EOF but only for a while - * - bail immediately - * Currently the third option is used, because otherwise there is no - * guarantee that read() won't block indefinitely if the child refuses - * to depart. To handle the second option, a different approach - * would be needed (procctl()?). - * - * - Child's exit might be detected by receiveing EOF from the pipe. - * But the child might have closed its stdout and stderr, so deamon - * must wait for the SIGCHLD to ensure that the child is actually gone. - */ - sigemptyset(&mask_susp); - sigemptyset(&mask_read); - sigemptyset(&mask_term); - sigemptyset(&mask_orig); - sigaddset(&mask_susp, SIGTERM); - sigaddset(&mask_susp, SIGCHLD); - sigaddset(&mask_term, SIGTERM); - sigaddset(&mask_read, SIGCHLD); - /* * Supervision mode is enabled if one of the following options are used: * --child-pidfile -p @@ -309,6 +277,7 @@ main(int argc, char *argv[]) } argc -= optind; argv += optind; + state.argv = argv; if (argc == 0) { usage(1); @@ -343,8 +312,8 @@ main(int argc, char *argv[]) pidfile_write(state.parent_pidfh); if (state.supervision_enabled) { - /* Block SIGTERM to avoid racing until we have forked. */ - if (sigprocmask(SIG_BLOCK, &mask_term, &mask_orig)) { + /* Block SIGTERM to avoid racing until the child is spawned. */ + if (sigprocmask(SIG_BLOCK, &state.mask_term, &state.mask_orig)) { warn("sigprocmask"); daemon_terminate(&state); } @@ -357,8 +326,50 @@ main(int argc, char *argv[]) * not have superuser privileges. */ (void)madvise(NULL, 0, MADV_PROTECT); -restart: - if (pipe(state.pipe_fd)) { + } + do { + daemon_eventloop(&state); + close(state.pipe_fd[0]); + state.pipe_fd[0] = -1; + } while (state.restart_enabled && !terminate); + + daemon_terminate(&state); +} + + +/* + * Main event loop: fork the child and watch for events. + * In legacy mode simply execve into the target process. + * + * Signal handling logic: + * + * - SIGTERM is masked while there is no child. + * + * - SIGCHLD is masked while reading from the pipe. SIGTERM has to be + * caught, to avoid indefinite blocking on read(). + * + * - Both SIGCHLD and SIGTERM are masked before calling sigsuspend() + * to avoid racing. + * + * - After SIGTERM is recieved and propagated to the child there are + * several options on what to do next: + * - read until EOF + * - read until EOF but only for a while + * - bail immediately + * Currently the third option is used, because otherwise there is no + * guarantee that read() won't block indefinitely if the child refuses + * to depart. To handle the second option, a different approach + * would be needed (procctl()?). + * + * - Child's exit might be detected by receiveing EOF from the pipe. + * But the child might have closed its stdout and stderr, so deamon + * must wait for the SIGCHLD to ensure that the child is actually gone. + */ +static void +daemon_eventloop(struct daemon_state *state) +{ + if (state->supervision_enabled) { + if (pipe(state->pipe_fd)) { err(1, "pipe"); } /* @@ -371,43 +382,43 @@ restart: /* fork failed, this can only happen when supervision is enabled */ if (pid == -1) { warn("fork"); - daemon_terminate(&state); + daemon_terminate(state); } /* fork succeeded, this is child's branch or supervision is disabled */ if (pid == 0) { - pidfile_write(state.child_pidfh); + pidfile_write(state->child_pidfh); - if (state.user != NULL) { - restrict_process(state.user); + if (state->user != NULL) { + restrict_process(state->user); } /* * In supervision mode, the child gets the original sigmask, * and dup'd pipes. */ - if (state.supervision_enabled) { - close(state.pipe_fd[0]); - if (sigprocmask(SIG_SETMASK, &mask_orig, NULL)) { + if (state->supervision_enabled) { + close(state->pipe_fd[0]); + if (sigprocmask(SIG_SETMASK, &state->mask_orig, NULL)) { err(1, "sigprogmask"); } - if (state.stdmask & STDERR_FILENO) { - if (dup2(state.pipe_fd[1], STDERR_FILENO) == -1) { + if (state->stdmask & STDERR_FILENO) { + if (dup2(state->pipe_fd[1], STDERR_FILENO) == -1) { err(1, "dup2"); } } - if (state.stdmask & STDOUT_FILENO) { - if (dup2(state.pipe_fd[1], STDOUT_FILENO) == -1) { + if (state->stdmask & STDOUT_FILENO) { + if (dup2(state->pipe_fd[1], STDOUT_FILENO) == -1) { err(1, "dup2"); } } - if (state.pipe_fd[1] != STDERR_FILENO && - state.pipe_fd[1] != STDOUT_FILENO) { - close(state.pipe_fd[1]); + if (state->pipe_fd[1] != STDERR_FILENO && + state->pipe_fd[1] != STDOUT_FILENO) { + close(state->pipe_fd[1]); } } - execvp(argv[0], argv); + execvp(state->argv[0], state->argv); /* execvp() failed - report error and exit this process */ - err(1, "%s", argv[0]); + err(1, "%s", state->argv[0]); } /* @@ -417,64 +428,65 @@ restart: * * Unblock SIGTERM - now there is a valid child PID to signal to. */ - if (sigprocmask(SIG_UNBLOCK, &mask_term, NULL)) { + if (sigprocmask(SIG_UNBLOCK, &state->mask_term, NULL)) { warn("sigprocmask"); - daemon_terminate(&state); + daemon_terminate(state); } - close(state.pipe_fd[1]); - state.pipe_fd[1] = -1; + close(state->pipe_fd[1]); + state->pipe_fd[1] = -1; - setproctitle("%s[%d]", state.title, (int)pid); + setproctitle("%s[%d]", state->title, (int)pid); for (;;) { - if (child_gone && state.child_eof) { + if (child_gone && state->child_eof) { break; } if (terminate) { - daemon_terminate(&state); + daemon_terminate(state); } - if (state.child_eof) { - if (sigprocmask(SIG_BLOCK, &mask_susp, NULL)) { + if (state->child_eof) { + if (sigprocmask(SIG_BLOCK, &state->mask_susp, NULL)) { warn("sigprocmask"); - daemon_terminate(&state); + daemon_terminate(state); } while (!terminate && !child_gone) { - sigsuspend(&mask_orig); + sigsuspend(&state->mask_orig); } - if (sigprocmask(SIG_UNBLOCK, &mask_susp, NULL)) { + if (sigprocmask(SIG_UNBLOCK, &state->mask_susp, NULL)) { warn("sigprocmask"); - daemon_terminate(&state); + daemon_terminate(state); } continue; } - if (sigprocmask(SIG_BLOCK, &mask_read, NULL)) { + if (sigprocmask(SIG_BLOCK, &state->mask_read, NULL)) { warn("sigprocmask"); - daemon_terminate(&state); + daemon_terminate(state); } - state.child_eof = !listen_child(state.pipe_fd[0], &state); + state->child_eof = !listen_child(state->pipe_fd[0], state); - if (sigprocmask(SIG_UNBLOCK, &mask_read, NULL)) { + if (sigprocmask(SIG_UNBLOCK, &state->mask_read, NULL)) { warn("sigprocmask"); - daemon_terminate(&state); + daemon_terminate(state); } } - if (state.restart_enabled && !terminate) { - daemon_sleep(state.restart_delay, 0); - } - if (sigprocmask(SIG_BLOCK, &mask_term, NULL)) { + + /* + * At the end of the loop the the child is already gone. + * Block SIGTERM to avoid racing until the child is spawned. + */ + if (sigprocmask(SIG_BLOCK, &state->mask_term, NULL)) { warn("sigprocmask"); - daemon_terminate(&state); + daemon_terminate(state); } - if (state.restart_enabled && !terminate) { - close(state.pipe_fd[0]); - state.pipe_fd[0] = -1; - goto restart; + + /* sleep before exiting mainloop if restart is enabled */ + if (state->restart_enabled && !terminate) { + daemon_sleep(state->restart_delay, 0); } - daemon_terminate(&state); } static void @@ -746,6 +758,7 @@ daemon_state_init(struct daemon_state *state) { *state = (struct daemon_state) { .pipe_fd = { -1, -1 }, + .argv = NULL, .parent_pidfh = NULL, .child_pidfh = NULL, .child_pidfile = NULL, @@ -767,6 +780,16 @@ daemon_state_init(struct daemon_state *state) .output_fd = -1, .output_filename = NULL, }; + + sigemptyset(&state->mask_susp); + sigemptyset(&state->mask_read); + sigemptyset(&state->mask_term); + sigemptyset(&state->mask_orig); + sigaddset(&state->mask_susp, SIGTERM); + sigaddset(&state->mask_susp, SIGCHLD); + sigaddset(&state->mask_term, SIGTERM); + sigaddset(&state->mask_read, SIGCHLD); + } static _Noreturn void From nobody Sun Apr 9 23:58:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvpvc1pGJz44SdQ; Sun, 9 Apr 2023 23:58:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvpvb75mzz4FjW; Sun, 9 Apr 2023 23:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xASYTqvLNhH745vffauBh7uZq3TszJtPSVgSKpNCU4w=; b=MCSCTaGqq8qQNsM1JNYo/R+zQ/Jsku97cx5S+VaDyv50j2V2cMKnPBXHG6tF3QgfNIHaaQ Ka/qg8G8KfIyeNQ2UvEu6TPPCIAz9k/sg8Nj/Lw9wCPrqUvV4rib6icHjl7Rujxs5FefUl aDqtk0sr4fuhrGWqvbwHqAzRG1eicd20StlKA6yjcMwt2tIK6QNcPt2bdy4kw+LomOYori pv1nZV8EEil1dvYnLWmoT7FZyI2mXNjLG9JC6k6lxYnvwbyDobEmrYx8ScNT15c+DYBSDR sSbjhBJnaBUya68JlBg/UF8bR0zL/0pPlHp8NgnsjG/oBY1uRspLKNj9i6+aNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681084684; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xASYTqvLNhH745vffauBh7uZq3TszJtPSVgSKpNCU4w=; b=AXqzO72/dIP2AX69Mz+xhSoj/8abas4CZleqnwVx7KnI7x2fSfOVatCYVAW3JxLCvYZuAA HGkVs5N/0cMrZ2Y/aHMNFlDi88oTouqasROgD+YlxNVYVfT/+2nAuigeWfIjX+fJPmx6iF sbfwHJ9EtID9HjN3r/zNTjujGv13xJELNazp5RTS20w0S/8z5H/aTWAqZoWRlDSL+r1NZx /WBHI8SXurBhr/aygzBK9/PzZGQA2HdADHD5EpvWIO5jeyiLLdgs1m7xW9LrZqqeA3dya0 3u3Ncm0eNMru4lIAyxf5ogFAFvaM9rj37M0dGy3NuFu5yRlb2jW2M1aqteSOdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681084684; a=rsa-sha256; cv=none; b=FABNL9DsQ0goZVAh7b6GlAvAXK/RuKcM5Ln7SHh4QDLRxMQzG5IUNRKBYCa0PifDMRsJZ4 AJKuNuckFXqMNkrzQWH4kMKzVVADuhD/2488/aCqnZqdamrRaT5Gyl/UTpRzmZysqElSCV DUBrKOnmC6ixpPhe08dre8z8Ia9HPEnrNMGGIgtve+HOHymdZ/PKsFY2mpuTCx1m2OPxTg Da/BGyJ55itzdQ7NF8BGCjpdNZ+Eg5fDC6eACfbZE+kN9vlM/exHuE2n5/JkVEE2Oz/dgB Hj37P51Lc8ZAbpXtOy4mXr/Kh8nu32+Yu5+fjfyV9FluMMLvabu9KTpUYh13Rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvpvb4zkrzSmq; Sun, 9 Apr 2023 23:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 339Nw3mt012064; Sun, 9 Apr 2023 23:58:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 339Nw3mJ012063; Sun, 9 Apr 2023 23:58:03 GMT (envelope-from git) Date: Sun, 9 Apr 2023 23:58:03 GMT Message-Id: <202304092358.339Nw3mJ012063@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kyle Evans Subject: git: 535fc5f75e20 - stable/13 - daemon: reformat longopts List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 535fc5f75e20e745823cc694a4ee7deb9913553f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=535fc5f75e20e745823cc694a4ee7deb9913553f commit 535fc5f75e20e745823cc694a4ee7deb9913553f Author: Kyle Evans AuthorDate: 2023-03-23 02:39:10 +0000 Commit: Kyle Evans CommitDate: 2023-04-09 22:49:52 +0000 daemon: reformat longopts Use a single tab instead of eight spaces, these aren't line continuations. (cherry picked from commit b84aaf143c5097e6b2481b9afec66c90deec627f) --- usr.sbin/daemon/daemon.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/usr.sbin/daemon/daemon.c b/usr.sbin/daemon/daemon.c index 4b218c2b53c5..790b0f6fcd0f 100644 --- a/usr.sbin/daemon/daemon.c +++ b/usr.sbin/daemon/daemon.c @@ -112,23 +112,23 @@ static volatile sig_atomic_t do_log_reopen = 0; static const char shortopts[] = "+cfHSp:P:ru:o:s:l:t:m:R:T:h"; static const struct option longopts[] = { - { "change-dir", no_argument, NULL, 'c' }, - { "close-fds", no_argument, NULL, 'f' }, - { "sighup", no_argument, NULL, 'H' }, - { "syslog", no_argument, NULL, 'S' }, - { "output-file", required_argument, NULL, 'o' }, - { "output-mask", required_argument, NULL, 'm' }, - { "child-pidfile", required_argument, NULL, 'p' }, - { "supervisor-pidfile", required_argument, NULL, 'P' }, - { "restart", no_argument, NULL, 'r' }, - { "restart-delay", required_argument, NULL, 'R' }, - { "title", required_argument, NULL, 't' }, - { "user", required_argument, NULL, 'u' }, - { "syslog-priority", required_argument, NULL, 's' }, - { "syslog-facility", required_argument, NULL, 'l' }, - { "syslog-tag", required_argument, NULL, 'T' }, - { "help", no_argument, NULL, 'h' }, - { NULL, 0, NULL, 0 } + { "change-dir", no_argument, NULL, 'c' }, + { "close-fds", no_argument, NULL, 'f' }, + { "sighup", no_argument, NULL, 'H' }, + { "syslog", no_argument, NULL, 'S' }, + { "output-file", required_argument, NULL, 'o' }, + { "output-mask", required_argument, NULL, 'm' }, + { "child-pidfile", required_argument, NULL, 'p' }, + { "supervisor-pidfile", required_argument, NULL, 'P' }, + { "restart", no_argument, NULL, 'r' }, + { "restart-delay", required_argument, NULL, 'R' }, + { "title", required_argument, NULL, 't' }, + { "user", required_argument, NULL, 'u' }, + { "syslog-priority", required_argument, NULL, 's' }, + { "syslog-facility", required_argument, NULL, 'l' }, + { "syslog-tag", required_argument, NULL, 'T' }, + { "help", no_argument, NULL, 'h' }, + { NULL, 0, NULL, 0 } }; static _Noreturn void From nobody Mon Apr 10 04:16:42 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf31f7Lz44kSP; Mon, 10 Apr 2023 04:16:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf309fLz4MTk; Mon, 10 Apr 2023 04:16:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=As79e0rmf9Zq9kVVoXku92lEuQPVwR+tSGO1S7XGUxA=; b=legEcUlo+ckvAfo3IbrEzY3494iK8LzpQxKn5rpSXTv2pUQh6pv1LKw6d8YanY6wygkcMt QJXwgn2WpxfacpuWQ8GBzSfgCYFpCe5DYHevxl07nM2PPN2z+y2lUV9UlYMBcWZfCLICSF krwAFnbD/e2FvIP5+z+SXtO/UBneUvrWu2KmLw5zK0Dg5EgOGZqLQmo16BK2YYp1MNITEE AVUKYWK9xEbBHsUjRl9KkzNUTt34oNOMYSKkuM+ZLys+2ZNMHMWR34Fbl6+cCkIoJkTGcw fnyKl3f2K1mXW9iJ7fRJdXeb1FK+jd4rUIWZpxoNLynYTwLx1LOU3ODLm46m9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=As79e0rmf9Zq9kVVoXku92lEuQPVwR+tSGO1S7XGUxA=; b=evzW5tQExxpAqswUEF8+aQw0xEqAYU9QWZ8krL/+GuYT0O96ryqIrA+gHtomXePrE9+AkB gQ+F7MSbX8HDxX3k7ZCg2LJg6wfATbnI1Bv9Ny9VDuaQ4a9z094rR96wZvD5LJ0yAb5ick WkEBiv3eHYZAAyJ6jACetJuURqH4Jp4ZTZx18lvChKzGd7jyTpXo8HCBKriPojkL9zhsP4 91MNKXep+iZcfabT8ZwfzbaYh0J8VkYPiywL2p8Bl8d7S14znobahQUHVLkthSAIxIRspw bnZFBG2jL1ayQgYmFDKv9px3XG0nJNWIFn8IeSVLpgWjCrf7jucKK5kmH7sFfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100203; a=rsa-sha256; cv=none; b=l999WXESk0yasNck7rpiuZ/WXrjiY1QaSsR8eyF88GHXgV56el9PiwgQtMd5GzZqKM5y7L ZdHC9cvOvGvY4MCTPxSQaPorNl1n7nyBZVi8kNFGcjQddxn/IFENqEC6cjsHD8bL9+Qme6 w0GnsCFZcyrYbyv0pxR9EVfm07aPpz36ZtToYpyjpQ65o+Crf1aQ4Q1JnKOiNL1+xzy+uc pxlbjJXj2ijNEsbXtLvqhLtz54e4VGfJltr3V6+NSF+g+ayyK8Otd/N3QwVuYAOK9NN7xp PaNTpRQZ0ZjT6wYOM9UyNw3JyV7XF/YJETLSX6UEya6cdv1HPwUi8FU8gubq7w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf261SqzbmF; Mon, 10 Apr 2023 04:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4Gggs039518; Mon, 10 Apr 2023 04:16:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GgWF039517; Mon, 10 Apr 2023 04:16:42 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:42 GMT Message-Id: <202304100416.33A4GgWF039517@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 9d1d0667c7fd - stable/13 - lagg: Various style fixes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9d1d0667c7fd9955711b39abf17750fd2a9d01fd Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9d1d0667c7fd9955711b39abf17750fd2a9d01fd commit 9d1d0667c7fd9955711b39abf17750fd2a9d01fd Author: Zhenlei Huang AuthorDate: 2023-03-24 09:55:15 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 lagg: Various style fixes MFC after: 1 week (cherry picked from commit dcd7f0bd02f407952de42d96e1c2c01ee3460702) --- sys/net/if_lagg.c | 45 ++++++++++++++++++++++----------------------- sys/net/if_lagg.h | 2 +- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index eeae7273ad2a..e559371f2d37 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -152,15 +152,15 @@ static int lagg_snd_tag_query(struct m_snd_tag *, union if_snd_tag_query_params *); static void lagg_snd_tag_free(struct m_snd_tag *); static struct m_snd_tag *lagg_next_snd_tag(struct m_snd_tag *); -static void lagg_ratelimit_query(struct ifnet *, +static void lagg_ratelimit_query(struct ifnet *, struct if_ratelimit_query_results *); #endif static int lagg_setmulti(struct lagg_port *); static int lagg_clrmulti(struct lagg_port *); -static int lagg_setcaps(struct lagg_port *, int cap); -static int lagg_setflag(struct lagg_port *, int, int, +static int lagg_setcaps(struct lagg_port *, int cap); +static int lagg_setflag(struct lagg_port *, int, int, int (*func)(struct ifnet *, int)); -static int lagg_setflags(struct lagg_port *, int status); +static int lagg_setflags(struct lagg_port *, int status); static uint64_t lagg_get_counter(struct ifnet *ifp, ift_counter cnt); static int lagg_transmit_ethernet(struct ifnet *, struct mbuf *); static int lagg_transmit_infiniband(struct ifnet *, struct mbuf *); @@ -168,7 +168,7 @@ static void lagg_qflush(struct ifnet *); static int lagg_media_change(struct ifnet *); static void lagg_media_status(struct ifnet *, struct ifmediareq *); static struct lagg_port *lagg_link_active(struct lagg_softc *, - struct lagg_port *); + struct lagg_port *); /* Simple round robin */ static void lagg_rr_attach(struct lagg_softc *); @@ -192,7 +192,7 @@ static struct mbuf *lagg_lb_input(struct lagg_softc *, struct lagg_port *, static int lagg_lb_porttable(struct lagg_softc *, struct lagg_port *); /* Broadcast */ -static int lagg_bcast_start(struct lagg_softc *, struct mbuf *); +static int lagg_bcast_start(struct lagg_softc *, struct mbuf *); static struct mbuf *lagg_bcast_input(struct lagg_softc *, struct lagg_port *, struct mbuf *); @@ -475,7 +475,7 @@ lagg_register_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag) struct lagg_softc *sc = ifp->if_softc; struct lagg_port *lp; - if (ifp->if_softc != arg) /* Not our event */ + if (ifp->if_softc != arg) /* Not our event */ return; LAGG_XLOCK(sc); @@ -494,7 +494,7 @@ lagg_unregister_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag) struct lagg_softc *sc = ifp->if_softc; struct lagg_port *lp; - if (ifp->if_softc != arg) /* Not our event */ + if (ifp->if_softc != arg) /* Not our event */ return; LAGG_XLOCK(sc); @@ -532,7 +532,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params) if_type = IFT_ETHER; } - sc = malloc(sizeof(*sc), M_LAGG, M_WAITOK|M_ZERO); + sc = malloc(sizeof(*sc), M_LAGG, M_WAITOK | M_ZERO); ifp = sc->sc_ifp = if_alloc(if_type); if (ifp == NULL) { free(sc, M_LAGG); @@ -551,7 +551,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params) sc->flowid_shift = V_def_flowid_shift; /* Hash all layers by default */ - sc->sc_flags = MBUF_HASHFLAG_L2|MBUF_HASHFLAG_L3|MBUF_HASHFLAG_L4; + sc->sc_flags = MBUF_HASHFLAG_L2 | MBUF_HASHFLAG_L3 | MBUF_HASHFLAG_L4; lagg_proto_attach(sc, LAGG_PROTO_DEFAULT); @@ -792,7 +792,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp) ifr.ifr_mtu = oldmtu; } - lp = malloc(sizeof(struct lagg_port), M_LAGG, M_WAITOK|M_ZERO); + lp = malloc(sizeof(struct lagg_port), M_LAGG, M_WAITOK | M_ZERO); lp->lp_softc = sc; /* Check if port is a stacked lagg */ @@ -862,7 +862,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp) CK_SLIST_FOREACH(tlp, &sc->sc_ports, lp_entries) { if (tlp->lp_ifp->if_index < ifp->if_index && ( CK_SLIST_NEXT(tlp, lp_entries) == NULL || - ((struct lagg_port*)CK_SLIST_NEXT(tlp, lp_entries))->lp_ifp->if_index > + ((struct lagg_port*)CK_SLIST_NEXT(tlp, lp_entries))->lp_ifp->if_index > ifp->if_index)) break; } @@ -1076,15 +1076,15 @@ fallback: } /* - * Requests counter @cnt data. + * Requests counter @cnt data. * * Counter value is calculated the following way: - * 1) for each port, sum difference between current and "initial" measurements. + * 1) for each port, sum difference between current and "initial" measurements. * 2) add lagg logical interface counters. * 3) add data from detached_counters array. * * We also do the following things on ports attach/detach: - * 1) On port attach we store all counters it has into port_counter array. + * 1) On port attach we store all counters it has into port_counter array. * 2) On port detach we add the different between "initial" and * current counters data to detached_counters array. */ @@ -1463,7 +1463,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) /* Invalid combination of options specified. */ error = EINVAL; LAGG_XUNLOCK(sc); - break; /* Return from SIOCSLAGGOPTS. */ + break; /* Return from SIOCSLAGGOPTS. */ } /* @@ -1512,15 +1512,15 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case LAGG_OPT_LACP_FAST_TIMO: LACP_LOCK(lsc); - LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) - lp->lp_state |= LACP_STATE_TIMEOUT; + LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) + lp->lp_state |= LACP_STATE_TIMEOUT; LACP_UNLOCK(lsc); lsc->lsc_fast_timeout = 1; break; case -LAGG_OPT_LACP_FAST_TIMO: LACP_LOCK(lsc); - LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) - lp->lp_state &= ~LACP_STATE_TIMEOUT; + LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) + lp->lp_state &= ~LACP_STATE_TIMEOUT; LACP_UNLOCK(lsc); lsc->lsc_fast_timeout = 0; break; @@ -1909,8 +1909,7 @@ lagg_setmulti(struct lagg_port *lp) IF_ADDR_WUNLOCK(scifp); return (ENOMEM); } - bcopy(ifma->ifma_addr, &mc->mc_addr, - ifma->ifma_addr->sa_len); + bcopy(ifma->ifma_addr, &mc->mc_addr, ifma->ifma_addr->sa_len); mc->mc_addr.sdl_index = ifp->if_index; mc->mc_ifma = NULL; SLIST_INSERT_HEAD(&lp->lp_mc_head, mc, mc_entries); @@ -2424,7 +2423,7 @@ lagg_fail_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) * If tmp_tp is null, we've received a packet when all * our links are down. Weird, but process it anyways. */ - if ((tmp_tp == NULL || tmp_tp == lp)) { + if (tmp_tp == NULL || tmp_tp == lp) { m->m_pkthdr.rcvif = ifp; return (m); } diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h index 94f3487af6f7..2ff1ee8279ca 100644 --- a/sys/net/if_lagg.h +++ b/sys/net/if_lagg.h @@ -223,7 +223,7 @@ struct lagg_lb { struct lagg_mc { struct sockaddr_dl mc_addr; - struct ifmultiaddr *mc_ifma; + struct ifmultiaddr *mc_ifma; SLIST_ENTRY(lagg_mc) mc_entries; }; From nobody Mon Apr 10 04:16:43 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf40rrMz44kNm; Mon, 10 Apr 2023 04:16:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf36JfXz4MbS; Mon, 10 Apr 2023 04:16:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YqNwbaw+YazBZN8+rgaYXMHHNRp/nxX5HQxovqtdtU4=; b=Z6C7yTm8tnksmGKXy4iTsIglSXry9L+82KJisViPK1IDmNBcf0UTfjd2DGOKdwxzkv1QLY PyTLvrUAERATAWRprGPWVpTjpWj0DUxZetZzsrGtTnXdSqJmAfNLgnnMVymX+Aij6+UBTO tBbQWVQa7IqMQLXotvkESWj8O65fSqC5QQ/bBM3wkDyZI0hd+bNS/dDjWcxqnMhEKve5JY 4KsUAVsgR3W9sH8YMu04/m7CJm2W0ANB0C15czVT6O+mqm6ed4OIcwhOkrdUqkPqjF3Ycc 1T3DQAh6ht8sXyDzQReCowEmvzaEFpnsQN8b2XrCzCvu+XYOD/xPkQ+1axjpgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YqNwbaw+YazBZN8+rgaYXMHHNRp/nxX5HQxovqtdtU4=; b=KhJwx3hoI/d4SkYa9CX+5LopXzYX5mDoBqdrz+pL+AfGABAueI06rGrPc1+dYTDwXes1AY AZzlfJEMQkhWn7cDD+hqjNb0IxCZO/AH3b4VFSsARW+i3510yb9zSKoxt+G2/a4YlfqSYp b2L7ZSuGoRWyNEhUIBCXsbWprY1LoW6LAAFoCkQeapEZ+HkjztBSk48n9OkEUZTj0/9knJ 82Kamh/1gNvehqem2Q2RWLrTHHKxix/LZAScKjVgjhFyhycahso32g6CBW6M4AvTNZYDrd 6x4OB8ZnMh1CLPcTCSHF4Xhyf0T4xkzQ8FOkUx00n3TA+TdC+HoNnxMrsuzVlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100203; a=rsa-sha256; cv=none; b=dxbg+6Ql6O0SuOIM/hqVukEFndaBHFm5jwbu0XWHehTqj04/yD/NBThl/hV55IgYqlfQcO WCJZSHZLjmOj/rZtjWcahHhBZR4P80NLnsT4/B0aZ5iQITKF7NUUYYlcstPe42BSOIbWLz 8oGybnF4k9WW4N555ec2mYp8+G4oGwVxVjduUcyq6b/1NoVhEW8Gt+fYUOJQ+QcTMmLcaF WfAcjrB8e7+2IAYXflNU4Pu0LMB0NastVrAEF8I11u2hJgLmZfjGTWyKaAA1wlfN1G/+r5 A9gz5NhaTXgji/BU1b9aHknADe9L5J2nQ0q1bd5048fJ6aWOHXaoTKZRsUQZPg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf34sQ6zbmh; Mon, 10 Apr 2023 04:16:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4GhE7039537; Mon, 10 Apr 2023 04:16:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GhJx039536; Mon, 10 Apr 2023 04:16:43 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:43 GMT Message-Id: <202304100416.33A4GhJx039536@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: b452382e5c00 - stable/13 - lagg(4): Make lagg_list and lagg_detach_cookie static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b452382e5c00facd0fab8a8b0bd53d9564689e55 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b452382e5c00facd0fab8a8b0bd53d9564689e55 commit b452382e5c00facd0fab8a8b0bd53d9564689e55 Author: Zhenlei Huang AuthorDate: 2023-03-29 16:13:02 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 lagg(4): Make lagg_list and lagg_detach_cookie static They are used internally only. No functional change intended. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39250 (cherry picked from commit fcac5719a1833ad865ac0a7960ff18319a40dfff) --- sys/net/if_lagg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index e559371f2d37..cf332ea529e9 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -106,7 +106,7 @@ struct lagg_snd_tag { struct m_snd_tag *tag; }; -VNET_DEFINE(SLIST_HEAD(__trhead, lagg_softc), lagg_list); /* list of laggs */ +VNET_DEFINE_STATIC(SLIST_HEAD(__trhead, lagg_softc), lagg_list); /* list of laggs */ #define V_lagg_list VNET(lagg_list) VNET_DEFINE_STATIC(struct mtx, lagg_list_mtx); #define V_lagg_list_mtx VNET(lagg_list_mtx) @@ -115,7 +115,7 @@ VNET_DEFINE_STATIC(struct mtx, lagg_list_mtx); #define LAGG_LIST_LOCK_DESTROY(x) mtx_destroy(&V_lagg_list_mtx) #define LAGG_LIST_LOCK(x) mtx_lock(&V_lagg_list_mtx) #define LAGG_LIST_UNLOCK(x) mtx_unlock(&V_lagg_list_mtx) -eventhandler_tag lagg_detach_cookie = NULL; +static eventhandler_tag lagg_detach_cookie = NULL; static int lagg_clone_create(struct if_clone *, int, caddr_t); static void lagg_clone_destroy(struct ifnet *); From nobody Mon Apr 10 04:16:44 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf51y26z44kcg; Mon, 10 Apr 2023 04:16:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf503bQz4Mg5; Mon, 10 Apr 2023 04:16:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ChYHuyuCB892EpOwC30C/EQ+QDnokuyrnmdmQbq2BUs=; b=pz28fMAEuJlNG2xjpRNH2y7akfeclIJrPvrE1vR7k2z+KdWiP8ApcQadFU+gQdeQIlG59i a17STJvpsCglNuWK9bbXsOwYt1hGUMq2sAnrFc3/jMaUq8SZsK/NFHuLy41Ja/KB/oj5hu RHAhBb9hqijabgYe/qfxZfIYpJxGjRLA5yAzlzvzCVRoYlEgZzbmqK4H3wPs/Dyhf6o/0w OJO3KQXxGuVjzV7eER0KrIOhn2Ec0qBTe0reScJ+ZtKXPouFE9aI4OztPmnclvmBs0G/8g I2MLM3O5Ao5cFqv2ljCxVBXFW7dtxnjvgjVN9YhAif7bnAlHmSBs/OI/CUv0TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ChYHuyuCB892EpOwC30C/EQ+QDnokuyrnmdmQbq2BUs=; b=JO6CMbKhBzZ/ckcxbJ65Vpri/IhdnOAee0XxGkUwsJM2xlt3HJEO9tj5/TC5406Y1Y1Utv rjOm5Na8AhkNyiF0WfL3U+7iYR+EB7VuLA1nYoD4Qdeu5662eEFOe7trSbC18Zy5JdkFCe LiyW69fxCNH4aTeWtRstWHzCW+fIGbCWekEm/lT3L6eLFfmJzlEX4+ZaTTA6RFl5DDCbes /Ul8AhFXOVzzKBoabvwSBcPK2aJJzOI7kFpwSjy8OBaSlSTGw2Xin6DbFXbXbH23JdIcYc 18o4bXTcj46W3I9BgTGJHzXohYpZoDrG4s5DFBS1dPLvhkFX1N2bPnzcDgp+Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100205; a=rsa-sha256; cv=none; b=Vxv2PhAZ7JekO9rm2WXhonTqH+BIFkq2Q2K6GMFCRRqEpgutkacELlhqOgyUDSGQsmkKgo Xulnre6hrtYV5FhmoTm9Go/qNu4LNOwNpjqTVvRIoXSBZWDey2jc93GKijYXWbJExyiOYm apzACr75fX/mzx+WEVsahXlcZ55XdxS4xVRHApHGqbCDDN69a+CwHg7qAHhMmlO6SQRVBP EwfF1xTu9AKMyxKrN5nA8J5aikrZCB982hsoMAMsxFFgMt3kfNCUQBnwdNK3lG4QIDjMt6 JbsJWWHLh2w5ilR/vnM+g4IeuLO0cDuqjj3Z3d76Lg5KiiPL7MbJKkARBVhseQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf45FC9zbMp; Mon, 10 Apr 2023 04:16:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4GiTE039556; Mon, 10 Apr 2023 04:16:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GiYQ039555; Mon, 10 Apr 2023 04:16:44 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:44 GMT Message-Id: <202304100416.33A4GiYQ039555@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: eeb96a7b9178 - stable/13 - lagg(4): Refactor out some lagg protocol input routines into a default one List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: eeb96a7b9178aa55d855203b977564b287d6d108 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=eeb96a7b9178aa55d855203b977564b287d6d108 commit eeb96a7b9178aa55d855203b977564b287d6d108 Author: Zhenlei Huang AuthorDate: 2023-03-29 16:16:21 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 lagg(4): Refactor out some lagg protocol input routines into a default one Those input routines are identical. Also inline two fast paths. No functional change intended. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39251 (cherry picked from commit dbe86dd5de18fdf61e1300f6575e0f50785bf6b3) --- sys/net/if_lagg.c | 64 ++++++++++++++++++------------------------------------- 1 file changed, 21 insertions(+), 43 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index cf332ea529e9..e282fde66013 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -173,8 +173,6 @@ static struct lagg_port *lagg_link_active(struct lagg_softc *, /* Simple round robin */ static void lagg_rr_attach(struct lagg_softc *); static int lagg_rr_start(struct lagg_softc *, struct mbuf *); -static struct mbuf *lagg_rr_input(struct lagg_softc *, struct lagg_port *, - struct mbuf *); /* Active failover */ static int lagg_fail_start(struct lagg_softc *, struct mbuf *); @@ -187,14 +185,10 @@ static void lagg_lb_detach(struct lagg_softc *); static int lagg_lb_port_create(struct lagg_port *); static void lagg_lb_port_destroy(struct lagg_port *); static int lagg_lb_start(struct lagg_softc *, struct mbuf *); -static struct mbuf *lagg_lb_input(struct lagg_softc *, struct lagg_port *, - struct mbuf *); static int lagg_lb_porttable(struct lagg_softc *, struct lagg_port *); /* Broadcast */ static int lagg_bcast_start(struct lagg_softc *, struct mbuf *); -static struct mbuf *lagg_bcast_input(struct lagg_softc *, struct lagg_port *, - struct mbuf *); /* 802.3ad LACP */ static void lagg_lacp_attach(struct lagg_softc *); @@ -204,6 +198,10 @@ static struct mbuf *lagg_lacp_input(struct lagg_softc *, struct lagg_port *, struct mbuf *); static void lagg_lacp_lladdr(struct lagg_softc *); +/* Default input */ +static struct mbuf *lagg_default_input(struct lagg_softc *, struct lagg_port *, + struct mbuf *); + /* lagg protocol table */ static const struct lagg_proto { lagg_proto pr_num; @@ -228,7 +226,7 @@ static const struct lagg_proto { .pr_num = LAGG_PROTO_ROUNDROBIN, .pr_attach = lagg_rr_attach, .pr_start = lagg_rr_start, - .pr_input = lagg_rr_input, + .pr_input = lagg_default_input, }, { .pr_num = LAGG_PROTO_FAILOVER, @@ -240,7 +238,7 @@ static const struct lagg_proto { .pr_attach = lagg_lb_attach, .pr_detach = lagg_lb_detach, .pr_start = lagg_lb_start, - .pr_input = lagg_lb_input, + .pr_input = lagg_default_input, .pr_addport = lagg_lb_port_create, .pr_delport = lagg_lb_port_destroy, }, @@ -262,7 +260,7 @@ static const struct lagg_proto { { .pr_num = LAGG_PROTO_BROADCAST, .pr_start = lagg_bcast_start, - .pr_input = lagg_bcast_input, + .pr_input = lagg_default_input, }, }; @@ -385,14 +383,14 @@ lagg_proto_detach(struct lagg_softc *sc) lagg_protos[pr].pr_detach(sc); } -static int +static inline int lagg_proto_start(struct lagg_softc *sc, struct mbuf *m) { return (lagg_protos[sc->sc_proto].pr_start(sc, m)); } -static struct mbuf * +static inline struct mbuf * lagg_proto_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) { @@ -2319,17 +2317,6 @@ lagg_rr_start(struct lagg_softc *sc, struct mbuf *m) return (lagg_enqueue(lp->lp_ifp, m)); } -static struct mbuf * -lagg_rr_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) -{ - struct ifnet *ifp = sc->sc_ifp; - - /* Just pass in the packet to our lagg device */ - m->m_pkthdr.rcvif = ifp; - - return (m); -} - /* * Broadcast mode */ @@ -2377,16 +2364,6 @@ lagg_bcast_start(struct lagg_softc *sc, struct mbuf *m) return (ret); } -static struct mbuf* -lagg_bcast_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) -{ - struct ifnet *ifp = sc->sc_ifp; - - /* Just pass in the packet to our lagg device */ - m->m_pkthdr.rcvif = ifp; - return (m); -} - /* * Active failover */ @@ -2530,17 +2507,6 @@ lagg_lb_start(struct lagg_softc *sc, struct mbuf *m) return (lagg_enqueue(lp->lp_ifp, m)); } -static struct mbuf * -lagg_lb_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) -{ - struct ifnet *ifp = sc->sc_ifp; - - /* Just pass in the packet to our lagg device */ - m->m_pkthdr.rcvif = ifp; - - return (m); -} - /* * 802.3ad LACP */ @@ -2632,3 +2598,15 @@ lagg_lacp_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) m->m_pkthdr.rcvif = ifp; return (m); } + +/* Default input */ +static struct mbuf * +lagg_default_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) +{ + struct ifnet *ifp = sc->sc_ifp; + + /* Just pass in the packet to our lagg device */ + m->m_pkthdr.rcvif = ifp; + + return (m); +} From nobody Mon Apr 10 04:16:45 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf66Jj5z44kWQ; Mon, 10 Apr 2023 04:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf60Ksqz4MdP; Mon, 10 Apr 2023 04:16:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wHP29XErVEztMMQPYI3+poAQCUc1xVf7flUqu2NBF1o=; b=uppAW8vVOX1yYQALV7ChdSLJ1UDiAxe6WHzAQSMucU0bxs/2oCZrkSBxJA2bF/zMut1a7D rUtNT4oT786OCOhGOIOIk9nTkoQfOdMTGqcV+VJGrsc3a9YnjZqsQqhrhlu+mZPUmvZQtr F+Vh2jNgsqJC6WXEe32/7UoaiB6Sz4eRBiPj1myDzEPeVVrW2ucdLCZU2g44vk3iS/+T+T zcuCTV1cLr6vmDrXCZ40MRcTy4zmibbbqwUp0RbHJMsUn9II7drCSn+IZc85T7M3vsWEDM RqtB5eXRkvUjvqSvKHvZxw/Nrmkdwd0UFpJqmWqkuP6aknjZaC7VWoYap0bcRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wHP29XErVEztMMQPYI3+poAQCUc1xVf7flUqu2NBF1o=; b=KKejKsn86K62sw2gzqTmD+iSL4UecC5BRkYbMeLkyX3CFqb2EGvzKuJ8zsrwRk3ESPRAIR nmuBIOBbv1IkccjvknYJil6wMyjgjNg65OqSU3a/DrTJuLZhbCwYAHS6xxOxvJLqujcr3F P4RXwloE+AgQm9wE4OPeFMLln+B+xwB6fCJlxYLktPm+0v6z4zXBIrzDDxVxtDb4GCS2D2 fUNttbxL5PCZZVhmepQVuXTQ8BQ+ui2hLLz7aYKEI1e+oLoFmLtig8+a1YLvRXPxs8o+TH 9+rqp1Hd0SrY2ydC7ez1llySMqJ0J+P83T/94zExAknRSVCmNqE5VR6bdOeXNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100206; a=rsa-sha256; cv=none; b=a5Ek5gLf+9jZs7GjpH74+yNH7AQ11C3dkDLBay2GkqiXEl+ZNGcUdg/tIe1g4U9NnvD5Ck Jj84Fc507cNuL3I/OnjJwbNh81+aBHGAghm105PBXIq7uF+Y98h76l4k934sPH/6/8eBg8 ppQizsG2CxF5tabz0Tc8F+fpzL4StKE43NitHM3SvC6EXpwax7fA8v2pKINiLO0mP6mjTd U0QQ8RPSe4WKXKLHLmH6Mziisrf+o63uDVfr4oKN/5XyXcGn8Jb+ZEU3rTts4vKWLDCRt/ pRwLyfXI0KD3aQeYJnDPzweT0SipftoGK26RBfl0q5O4iPM2awdnXT41fJ+hig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf56JBmzbpx; Mon, 10 Apr 2023 04:16:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4GjDs039582; Mon, 10 Apr 2023 04:16:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GjOW039581; Mon, 10 Apr 2023 04:16:45 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:45 GMT Message-Id: <202304100416.33A4GjOW039581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 758fea562555 - stable/13 - lagg(4): Do not enter net epoch recursively List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 758fea562555ab90979b4bd269aa2cd084de63bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=758fea562555ab90979b4bd269aa2cd084de63bb commit 758fea562555ab90979b4bd269aa2cd084de63bb Author: Zhenlei Huang AuthorDate: 2023-03-29 16:25:16 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 lagg(4): Do not enter net epoch recursively This saves a little resources. No functional change intended. Reviewed by: kp Fixes: b8a6e03fac92 Widen NET_EPOCH coverage MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39267 (cherry picked from commit d4a80d21b3d32a2de02d1820cc1f38dba1f127cb) --- sys/net/if_lagg.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index e282fde66013..8a62286db81b 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -2006,18 +2006,15 @@ lagg_setflags(struct lagg_port *lp, int status) static int lagg_transmit_ethernet(struct ifnet *ifp, struct mbuf *m) { - struct epoch_tracker et; struct lagg_softc *sc = (struct lagg_softc *)ifp->if_softc; - int error; + NET_EPOCH_ASSERT(); #if defined(KERN_TLS) || defined(RATELIMIT) if (m->m_pkthdr.csum_flags & CSUM_SND_TAG) MPASS(m->m_pkthdr.snd_tag->ifp == ifp); #endif - NET_EPOCH_ENTER(et); /* We need a Tx algorithm and at least one port */ if (sc->sc_proto == LAGG_PROTO_NONE || sc->sc_count == 0) { - NET_EPOCH_EXIT(et); m_freem(m); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); return (ENXIO); @@ -2025,26 +2022,21 @@ lagg_transmit_ethernet(struct ifnet *ifp, struct mbuf *m) ETHER_BPF_MTAP(ifp, m); - error = lagg_proto_start(sc, m); - NET_EPOCH_EXIT(et); - return (error); + return (lagg_proto_start(sc, m)); } static int lagg_transmit_infiniband(struct ifnet *ifp, struct mbuf *m) { - struct epoch_tracker et; struct lagg_softc *sc = (struct lagg_softc *)ifp->if_softc; - int error; + NET_EPOCH_ASSERT(); #if defined(KERN_TLS) || defined(RATELIMIT) if (m->m_pkthdr.csum_flags & CSUM_SND_TAG) MPASS(m->m_pkthdr.snd_tag->ifp == ifp); #endif - NET_EPOCH_ENTER(et); /* We need a Tx algorithm and at least one port */ if (sc->sc_proto == LAGG_PROTO_NONE || sc->sc_count == 0) { - NET_EPOCH_EXIT(et); m_freem(m); if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); return (ENXIO); @@ -2052,9 +2044,7 @@ lagg_transmit_infiniband(struct ifnet *ifp, struct mbuf *m) INFINIBAND_BPF_MTAP(ifp, m); - error = lagg_proto_start(sc, m); - NET_EPOCH_EXIT(et); - return (error); + return (lagg_proto_start(sc, m)); } /* @@ -2068,16 +2058,14 @@ lagg_qflush(struct ifnet *ifp __unused) static struct mbuf * lagg_input_ethernet(struct ifnet *ifp, struct mbuf *m) { - struct epoch_tracker et; struct lagg_port *lp = ifp->if_lagg; struct lagg_softc *sc = lp->lp_softc; struct ifnet *scifp = sc->sc_ifp; - NET_EPOCH_ENTER(et); + NET_EPOCH_ASSERT(); if ((scifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || lp->lp_detaching != 0 || sc->sc_proto == LAGG_PROTO_NONE) { - NET_EPOCH_EXIT(et); m_freem(m); return (NULL); } @@ -2090,7 +2078,6 @@ lagg_input_ethernet(struct ifnet *ifp, struct mbuf *m) m = NULL; } - NET_EPOCH_EXIT(et); return (m); } From nobody Mon Apr 10 04:16:46 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf74VjYz44kg2; Mon, 10 Apr 2023 04:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf72Fbnz4MsG; Mon, 10 Apr 2023 04:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rgvl8Mqc2SeufOrK7CpEX65SXsm19tVhzZDgAN/r9ho=; b=rrMEGd4u0dd3ymJGpRYF/IvqzFm+ILPgWXhWDZacYe5Uy2sCy74H1dutwkzRbEyhqOawbx gz22yFeJtI4rcdAlkndY8uRfhCKx2rIx8hdQIHu9hAizWUe1W8o2axuArELUgCUC/J1iyS UvCQVaDOLoKkKaqo5K249xzvapBOeDTHOmd1d2TjtS8sctRGh3P14qFeawU7He4LNfiPCG XYVblfPr8/THE/JJiXh5MrV4kNBM+zMjbm+G/H6jKz7WxAum7qIDo8IALY1YjqKdqPsYiV ul3TGYhgqBk3gyce5sC3bfPpZnZauNwXA5fFZRY75xXF3tiACj+2JsNLQAry3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rgvl8Mqc2SeufOrK7CpEX65SXsm19tVhzZDgAN/r9ho=; b=hjoB2lXrd8V3k1M9MbYts/tkjoIMIMnuLPu+pmdT1NWvhNxX3XbRC4UtHvdx1HAHADW+FF knMBndokwhYVMK3MJTCDCjxTp0ZmrO4W9qO4TloRTadfn6VY7JkfugANjjGN7XzXev/7xa Kr+SdcT/jpr++xtwGxph77OPBiUH9uAIgjCjrGxCZUGCtUx4G6EhZNwXpHlTpHmbzhT57B L67e80DEVUo7qYyKsrOFgkj0W5fbNRixAblIVz6DXL9+KQmDLjyPBobZdTJvn1BHnGs4RG f0bZMSbsWNj1h8jEQS6U0Z2x0Fb6IPqztBs/qADCaBatiBMNBuW+m0O9Xo7EMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100207; a=rsa-sha256; cv=none; b=qpeje0LUAuZAsVbHTU/0yzZ5jUfGO1LH67vRhSwrqEaMecmCUNfX5oSD6zMHUewDJrgVLl tprBdoR53VPlw1Wm4M7iuOl//koadTJ4yU0yGzx7vIf5rNVDM0fwUQfjGwDVCA1+M+AdD5 WjMC1FbL+IeVxu5HcnAsy+KmNvgFG4Rz6OLrcB4lXkR8/qhqrLB/N6gsXyT4eFMigqd4ir Vat/zzxEdB5EX3VPUbDER+1/AWxfzem1/ttnRSvSmJY60/mrn+RSrpfqizZwNhDME3LoHW NRZ4iZ27wVaqFVXvBHgMur3rlSs95yXO+fviE1DAICjhx0fPBgVMNeFtP9BF6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf706YCzbMq; Mon, 10 Apr 2023 04:16:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4Gkrd039601; Mon, 10 Apr 2023 04:16:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GkMC039600; Mon, 10 Apr 2023 04:16:46 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:46 GMT Message-Id: <202304100416.33A4GkMC039600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: d1d5d8f69659 - stable/13 - lacp: Use C99 bool for boolean return value List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d1d5d8f69659c4d3573e64a62a9306ee944d9e4d Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=d1d5d8f69659c4d3573e64a62a9306ee944d9e4d commit d1d5d8f69659c4d3573e64a62a9306ee944d9e4d Author: Zhenlei Huang AuthorDate: 2023-03-31 17:48:36 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 lacp: Use C99 bool for boolean return value This improves readability. No functional change intended. MFC after: 1 week (cherry picked from commit 5a8abd0a298e6e7a8bf938a7eb171b647b1860cd) --- sys/net/ieee8023ad_lacp.c | 38 +++++++++++++++++--------------------- sys/net/ieee8023ad_lacp.h | 15 ++++++--------- sys/net/if_lagg.c | 2 +- 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index 6656ebb2b400..8770e2a3e398 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -116,9 +116,9 @@ static void lacp_fill_aggregator_id(struct lacp_aggregator *, const struct lacp_port *); static void lacp_fill_aggregator_id_peer(struct lacp_peerinfo *, const struct lacp_peerinfo *); -static int lacp_aggregator_is_compatible(const struct lacp_aggregator *, +static bool lacp_aggregator_is_compatible(const struct lacp_aggregator *, const struct lacp_port *); -static int lacp_peerinfo_is_compatible(const struct lacp_peerinfo *, +static bool lacp_peerinfo_is_compatible(const struct lacp_peerinfo *, const struct lacp_peerinfo *); static struct lacp_aggregator *lacp_aggregator_get(struct lacp_softc *, @@ -1367,44 +1367,40 @@ lacp_fill_aggregator_id_peer(struct lacp_peerinfo *lpi_aggr, * lacp_aggregator_is_compatible: check if a port can join to an aggregator. */ -static int +static bool lacp_aggregator_is_compatible(const struct lacp_aggregator *la, const struct lacp_port *lp) { if (!(lp->lp_state & LACP_STATE_AGGREGATION) || !(lp->lp_partner.lip_state & LACP_STATE_AGGREGATION)) { - return (0); + return (false); } - if (!(la->la_actor.lip_state & LACP_STATE_AGGREGATION)) { - return (0); - } + if (!(la->la_actor.lip_state & LACP_STATE_AGGREGATION)) + return (false); - if (!lacp_peerinfo_is_compatible(&la->la_partner, &lp->lp_partner)) { - return (0); - } + if (!lacp_peerinfo_is_compatible(&la->la_partner, &lp->lp_partner)) + return (false); - if (!lacp_peerinfo_is_compatible(&la->la_actor, &lp->lp_actor)) { - return (0); - } + if (!lacp_peerinfo_is_compatible(&la->la_actor, &lp->lp_actor)) + return (false); - return (1); + return (true); } -static int +static bool lacp_peerinfo_is_compatible(const struct lacp_peerinfo *a, const struct lacp_peerinfo *b) { if (memcmp(&a->lip_systemid, &b->lip_systemid, - sizeof(a->lip_systemid))) { - return (0); + sizeof(a->lip_systemid)) != 0) { + return (false); } - if (memcmp(&a->lip_key, &b->lip_key, sizeof(a->lip_key))) { - return (0); - } + if (memcmp(&a->lip_key, &b->lip_key, sizeof(a->lip_key)) != 0) + return (false); - return (1); + return (true); } static void diff --git a/sys/net/ieee8023ad_lacp.h b/sys/net/ieee8023ad_lacp.h index 0610ed855d50..629bdc25cfc5 100644 --- a/sys/net/ieee8023ad_lacp.h +++ b/sys/net/ieee8023ad_lacp.h @@ -307,7 +307,7 @@ void lacp_linkstate(struct lagg_port *); void lacp_req(struct lagg_softc *, void *); void lacp_portreq(struct lagg_port *, void *); -static __inline int +static __inline bool lacp_isactive(struct lagg_port *lgp) { struct lacp_port *lp = LACP_PORT(lgp); @@ -315,26 +315,23 @@ lacp_isactive(struct lagg_port *lgp) struct lacp_aggregator *la = lp->lp_aggregator; /* This port is joined to the active aggregator */ - if (la != NULL && la == lsc->lsc_active_aggregator) - return (1); - - return (0); + return (la != NULL && la == lsc->lsc_active_aggregator); } -static __inline int +static __inline bool lacp_iscollecting(struct lagg_port *lgp) { struct lacp_port *lp = LACP_PORT(lgp); - return ((lp->lp_state & LACP_STATE_COLLECTING) != 0); + return (lp->lp_state & LACP_STATE_COLLECTING); } -static __inline int +static __inline bool lacp_isdistributing(struct lagg_port *lgp) { struct lacp_port *lp = LACP_PORT(lgp); - return ((lp->lp_state & LACP_STATE_DISTRIBUTING) != 0); + return (lp->lp_state & LACP_STATE_DISTRIBUTING); } /* following constants don't include terminating NUL */ diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 8a62286db81b..74f8c41a125e 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -2577,7 +2577,7 @@ lagg_lacp_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) * If the port is not collecting or not in the active aggregator then * free and return. */ - if (lacp_iscollecting(lp) == 0 || lacp_isactive(lp) == 0) { + if (!lacp_iscollecting(lp) || !lacp_isactive(lp)) { m_freem(m); return (NULL); } From nobody Mon Apr 10 04:16:48 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf82W3Rz44kYT; Mon, 10 Apr 2023 04:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf81lJgz4Mpy; Mon, 10 Apr 2023 04:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZO2qHhplhWP5l6VRscPq5blnH135ya7Ha5QLYw6CJc=; b=wwzwpeQC6b8fHz9e+DJfFElkByv64o/dcbFnsxxwErz2pdK4tWawoTI/arjEkDEbhxuRvX gFRf5ZKZ0S/FUcYc57bPnC77FhVCMf/nHYsgwXMBW1SVbH9bcKHJnK34qv4fDdodBMgGmn KSkJZ6kGw/AGqlfdaZt/XVb5x6sQBCqfV5rFRGahTvf5K+DBMZA9FRr3MSskK/sYXbftxn 4mjMlvqTtL5SeDhDRZMOCtJhjQbRhKA7XNJ/Dkt03NRg7oRw68T5/FVmBzpB6GySs4fvGR Ott25W5hgE0K2OB5upMOaEPk39AuH1ioZ7jriXc4PoQAMqB+vRnkLLlq9p7SVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zZO2qHhplhWP5l6VRscPq5blnH135ya7Ha5QLYw6CJc=; b=dmj8pjpmLmpiyOsamN0hsxkWDA5KwaMdJ7j8KPEsTAHrLdpWgg4QaoxSZ5VrdsJaXJMsqh 5/7stlNjVmvb+XNJZbQD5N/bDEKlWO2ETVLHkKg8gP4pIsMFK8tQglqnCO8pGLvtPPJfLz PN04pn1LHr6A5E8GnAMRe0hfW6nJ/0ouCcDSm8DZNwvlIkHwTl4EEkFSYVJFVtiZyVoARA QSv5rdH4+iaWl73Yu8rUehxWZnHubO2R3t0exuudLI4+wOHLfIwzFMyHZtDyk0JMJKvQG2 7FvCaSD1JDbsAsHmFcDfkK5uSaNVsHgA6Q3s+S4L2XzB2fQ6POPjmKEfbS/wqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100208; a=rsa-sha256; cv=none; b=QxchdFLJpZH3Tow8YTtNd80EQ/jruxYL5rqsJ/7Ai6+QTTDbzdnJmSm/V54sU4N9NXi2Hy u9DDM6f4LH2nQ4L/ZxuVO8JRuhwoApUiaoNLfwtBkcgMMPZEqtIfWUHAyVLSrhIepwo5Bf DbtCdcmJk1btkZzYwEYroAagMuZmXmYtzbbxI76SAybnZgFwhttJIp3lUrAL/gZReiPn/g qNv00ABq7PWKPiwmvIrf+zkGj+t8RMvmm0cK68ABAvG3PuMXzkzsgf7kZomsNhclpfcusR q86PirJv222A9fFRn05ztX0tHx2IDxLBMOpWlwdS21aPX1JsEE3wJQqoYwDdvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf80pXFzbmG; Mon, 10 Apr 2023 04:16:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4GmP9039620; Mon, 10 Apr 2023 04:16:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GmZS039619; Mon, 10 Apr 2023 04:16:48 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:48 GMT Message-Id: <202304100416.33A4GmZS039619@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: ed44ba413c54 - stable/13 - lagg(4): Tap traffic after protocol processing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed44ba413c544c0aa05b3456bc430c816a0e3168 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ed44ba413c544c0aa05b3456bc430c816a0e3168 commit ed44ba413c544c0aa05b3456bc430c816a0e3168 Author: Zhenlei Huang AuthorDate: 2023-04-02 17:01:51 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 lagg(4): Tap traffic after protocol processing Different lagg protocols have different means and policies to process incoming traffic. For example, for failover protocol, by default received traffic is only accepted when they are received through the active port. For lacp protocol, LACP control messages are tapped off, also traffic will be dropped if they are received through the port which is not in collecting state or is not joined to the active aggregator. It confuses if user dump and see inbound traffic on lagg(4) interfaces but they are actually silently dropped and not passed into the net stack. Tap traffic after protocol processing so that user will have consistent view of the inbound traffic, meanwhile mbuf is set with correct receiving interface and bpf(4) will diagnose the right direction of inbound packets. PR: 270417 Reviewed by: melifaro (previous version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39225 (cherry picked from commit 5f3d0399e903573e9648385ea6585e54af4d573f) --- sys/net/if_lagg.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 74f8c41a125e..3bbcb4f8e4cd 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -2070,12 +2070,14 @@ lagg_input_ethernet(struct ifnet *ifp, struct mbuf *m) return (NULL); } - ETHER_BPF_MTAP(scifp, m); - m = lagg_proto_input(sc, lp, m); - if (m != NULL && (scifp->if_flags & IFF_MONITOR) != 0) { - m_freem(m); - m = NULL; + if (m != NULL) { + ETHER_BPF_MTAP(scifp, m); + + if ((scifp->if_flags & IFF_MONITOR) != 0) { + m_freem(m); + m = NULL; + } } return (m); @@ -2098,12 +2100,14 @@ lagg_input_infiniband(struct ifnet *ifp, struct mbuf *m) return (NULL); } - INFINIBAND_BPF_MTAP(scifp, m); - m = lagg_proto_input(sc, lp, m); - if (m != NULL && (scifp->if_flags & IFF_MONITOR) != 0) { - m_freem(m); - m = NULL; + if (m != NULL) { + INFINIBAND_BPF_MTAP(scifp, m); + + if ((scifp->if_flags & IFF_MONITOR) != 0) { + m_freem(m); + m = NULL; + } } NET_EPOCH_EXIT(et); From nobody Mon Apr 10 04:16:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvwf96xBRz44kSX; Mon, 10 Apr 2023 04:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvwf943BXz4Mkn; Mon, 10 Apr 2023 04:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fyJF/FYjOwXVUVl3PLloQA4hs8DTMMLikhp/UB6BSLQ=; b=QjUNF1Q+VbFw605ysioWLjo2CL6f15Hx/EzoKgcF2Gr9zHn4ViI0swROEK0mUMN2UZkqlo DNhR0TjksAEE8ly8jZ8gcvggUHgeAWIivwKfxRKdYu/LxtD2S84sxPmaafxN0kHWAGNLiZ /QVNUWEzLqP0aZ2Hr13azjIg5HVd8/cc+d8JakNv2KIeluEx8VJ/3Lf8TXsZZ1c8UnvCOs 9ou38m/sSKOLZjO1Am+wRzJrTsS4so7pFexngpiBR+JG26aL74DF7IR66VLssb5rquGnVP +w9zYkx0lEh3QE50wfTtEs7WxuLkgB1Fjsd1Ag7Z2m8K1/WylXFp6DpfqUq+9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fyJF/FYjOwXVUVl3PLloQA4hs8DTMMLikhp/UB6BSLQ=; b=pS5V99g0hw9hJJKxX9TsJ61cgP37HHrDbUdWhRHcjBcanswWuywfnHEkBGWCxXENXKkUCL eZI/YU7NtZ6m8zQAXR1VgLcTjyJIWUHb4AIotc7737pKZe4hsJ//0ODZCQXJ0J2u38zRel r6EejtUEwKAv5wVMiCuSrvb4dfVIl6ssVdnc9Yu7ViNE9rvYf0AzB+fTscdN5ni+ZYLkvm INKg4wmwjUzJkXWZ2Z8GfpmyrKAt4I4HwGlusDax2g2NAW4dTm2zXh3QZBvAPZ05L5RY7C 9xHyRDsSXAMSOvjWhsJktqJYkY4Ds1pW0Tb49LkhEjAFL59zLXZrfPLm5si/9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100209; a=rsa-sha256; cv=none; b=QfHwJhARbLJ0xvn+Q6sSkU8EZPQKaIy28Q/F0oAl8zXRKKW7QtNnJhFykXx1LytCklQ7V4 qlTJ53lLKFs/ZbgpaLY/1O6wOXwI4vmuRs+3gL5DhP49CWvCXzc6kER4kHJ+kzrJBqobYO zuukbdoX7TLVqVk/Dpf4790T3NqWmdCIhQbGzeQKx3rjWFUYwgGFORBmi8CWfXKyf79zkj moVOUmxrfaKIWQVSJ1iH+y5o3K5lAHkDw2oXTKhQjWFvyYdEQScfWWWG/yd0kW12BvdTT7 ymL8c1r1C9ysDXdq8p+QQpLCyRa0sA3aakUvp1vPOZ3vlhjNVPl5llXs5EMjfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvwf91vhszZvm; Mon, 10 Apr 2023 04:16:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4Gnjp039639; Mon, 10 Apr 2023 04:16:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4Gnua039638; Mon, 10 Apr 2023 04:16:49 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:49 GMT Message-Id: <202304100416.33A4Gnua039638@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 5d45e09d50e6 - stable/13 - infiniband: Widen NET_EPOCH coverage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5d45e09d50e648a75667c9b12b204eb62fa60ed2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5d45e09d50e648a75667c9b12b204eb62fa60ed2 commit 5d45e09d50e648a75667c9b12b204eb62fa60ed2 Author: Zhenlei Huang AuthorDate: 2023-04-02 16:51:49 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:04 +0000 infiniband: Widen NET_EPOCH coverage From static code analysis, some device drivers (cxgbe, mlx4, mthca, and qlnx) do not enter net epoch before lagg_input_infiniband(). If IPoIB interface is a member of lagg(4) interface, and after returning from lagg_input_infiniband() the receiving interface of mbuf is set to lagg(4) interface, then when concurrently destroying the lagg(4) interface, there is a small window that the interface gets destroyed and becomes invalid before infiniband_input() re-enter net epoch, thus leading use-after-free. Widen NET_EPOCH coverage to prevent use-after-free. Thanks hselasky@ for testing with mlx5 devices. Reviewed by: hselasky Tested by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39275 (cherry picked from commit 90820ef121b38479f2479c03c12c69f940f5fa33) --- sys/net/if_infiniband.c | 4 ++-- sys/net/if_lagg.c | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sys/net/if_infiniband.c b/sys/net/if_infiniband.c index 4dfbd5272d15..9bf4756f2556 100644 --- a/sys/net/if_infiniband.c +++ b/sys/net/if_infiniband.c @@ -411,6 +411,7 @@ infiniband_input(struct ifnet *ifp, struct mbuf *m) int isr; CURVNET_SET_QUIET(ifp->if_vnet); + NET_EPOCH_ENTER(et); if ((ifp->if_flags & IFF_UP) == 0) { if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); @@ -498,10 +499,9 @@ infiniband_input(struct ifnet *ifp, struct mbuf *m) mac_ifnet_create_mbuf(ifp, m); #endif /* Allow monitor mode to claim this frame, after stats are updated. */ - NET_EPOCH_ENTER(et); netisr_dispatch(isr, m); - NET_EPOCH_EXIT(et); done: + NET_EPOCH_EXIT(et); CURVNET_RESTORE(); } diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 3bbcb4f8e4cd..687c07971d60 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -2086,16 +2086,14 @@ lagg_input_ethernet(struct ifnet *ifp, struct mbuf *m) static struct mbuf * lagg_input_infiniband(struct ifnet *ifp, struct mbuf *m) { - struct epoch_tracker et; struct lagg_port *lp = ifp->if_lagg; struct lagg_softc *sc = lp->lp_softc; struct ifnet *scifp = sc->sc_ifp; - NET_EPOCH_ENTER(et); + NET_EPOCH_ASSERT(); if ((scifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || lp->lp_detaching != 0 || sc->sc_proto == LAGG_PROTO_NONE) { - NET_EPOCH_EXIT(et); m_freem(m); return (NULL); } @@ -2110,7 +2108,6 @@ lagg_input_infiniband(struct ifnet *ifp, struct mbuf *m) } } - NET_EPOCH_EXIT(et); return (m); } From nobody Mon Apr 10 04:16:50 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvwfC0zCtz44kg5; Mon, 10 Apr 2023 04:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvwfB4zg4z4N8F; Mon, 10 Apr 2023 04:16:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iHLLcvmQ+iwAmizhTk49KClSLJhpGuvd1IizL/Iw8Ss=; b=wMUj7sYTyASYffeUJeO0K7IAGcXRHjFcy8C4zwBCfMcfkBr/NPIwrd8voV4RgO78wwwwEk U1huv2ko5NtopgF3fOoSG1NIUfpfiknBImKPDZK1moGIPQ4kKzQxhqJBD6An6LzoucZP2d r5W6v2kqvN55yDWVXlO3N7f2XARfCZi6RDafmUz+gshomT/rAkplxBlma1nvGM0JWK+NX7 8b0NcNu9NkMqjezEkLugh1QeBwN5/942MiwGk4bJ0GAF2byZsM57g6LN/ueXoG2BojdprG 4/T4o8lk38rOtKMx+yyY5MPvLcm3VfwQwHgn5AMz3wsewLcFXzbZNVNTmqAL2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iHLLcvmQ+iwAmizhTk49KClSLJhpGuvd1IizL/Iw8Ss=; b=LwkLz2tk4p0meKcj/e4lZr5r0ZwO9yIn78sSjYiMUr8Mz63OluJlbkFgrfHW8O/3Ro7voA 2xLH0k37t9L/eUjgLZXNpygKJ44pa34PodHByubA+B2BRQC9jKhFTOPxyYnHmrMHbhu1h8 bn8SlIFLzN5ZWk8jtCEbSHGakL3djTk8Agdd6rHi8axuWQhh8q4yu2N88QVLzhogSfcxih 30t4YmN/WiafHoFOhtcF/YsEkMNyDmqIZrCrJiJM/Ij5Sq1XCmuHxITjyZhx89R+UiJljx C69z1IcAkO4illFVMLD0KOOQ0LI7+YvatELQ1nuiCx6JqiqjqmaxPr7o8HYiAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100210; a=rsa-sha256; cv=none; b=SfoYJSCsUOwY02JQGaOjvNeFIa8MRSjvWD/AeCvBgADCdTCC2KycDIIqk/RGFhgreKMK1h 9gbRp3HoUeArKGWeQaRvsWSOVRPKrM+ESN8Jd3f+jEyE5fdFcpfz6mqvckMfViLEKMzQdk g0AY2kHNbZPGXd0SMFpaMBhN6ntWYKkTcheNkcB+zwMhwvjewgQ2H3eyqKFGXptq8wuW/l tJtD2APvlvk2cZT9wdE/FtjKFi8coGvo2ndphG8VRvvO/LRrisg7Le6+HffXiF7e+fDuYc HamM4GMDo8OCZYSXdHA9ZR4ofT1MHrbnhFfC6gzKQMLnZm0U/dNeoVJ7bwN0Zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvwfB2y0xzbmH; Mon, 10 Apr 2023 04:16:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4Go4V039658; Mon, 10 Apr 2023 04:16:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GoEL039657; Mon, 10 Apr 2023 04:16:50 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:50 GMT Message-Id: <202304100416.33A4GoEL039657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: ba169bddbc9d - stable/13 - ifconfig: Improve VLAN identifier parsing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ba169bddbc9da0dec833deb9cd274a68ec1bfd9c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=ba169bddbc9da0dec833deb9cd274a68ec1bfd9c commit ba169bddbc9da0dec833deb9cd274a68ec1bfd9c Author: Zhenlei Huang AuthorDate: 2023-04-02 17:54:31 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:05 +0000 ifconfig: Improve VLAN identifier parsing VLAN identifier 0xFFF is reserved. It must not be configured or transmitted. Also validate during parsing to prevent potential integer overflow. Reviewed by: #network, melifaro Fixes: c7cffd65c5d85 Add support for stacked VLANs (IEEE 802.1ad, AKA Q-in-Q) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39282 (cherry picked from commit 28b498e65ab40975ea12393498bacd6249b7204c) --- sbin/ifconfig/ifvlan.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sbin/ifconfig/ifvlan.c b/sbin/ifconfig/ifvlan.c index 8b7b6e9daf9a..40e1f697db7a 100644 --- a/sbin/ifconfig/ifvlan.c +++ b/sbin/ifconfig/ifvlan.c @@ -121,7 +121,7 @@ vlan_parse_ethervid(const char *name) { char ifname[IFNAMSIZ]; char *cp; - int vid; + unsigned int vid; strlcpy(ifname, name, IFNAMSIZ); if ((cp = strrchr(ifname, '.')) == NULL) @@ -134,9 +134,12 @@ vlan_parse_ethervid(const char *name) errx(1, "invalid vlan tag"); vid = *cp++ - '0'; - while ((*cp >= '0') && (*cp <= '9')) + while ((*cp >= '0') && (*cp <= '9')) { vid = (vid * 10) + (*cp++ - '0'); - if ((*cp != '\0') || (vid & ~0xFFF)) + if (vid >= 0xFFF) + errx(1, "invalid vlan tag"); + } + if (*cp != '\0') errx(1, "invalid vlan tag"); /* From nobody Mon Apr 10 04:16:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvwfD0tSmz44kcw; Mon, 10 Apr 2023 04:16:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvwfC5LhRz4N8c; Mon, 10 Apr 2023 04:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=utSa5J5D96YLji/qGk/AndjhzoiYhN+NJM5Uqjl0C9o=; b=LKshVf3MW2XN7NwIqSLXDr6kA1ztQ12UVEMtZLTVXzag4poD8YEP+YKFiUudAXWXQzXKrw NmUcQLnKduQUEBGp1CzsfJXzs0BejPYTAK9LxacKMcencUZgmBL42wpoSYkHEnOkFJ5+S5 v8iMKhTgFBZzcMJR5L6J2Dad6zc4tn6J1zbtlSfs5s3oGrXVZsK9mcjh2ZKBn7NmTFYx6G CQ8WgvGcks6byjNUPYbY2MEPjo49J+jpaNf0zUz4X8Aw8z/mcwNQvMZzLPx45mTu8as+9Z k6QlSaYSBXYGXTOigKmoDJHt0gItyXHK8/gYWiVkV0hoR5BkWUTUfIWMJ0QeSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681100211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=utSa5J5D96YLji/qGk/AndjhzoiYhN+NJM5Uqjl0C9o=; b=m+7+S9k/YJs20eNlTTfrZjoImUdJp6GouAJ/Jhp7Qr/6oYIToeUkKaOaarjjAmxtrlx+uH +BTdC6hszOz4RaVAUU6jJPLKqMM32Kk57f1nzpKXIjHazx6ioLb/jWamavFE3s9xIKdq34 ABlP6skk30bC3oZB0s8tgnVmmFiNREwqQxJg123VhJJFW7y7vGEl9vH++t3LsCVOIYtl3/ s0WI1Zn7n8cw/yx1D/8YxYja02phtSQ0HhwP7D9sRSu0hNv8mjDBKUOMTh6lV+5qBBXXnp 8ovXT8lTrMgxrqj8Hy0+vEahFABGuWETGaFTdKZinOHXZDTZyIArgovBfL7sGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681100211; a=rsa-sha256; cv=none; b=fkTHz4d6gQL1PPwMWWA1tNHMNBEZCk4aP24jLMUAlVIfoQdCa4x5KRkU7oseCe2XMuZN/a uBLAPXWBy32mnJHaTgdwo7lEcBRcxY1uDGCVMzixKjPO79DCsfLsvnX7NPC+/gaEgSplgO uyAIex7IEUvStLqTJBzuiofzVUVT1b4nxi/S+S1onrTywtZkn+Z9so/snT8g++2jXBPDKD 7ablvkgWWzUCsoUKjGQhZEmsu5tkOnxnEgewctDSKvzFMqteX3ZtbhwIlTNpPWsvZwVE8a MLYXwh9awWqPTkMgNdcOf5WSnjPn59YIqzk20N9YyrW3cCYl7Wo5hI/OUvkbiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvwfC3tQ2zbSY; Mon, 10 Apr 2023 04:16:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A4GpTp039683; Mon, 10 Apr 2023 04:16:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A4GpA2039682; Mon, 10 Apr 2023 04:16:51 GMT (envelope-from git) Date: Mon, 10 Apr 2023 04:16:51 GMT Message-Id: <202304100416.33A4GpA2039682@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: bab5ce8deafb - stable/13 - ifconfig: Fix configuring if_bridge with additional operating parameters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bab5ce8deafb00683fb8319208750981e68d309c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=bab5ce8deafb00683fb8319208750981e68d309c commit bab5ce8deafb00683fb8319208750981e68d309c Author: Zhenlei Huang AuthorDate: 2023-04-07 14:25:41 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 04:15:05 +0000 ifconfig: Fix configuring if_bridge with additional operating parameters For clone create and rename operations, the interface name get back can be different from the one passed to ioctl(). Use the interface name we get back so that ifconfig will not return unexpected ENXIO. PR: 270618 Reviewed by: kp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39396 (cherry picked from commit 09e5e3d598604167c1fb05e5cd0f41ed83314517) --- sbin/ifconfig/ifbridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifbridge.c b/sbin/ifconfig/ifbridge.c index 2bd9c96f2489..3a78b068eb5d 100644 --- a/sbin/ifconfig/ifbridge.c +++ b/sbin/ifconfig/ifbridge.c @@ -91,7 +91,7 @@ do_cmd(int sock, u_long op, void *arg, size_t argsize, int set) memset(&ifd, 0, sizeof(ifd)); - strlcpy(ifd.ifd_name, ifr.ifr_name, sizeof(ifd.ifd_name)); + strlcpy(ifd.ifd_name, name, sizeof(ifd.ifd_name)); ifd.ifd_cmd = op; ifd.ifd_len = argsize; ifd.ifd_data = arg; From nobody Mon Apr 10 05:07:56 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvxn90jD4z44mws; Mon, 10 Apr 2023 05:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvxn870TBz3Pr3; Mon, 10 Apr 2023 05:07:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b7002RgnvwyABP8heD+zbfGqGTuGgnfhS+x21VUrNCk=; b=NbBQxq6H71JfBq/NnPvQETYIIXPVE9Tm6doiJV7+YyhCC4+CUTNu98vAN7qzUnhFX73BPr zgafw+aIjli1MV0rFADr5UU24pjaCkA+HGMMWY5BTngyYgOOT1VkKJzQb99PSAEb7ALX9O SqGLQXHuyVgCbyLiFneBUjuFBDsYgwDvPhwMQSDWaoEIsxV6jOgWjQOqqmX3RTkfPyBnhE B2TfmPvNCL7EHnHfQzGK8TguwLMhVIY1AtwqmtIDzICV6GXEXmmHKpBqXI2HdC0p2TmDXN 76rYiB04ydluSJNftEZ+iKWARxoc8HO1J4DdOwmbIsQR5SRSRvrp1zhofyzVuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103277; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b7002RgnvwyABP8heD+zbfGqGTuGgnfhS+x21VUrNCk=; b=d84sJHJjagEntzvfxjDtqaLrEsLPKHzpBaAVkSvzjnOT57aJ/87gtXFJnUpuGyc0rFg/HO wDvEa/7AQgGCJrgBPK/fh8p3SRgAeCRihkLikjT7846NccFBXkXgMmhcQvcpZh2Ps6TAvm DWxyW7dVEl/38f4ED3vi9il90QjNJE2GkMuVDg9ninC7kV4qtzibUiGy0zpAhrYr30ePCQ FIXNNeKbPzxgvfrKZQI+/TtH8F02dj90ywjMPxpDiaH7RclEgvXG6xr2pK0vu3UAwSZnMx wPLWMeNGMkVRUIbFzTywp7+GHoxv2Aea+i2mH21iDBMucJoCZ0Z6IqsGGb7N2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103277; a=rsa-sha256; cv=none; b=ykwiKdcHss6Sw/aROU6BZpPewCAkna352m7TkrHy3yNng1nsJbgl6RdgVYfse/iqfbHg0+ sO3+Nn01YaKIEnYc6hJBIAk7/KgzZTOtc0jQzO1Gw9cnpxpPJLQYNEkDHzHDC3TNe6sXeQ Wh68DK41j8CbW6GiOSpMELyyGU07ReYtvqnP+9MQq9RxW2SJP0rnQKa2tlxh8rWtD0ODuy uA0zhBH0c24NErv0i07UZy9c/TqD10S9poN88p3izEK2iVznOzNo7+sRMkmsdwrdsLUVI8 rlaVif9IShsuBx4FfNdUFeMsbTz/OmjG5PRd9pnejx/vPNYPp2te7tkQR7xEUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvxn85nnHzd3l; Mon, 10 Apr 2023 05:07:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A57urC022109; Mon, 10 Apr 2023 05:07:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A57u8O022108; Mon, 10 Apr 2023 05:07:56 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:07:56 GMT Message-Id: <202304100507.33A57u8O022108@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 78e05da5c273 - stable/12 - xhci(4): Describe Fresco Logic FL1009 USB 3.0 controller List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 78e05da5c27374dee96239f0178dcc411f67c3bb Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=78e05da5c27374dee96239f0178dcc411f67c3bb commit 78e05da5c27374dee96239f0178dcc411f67c3bb Author: Zhenlei Huang AuthorDate: 2023-03-20 04:00:59 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:21 +0000 xhci(4): Describe Fresco Logic FL1009 USB 3.0 controller Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38922 (cherry picked from commit 082895ebecb55f342dec918c555309c11e3fe17f) (cherry picked from commit 298d6896b0aca5a4a67c4147b94113ab0a39c9e3) --- sys/dev/usb/controller/xhci_pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c index 754b722c8928..84713d66c328 100644 --- a/sys/dev/usb/controller/xhci_pci.c +++ b/sys/dev/usb/controller/xhci_pci.c @@ -117,6 +117,8 @@ xhci_pci_match(device_t self) case 0x10001b73: return ("Fresco Logic FL1000G USB 3.0 controller"); + case 0x10091b73: + return ("Fresco Logic FL1009 USB 3.0 controller"); case 0x11001b73: return ("Fresco Logic FL1100 USB 3.0 controller"); From nobody Mon Apr 10 05:07:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnB2sVWz44mXH; Mon, 10 Apr 2023 05:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnB18vHz3Q07; Mon, 10 Apr 2023 05:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DucwUemUKUs956PxeTi8n3WxzClQW2pw8KT0DVSNAN8=; b=OpnWTX3icGsp8gAzARq0QfT9A92g1mAskJsslSANdMmxDCEm+f+q0EH9ITZRnbJCjcI2Yr PZE84fOiEj22Vsuuuu0atSMew0HENdY8ACwmoKL2RoaYEwO9ssd/XEJ5wDy3oH8uCCfsnq Do0IN5ai+6J8V3DV7n2O09uBJstvt9Qlh4F3lNRdS4e05RTT+9yL88RorMNC9GLJbwpdZy fWTfu+WrhBSEzL8Xs9x2d/u53MVgjGehfuUl1Gl/04Xqi+a81bRaZCq2iZlXUnAnMmQz0u PI6zXmOfsBNsam6eGW7QldNsVmO70Zk67UyxQjOCcZFmrRWXzcyovL2d+ty42g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103278; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DucwUemUKUs956PxeTi8n3WxzClQW2pw8KT0DVSNAN8=; b=upjvPuUFemopCdGDkQ9L8t9LKr47kZbWKRmjpw/w/CtGUqFTkcDb6BBxCNIxh3vw+LOvLm rBh1ZHP8e7hQbP/mmBwTQFkes6/y/crDf7CRWtbmzO+s7yr3sqjrAMEJtiYLlfLP8jGOum vjCHUEcxQ8lD+vlrKuO2G9y6wc4ZVggwQGoQmhZ0FYIUOaL94Ie4G8ARllFgwZhjsLNs6P hRUzABiERSdF5y86mxhi6/ZlsxkvrvOrznEO60WgrdvK9CpqQSYkrJAXKhvlqRUixvhbWg TMLNTDQmfafuw3wqEpkuPIrAg4iatVgKz2o9CYfyZYL2pb0r+NghiNH2KG2lDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103278; a=rsa-sha256; cv=none; b=vJqk0Rp6+drHH11rAObiwKjvqBOSpy8rBvjCFn0RO1mm/v6ESl3DtxehhPCWp1S5Kzik7l HDr2/NYIi6HLIIt8qIAxMEPtPzRIad48iMov2CTetkWBbwnAyYaGsvKdP6pdneaFpAMgLE T+tdV0Hy9fhoO/rTRCwabhMLjaUdoRFCpVAPo/pF8XkKTuQTNLj/XXonDBOhPYT8r2WA4A G5qM6U21GcJRyRsekhIWBCo7cx7JZ6tZCuNOTJdMkfEXLwu0nrOcnNOcHKka+F9VGCk00b CKek5bI50h6sX+kOyws2Fj5t8OaXZqNL/PF4TRGNuKwAp8AFAGFnGp8eoRMUCQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvxn96x1hzcdM; Mon, 10 Apr 2023 05:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A57vUx022128; Mon, 10 Apr 2023 05:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A57vjG022127; Mon, 10 Apr 2023 05:07:57 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:07:57 GMT Message-Id: <202304100507.33A57vjG022127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 731e9e830ff5 - stable/12 - lagg: Various style fixes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 731e9e830ff57193badf4b468869e5c1700015c3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=731e9e830ff57193badf4b468869e5c1700015c3 commit 731e9e830ff57193badf4b468869e5c1700015c3 Author: Zhenlei Huang AuthorDate: 2023-03-24 09:55:15 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:21 +0000 lagg: Various style fixes MFC after: 1 week (cherry picked from commit dcd7f0bd02f407952de42d96e1c2c01ee3460702) (cherry picked from commit 9d1d0667c7fd9955711b39abf17750fd2a9d01fd) --- sys/net/if_lagg.c | 43 +++++++++++++++++++++---------------------- sys/net/if_lagg.h | 2 +- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 6b342167e8e1..9e7a72d7cf0a 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -148,10 +148,10 @@ static int lagg_snd_tag_alloc(struct ifnet *, #endif static int lagg_setmulti(struct lagg_port *); static int lagg_clrmulti(struct lagg_port *); -static int lagg_setcaps(struct lagg_port *, int cap); -static int lagg_setflag(struct lagg_port *, int, int, +static int lagg_setcaps(struct lagg_port *, int cap); +static int lagg_setflag(struct lagg_port *, int, int, int (*func)(struct ifnet *, int)); -static int lagg_setflags(struct lagg_port *, int status); +static int lagg_setflags(struct lagg_port *, int status); static uint64_t lagg_get_counter(struct ifnet *ifp, ift_counter cnt); static int lagg_transmit_ethernet(struct ifnet *, struct mbuf *); static int lagg_transmit_infiniband(struct ifnet *, struct mbuf *); @@ -159,7 +159,7 @@ static void lagg_qflush(struct ifnet *); static int lagg_media_change(struct ifnet *); static void lagg_media_status(struct ifnet *, struct ifmediareq *); static struct lagg_port *lagg_link_active(struct lagg_softc *, - struct lagg_port *); + struct lagg_port *); /* Simple round robin */ static void lagg_rr_attach(struct lagg_softc *); @@ -183,7 +183,7 @@ static struct mbuf *lagg_lb_input(struct lagg_softc *, struct lagg_port *, static int lagg_lb_porttable(struct lagg_softc *, struct lagg_port *); /* Broadcast */ -static int lagg_bcast_start(struct lagg_softc *, struct mbuf *); +static int lagg_bcast_start(struct lagg_softc *, struct mbuf *); static struct mbuf *lagg_bcast_input(struct lagg_softc *, struct lagg_port *, struct mbuf *); @@ -459,7 +459,7 @@ lagg_register_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag) struct lagg_softc *sc = ifp->if_softc; struct lagg_port *lp; - if (ifp->if_softc != arg) /* Not our event */ + if (ifp->if_softc != arg) /* Not our event */ return; LAGG_XLOCK(sc); @@ -478,7 +478,7 @@ lagg_unregister_vlan(void *arg, struct ifnet *ifp, u_int16_t vtag) struct lagg_softc *sc = ifp->if_softc; struct lagg_port *lp; - if (ifp->if_softc != arg) /* Not our event */ + if (ifp->if_softc != arg) /* Not our event */ return; LAGG_XLOCK(sc); @@ -516,7 +516,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params) if_type = IFT_ETHER; } - sc = malloc(sizeof(*sc), M_LAGG, M_WAITOK|M_ZERO); + sc = malloc(sizeof(*sc), M_LAGG, M_WAITOK | M_ZERO); ifp = sc->sc_ifp = if_alloc(if_type); if (ifp == NULL) { free(sc, M_LAGG); @@ -533,7 +533,7 @@ lagg_clone_create(struct if_clone *ifc, int unit, caddr_t params) sc->flowid_shift = V_def_flowid_shift; /* Hash all layers by default */ - sc->sc_flags = MBUF_HASHFLAG_L2|MBUF_HASHFLAG_L3|MBUF_HASHFLAG_L4; + sc->sc_flags = MBUF_HASHFLAG_L2 | MBUF_HASHFLAG_L3 | MBUF_HASHFLAG_L4; lagg_proto_attach(sc, LAGG_PROTO_DEFAULT); @@ -766,7 +766,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp) ifr.ifr_mtu = oldmtu; } - lp = malloc(sizeof(struct lagg_port), M_LAGG, M_WAITOK|M_ZERO); + lp = malloc(sizeof(struct lagg_port), M_LAGG, M_WAITOK | M_ZERO); lp->lp_softc = sc; /* Check if port is a stacked lagg */ @@ -836,7 +836,7 @@ lagg_port_create(struct lagg_softc *sc, struct ifnet *ifp) CK_SLIST_FOREACH(tlp, &sc->sc_ports, lp_entries) { if (tlp->lp_ifp->if_index < ifp->if_index && ( CK_SLIST_NEXT(tlp, lp_entries) == NULL || - ((struct lagg_port*)CK_SLIST_NEXT(tlp, lp_entries))->lp_ifp->if_index > + ((struct lagg_port*)CK_SLIST_NEXT(tlp, lp_entries))->lp_ifp->if_index > ifp->if_index)) break; } @@ -1050,15 +1050,15 @@ fallback: } /* - * Requests counter @cnt data. + * Requests counter @cnt data. * * Counter value is calculated the following way: - * 1) for each port, sum difference between current and "initial" measurements. + * 1) for each port, sum difference between current and "initial" measurements. * 2) add lagg logical interface counters. * 3) add data from detached_counters array. * * We also do the following things on ports attach/detach: - * 1) On port attach we store all counters it has into port_counter array. + * 1) On port attach we store all counters it has into port_counter array. * 2) On port detach we add the different between "initial" and * current counters data to detached_counters array. */ @@ -1432,7 +1432,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) /* Invalid combination of options specified. */ error = EINVAL; LAGG_XUNLOCK(sc); - break; /* Return from SIOCSLAGGOPTS. */ + break; /* Return from SIOCSLAGGOPTS. */ } /* @@ -1481,15 +1481,15 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) break; case LAGG_OPT_LACP_FAST_TIMO: LACP_LOCK(lsc); - LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) - lp->lp_state |= LACP_STATE_TIMEOUT; + LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) + lp->lp_state |= LACP_STATE_TIMEOUT; LACP_UNLOCK(lsc); lsc->lsc_fast_timeout = 1; break; case -LAGG_OPT_LACP_FAST_TIMO: LACP_LOCK(lsc); - LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) - lp->lp_state &= ~LACP_STATE_TIMEOUT; + LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) + lp->lp_state &= ~LACP_STATE_TIMEOUT; LACP_UNLOCK(lsc); lsc->lsc_fast_timeout = 0; break; @@ -1783,8 +1783,7 @@ lagg_setmulti(struct lagg_port *lp) IF_ADDR_WUNLOCK(scifp); return (ENOMEM); } - bcopy(ifma->ifma_addr, &mc->mc_addr, - ifma->ifma_addr->sa_len); + bcopy(ifma->ifma_addr, &mc->mc_addr, ifma->ifma_addr->sa_len); mc->mc_addr.sdl_index = ifp->if_index; mc->mc_ifma = NULL; SLIST_INSERT_HEAD(&lp->lp_mc_head, mc, mc_entries); @@ -2278,7 +2277,7 @@ lagg_fail_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) * If tmp_tp is null, we've received a packet when all * our links are down. Weird, but process it anyways. */ - if ((tmp_tp == NULL || tmp_tp == lp)) { + if (tmp_tp == NULL || tmp_tp == lp) { m->m_pkthdr.rcvif = ifp; return (m); } diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h index de0fdd712b3e..dfab0d1b1c7a 100644 --- a/sys/net/if_lagg.h +++ b/sys/net/if_lagg.h @@ -222,7 +222,7 @@ struct lagg_lb { struct lagg_mc { struct sockaddr_dl mc_addr; - struct ifmultiaddr *mc_ifma; + struct ifmultiaddr *mc_ifma; SLIST_ENTRY(lagg_mc) mc_entries; }; From nobody Mon Apr 10 05:07:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnC3wz3z44mwv; Mon, 10 Apr 2023 05:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnC27B7z3Ps1; Mon, 10 Apr 2023 05:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bjC/vmjQFAxXSq5UAh5NUIGkOqn8QYW0mWDf6OsJYp4=; b=raC+oRvW/Z2KWfdikTt+z2/QUBhJK3RZGeMoDxmk1bQnXX55Jc2DsiOCU5xw3gyPWzNXaT fCft+ptCxkssKhmS8eWslHGqCWnyGOSV+xX7C9SF0hF1ht8qtejWVW+92X1BBJTozJfVy6 zHOmJi7sDM6XkiqvEbhHYU6ZdHEYL4y4/OKiaPo31AHPd/qMO7XNLof97M32Mpl7nLb7JZ Ag+A/KhYs5Wi0mhQ7A/LqBM6Hhe3b3wiOMR26xTacEoD4h81ixvgnD396Ir/f0hzcD9oF+ BiDOaV4xmJyslM2tLS2/kXdA9gMj2uTkHu67++IDx+ZpGQA3c7PVze2gGStLHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bjC/vmjQFAxXSq5UAh5NUIGkOqn8QYW0mWDf6OsJYp4=; b=bFveibXeeHzqXiVfjWPZIFBrPTKJK7deaMRzoSNEs8oL+VyeXUzyGS+xckPKwpstKAsWPs z/McOCeiXXC4Pf3+hg+y6KPymJRZOQ5/fKDHRll6LdAwgK/wIWDlmaPUZLxbr7KvUvVYjW UGPecnWqWC83cJBYW2cyTifIA1oQs69S9EDCVti7AczveLLTkqxYzfSLNYf7UrUxFWa4cH XTi12mDaJ6atlanEqRnqC6e/H6e+bpyM7TR+TNbCmi358ay5dAxfnqENUZIA1yTROue1cg +KVaMm+oBahLOdU3N/vFDg2lKyEOmsIcJuDeroPe5aC5xVo+c3nJRC3DzY+f5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103279; a=rsa-sha256; cv=none; b=IcoHsioQdxRPETenXfUPIonsi4dg203cLOgrKtqsGV5pmeHokxb8P6c27aCGO17PFJqPtV LfsGhIQJkdCpzPVaevzRxj4/g/O0fBDxoMGXMTUrBkWfS02emXudSJ3mix1AIoNImSPtyJ x2DuWuadTlCr5ll/Uyw6kWR3+DGXxWkijY22d5PHZORlc89nKvWvImt6s108AsH0YEI68X wccsGxh2O4KrOQATssIvhLlEXWz5RawepxhMjuOF4NAf2/pKyEVrkTYbCLK8IgMNVEcIrn n3avpqEUz2tI1sFLE15FWTgz3msnUL+iLRfw3nmh7Aq5u9vMLrmcPZ2s/Es3cA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvxnC0l5Wzcpp; Mon, 10 Apr 2023 05:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A57xdg022147; Mon, 10 Apr 2023 05:07:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A57xdZ022146; Mon, 10 Apr 2023 05:07:59 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:07:59 GMT Message-Id: <202304100507.33A57xdZ022146@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: f3493c86529e - stable/12 - lagg(4): Make lagg_list and lagg_detach_cookie static List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: f3493c86529e71351776961127ad16a260f752de Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=f3493c86529e71351776961127ad16a260f752de commit f3493c86529e71351776961127ad16a260f752de Author: Zhenlei Huang AuthorDate: 2023-03-29 16:13:02 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:21 +0000 lagg(4): Make lagg_list and lagg_detach_cookie static They are used internally only. No functional change intended. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39250 (cherry picked from commit fcac5719a1833ad865ac0a7960ff18319a40dfff) (cherry picked from commit b452382e5c00facd0fab8a8b0bd53d9564689e55) --- sys/net/if_lagg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 9e7a72d7cf0a..c4ea1e9e7637 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -105,7 +105,7 @@ static struct { {0, NULL} }; -VNET_DEFINE(SLIST_HEAD(__trhead, lagg_softc), lagg_list); /* list of laggs */ +VNET_DEFINE_STATIC(SLIST_HEAD(__trhead, lagg_softc), lagg_list); /* list of laggs */ #define V_lagg_list VNET(lagg_list) VNET_DEFINE_STATIC(struct mtx, lagg_list_mtx); #define V_lagg_list_mtx VNET(lagg_list_mtx) @@ -114,7 +114,7 @@ VNET_DEFINE_STATIC(struct mtx, lagg_list_mtx); #define LAGG_LIST_LOCK_DESTROY(x) mtx_destroy(&V_lagg_list_mtx) #define LAGG_LIST_LOCK(x) mtx_lock(&V_lagg_list_mtx) #define LAGG_LIST_UNLOCK(x) mtx_unlock(&V_lagg_list_mtx) -eventhandler_tag lagg_detach_cookie = NULL; +static eventhandler_tag lagg_detach_cookie = NULL; static int lagg_clone_create(struct if_clone *, int, caddr_t); static void lagg_clone_destroy(struct ifnet *); From nobody Mon Apr 10 05:08:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnD3VhNz44mRG; Mon, 10 Apr 2023 05:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnD2Gxkz3Pm1; Mon, 10 Apr 2023 05:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i7G1Uqrb7Pgg6PrWvTk+h6Pvq7hltA/mN9ZfK7EDkjI=; b=eD9HGsgA4pjApJvJIotEsu1Hf540njMswdWHN4AGRYLyuu0fhD9U5upZetlw+LNsZebQVz 488j7g9QIVsKlIRLDSvwAt6v9OHfyfqR/I0R73Iju75Hb8etTTm6JAt/TSU7Qv+JuDfQsv 9WHs5YL+O1rjLWJ72S12JQpsVtGp+x/ya5jzsw79vD2sTd0HDiOXF8BcDkn6mB9IDNIrpx L9jM1SEcJVOv1S9bWR3ooCWK6tLa58z5JAbE7Xv0SlTVlV2EO0CYw6g1kTahDZaHfM8vlY rp3YmvwHWpSOHnqdQRNcNUfuYHNx/ciA4c2cIm5kcJ+kf+VhMV/9msugg76zjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i7G1Uqrb7Pgg6PrWvTk+h6Pvq7hltA/mN9ZfK7EDkjI=; b=bpOVjo3Dtdv5fAwDAlbM2/wHuv5EP75v+3+A3jDaecRVONOOLKHAWRW7i8hJ4J2/W4boQa 8Z+6s5IGQnpxoIda1LsxfbpgsJyTx5pWuixWtYUFkB/AfqnYGFEBqYE3xommHuyZmbN6S1 YjmjSDk9kv3XvWrVblZ6F0N2FOiFwOZO+ESO1UXxAXJuUFXl0U0n8bMBIoved1ocKNdca+ 1OuDd54WAAYU7qPOCBvO243pWj7zxm8TIrhFtXTGFl7HD/PvNgNWub4NxlnjldoMSMXgxm 7e4K7Os3pRIzIcOrjhX/bLbI4nD0tn01L9G3NPirOmQSWI7IhForCW1di68jpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103280; a=rsa-sha256; cv=none; b=YYl7Swid6ekdnTojImRLX1/7QnPCbNlMZ3YlFrnJqopmXY23GDnwlYhf2VT/K6mIU6GYOo Q+CnSXvEqqfJVQCc1Gc0WHFI4B/P85S0vj7R3KnGyLGSW5EXaPozyeuqGBzMrytqK6aODD EbVzoRHI6yyXUPZ98UmZZe3fxWzqOtXPJGuv5YNbdMj+AgYArn0ersaK1/HnfI4kjUSGWb 8d30bMwRu3yOs6OquuwPqA4C18KXnp1MzUoXcvS2AYpj5uJKnbYQeAUta20lqCnk35LZRE 2owoxLZDL98ERyrsykvabTFcye5XRlCAyfUD6yC6GeQhdXWIzGgAfI0u7eZDLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvxnD1Nvrzcpq; Mon, 10 Apr 2023 05:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A580Ln022173; Mon, 10 Apr 2023 05:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A580Tl022172; Mon, 10 Apr 2023 05:08:00 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:08:00 GMT Message-Id: <202304100508.33A580Tl022172@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: cb7a77b8ba80 - stable/12 - lagg(4): Refactor out some lagg protocol input routines into a default one List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: cb7a77b8ba80b93f3c07937752e68a26e31451c3 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=cb7a77b8ba80b93f3c07937752e68a26e31451c3 commit cb7a77b8ba80b93f3c07937752e68a26e31451c3 Author: Zhenlei Huang AuthorDate: 2023-03-29 16:16:21 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:21 +0000 lagg(4): Refactor out some lagg protocol input routines into a default one Those input routines are identical. Also inline two fast paths. No functional change intended. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39251 (cherry picked from commit dbe86dd5de18fdf61e1300f6575e0f50785bf6b3) (cherry picked from commit eeb96a7b9178aa55d855203b977564b287d6d108) --- sys/net/if_lagg.c | 63 ++++++++++++++++++------------------------------------- 1 file changed, 20 insertions(+), 43 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index c4ea1e9e7637..6a6f08b9696e 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -164,8 +164,6 @@ static struct lagg_port *lagg_link_active(struct lagg_softc *, /* Simple round robin */ static void lagg_rr_attach(struct lagg_softc *); static int lagg_rr_start(struct lagg_softc *, struct mbuf *); -static struct mbuf *lagg_rr_input(struct lagg_softc *, struct lagg_port *, - struct mbuf *); /* Active failover */ static int lagg_fail_start(struct lagg_softc *, struct mbuf *); @@ -178,14 +176,10 @@ static void lagg_lb_detach(struct lagg_softc *); static int lagg_lb_port_create(struct lagg_port *); static void lagg_lb_port_destroy(struct lagg_port *); static int lagg_lb_start(struct lagg_softc *, struct mbuf *); -static struct mbuf *lagg_lb_input(struct lagg_softc *, struct lagg_port *, - struct mbuf *); static int lagg_lb_porttable(struct lagg_softc *, struct lagg_port *); /* Broadcast */ static int lagg_bcast_start(struct lagg_softc *, struct mbuf *); -static struct mbuf *lagg_bcast_input(struct lagg_softc *, struct lagg_port *, - struct mbuf *); /* 802.3ad LACP */ static void lagg_lacp_attach(struct lagg_softc *); @@ -195,6 +189,10 @@ static struct mbuf *lagg_lacp_input(struct lagg_softc *, struct lagg_port *, struct mbuf *); static void lagg_lacp_lladdr(struct lagg_softc *); +/* Default input */ +static struct mbuf *lagg_default_input(struct lagg_softc *, struct lagg_port *, + struct mbuf *); + /* lagg protocol table */ static const struct lagg_proto { lagg_proto pr_num; @@ -219,7 +217,7 @@ static const struct lagg_proto { .pr_num = LAGG_PROTO_ROUNDROBIN, .pr_attach = lagg_rr_attach, .pr_start = lagg_rr_start, - .pr_input = lagg_rr_input, + .pr_input = lagg_default_input, }, { .pr_num = LAGG_PROTO_FAILOVER, @@ -231,7 +229,7 @@ static const struct lagg_proto { .pr_attach = lagg_lb_attach, .pr_detach = lagg_lb_detach, .pr_start = lagg_lb_start, - .pr_input = lagg_lb_input, + .pr_input = lagg_default_input, .pr_addport = lagg_lb_port_create, .pr_delport = lagg_lb_port_destroy, }, @@ -253,7 +251,7 @@ static const struct lagg_proto { { .pr_num = LAGG_PROTO_BROADCAST, .pr_start = lagg_bcast_start, - .pr_input = lagg_bcast_input, + .pr_input = lagg_default_input, }, }; @@ -369,14 +367,14 @@ lagg_proto_detach(struct lagg_softc *sc) lagg_protos[pr].pr_detach(sc); } -static int +static inline int lagg_proto_start(struct lagg_softc *sc, struct mbuf *m) { return (lagg_protos[sc->sc_proto].pr_start(sc, m)); } -static struct mbuf * +static inline struct mbuf * lagg_proto_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) { @@ -2171,17 +2169,6 @@ lagg_rr_start(struct lagg_softc *sc, struct mbuf *m) return (lagg_enqueue(lp->lp_ifp, m)); } -static struct mbuf * -lagg_rr_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) -{ - struct ifnet *ifp = sc->sc_ifp; - - /* Just pass in the packet to our lagg device */ - m->m_pkthdr.rcvif = ifp; - - return (m); -} - /* * Broadcast mode */ @@ -2232,16 +2219,6 @@ lagg_bcast_start(struct lagg_softc *sc, struct mbuf *m) return (0); } -static struct mbuf* -lagg_bcast_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) -{ - struct ifnet *ifp = sc->sc_ifp; - - /* Just pass in the packet to our lagg device */ - m->m_pkthdr.rcvif = ifp; - return (m); -} - /* * Active failover */ @@ -2383,17 +2360,6 @@ lagg_lb_start(struct lagg_softc *sc, struct mbuf *m) return (lagg_enqueue(lp->lp_ifp, m)); } -static struct mbuf * -lagg_lb_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) -{ - struct ifnet *ifp = sc->sc_ifp; - - /* Just pass in the packet to our lagg device */ - m->m_pkthdr.rcvif = ifp; - - return (m); -} - /* * 802.3ad LACP */ @@ -2484,3 +2450,14 @@ lagg_lacp_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) return (m); } +/* Default input */ +static struct mbuf * +lagg_default_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) +{ + struct ifnet *ifp = sc->sc_ifp; + + /* Just pass in the packet to our lagg device */ + m->m_pkthdr.rcvif = ifp; + + return (m); +} From nobody Mon Apr 10 05:08:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnF5zHFz44mlc; Mon, 10 Apr 2023 05:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnF3yx5z3Q3N; Mon, 10 Apr 2023 05:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LA0VP0L0c9OxM8KX4zxSwm5h+cPKiHrSI/O2qoXBM7w=; b=m1iqjs/QpyqZq8bRRwdI2i50NO1kKK9JSHuE/yTt7rZ9Zc1ttm2GvyBvMbvd5WEwwPX0SP IrVNcd80uTZw3dUXZeEebTeiJeiJ9HMPTYExUCx0aZ/9cIMNLwSxTGR+5bhb1eaPGL+Kla ClmFAKlpjHmmynDEAPNGCGBYZtD9T4hxtlVFr/ErLIVXE2T/oSasgbXmpb3InSmJBpaBXu APvpJ5wWViTF7mG5oV5FLeYguotBv805rLXwI+GJVNqjGOSMWsmzpjKLl6EFQjdeq6e9W9 43FF/f4LSnuysqqbalPiIaRpz1jyYbWd6sK6Cw5vzAc8rWqlZoL0NDls1chALw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103281; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LA0VP0L0c9OxM8KX4zxSwm5h+cPKiHrSI/O2qoXBM7w=; b=BkWAfBpW8r1k7mD4vQLCpFuqZFrKqXboxaWeI7Mmw4ZqUIGkwb8433jUnLEzWXv8TMuhON YJIZyMxs6GW4Z7RofX0OIhDBpJ0tNcPkFj/4FHTJNf2j8W8hNGUlbyVNKkvVTBbY/qo5HV OvFYimZW/vSLIJ1m5+9Z8W+QxGHtapPVVOjb3JgNI97HpOcfANqVu0chpKCYsBCNGVOp8H 5Pjukb5XJ5VEFzC6rQFcEXEjWFwd/luwFvCBFbqvcMZ8viBQHUjwTJezz6LOCC10yEsPIW Kxp/Usi1e5aU4SMiw9b1EEHQH5ze9q1DSGiKt964C8ex1GeEQTPEoBJP9WQ+EA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103281; a=rsa-sha256; cv=none; b=dsYxCLCy76oIEOzYTIQDtlp4fTn/auAm2TvVOuZ6VhKycD6jESO+r8IEKgoHbGyoU0zNtE hwRBgSerdbAw6IfJ/IGcpX8+6AKfDCi0KSNBa+5jyRqe3kiJHvAHbPJPSIRc3JrxO903CW jpSGqIhHe9jf7/bZ0aIdWAahk+MgUmsDGqmTChFWswHiPgVByCniXF3ByaYitEqkM39LIO QST7zz8uUMzMgojhgi+SLv4wX/iP7lBg27sSb+Wx5NydML3++7M1UCOofMu9qZG1EfMiNu N2js5je/emkBx82Pdwep7KQMJNqBu2eSJEJTDEVP4fISFrPoRHm6M0S220a7gA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvxnF2HXGzd3m; Mon, 10 Apr 2023 05:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A581EJ022201; Mon, 10 Apr 2023 05:08:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A581cp022200; Mon, 10 Apr 2023 05:08:01 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:08:01 GMT Message-Id: <202304100508.33A581cp022200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: d7dd3c8274aa - stable/12 - lacp: Use C99 bool for boolean return value List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: d7dd3c8274aa48e1e29f1232773ef88ff4baf73c Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=d7dd3c8274aa48e1e29f1232773ef88ff4baf73c commit d7dd3c8274aa48e1e29f1232773ef88ff4baf73c Author: Zhenlei Huang AuthorDate: 2023-03-31 17:48:36 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:22 +0000 lacp: Use C99 bool for boolean return value This improves readability. No functional change intended. MFC after: 1 week (cherry picked from commit 5a8abd0a298e6e7a8bf938a7eb171b647b1860cd) (cherry picked from commit d1d5d8f69659c4d3573e64a62a9306ee944d9e4d) --- sys/net/ieee8023ad_lacp.c | 38 +++++++++++++++++--------------------- sys/net/ieee8023ad_lacp.h | 15 ++++++--------- sys/net/if_lagg.c | 2 +- 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c index 61cd94e5ce2f..2160baf18351 100644 --- a/sys/net/ieee8023ad_lacp.c +++ b/sys/net/ieee8023ad_lacp.c @@ -115,9 +115,9 @@ static void lacp_fill_aggregator_id(struct lacp_aggregator *, const struct lacp_port *); static void lacp_fill_aggregator_id_peer(struct lacp_peerinfo *, const struct lacp_peerinfo *); -static int lacp_aggregator_is_compatible(const struct lacp_aggregator *, +static bool lacp_aggregator_is_compatible(const struct lacp_aggregator *, const struct lacp_port *); -static int lacp_peerinfo_is_compatible(const struct lacp_peerinfo *, +static bool lacp_peerinfo_is_compatible(const struct lacp_peerinfo *, const struct lacp_peerinfo *); static struct lacp_aggregator *lacp_aggregator_get(struct lacp_softc *, @@ -1337,44 +1337,40 @@ lacp_fill_aggregator_id_peer(struct lacp_peerinfo *lpi_aggr, * lacp_aggregator_is_compatible: check if a port can join to an aggregator. */ -static int +static bool lacp_aggregator_is_compatible(const struct lacp_aggregator *la, const struct lacp_port *lp) { if (!(lp->lp_state & LACP_STATE_AGGREGATION) || !(lp->lp_partner.lip_state & LACP_STATE_AGGREGATION)) { - return (0); + return (false); } - if (!(la->la_actor.lip_state & LACP_STATE_AGGREGATION)) { - return (0); - } + if (!(la->la_actor.lip_state & LACP_STATE_AGGREGATION)) + return (false); - if (!lacp_peerinfo_is_compatible(&la->la_partner, &lp->lp_partner)) { - return (0); - } + if (!lacp_peerinfo_is_compatible(&la->la_partner, &lp->lp_partner)) + return (false); - if (!lacp_peerinfo_is_compatible(&la->la_actor, &lp->lp_actor)) { - return (0); - } + if (!lacp_peerinfo_is_compatible(&la->la_actor, &lp->lp_actor)) + return (false); - return (1); + return (true); } -static int +static bool lacp_peerinfo_is_compatible(const struct lacp_peerinfo *a, const struct lacp_peerinfo *b) { if (memcmp(&a->lip_systemid, &b->lip_systemid, - sizeof(a->lip_systemid))) { - return (0); + sizeof(a->lip_systemid)) != 0) { + return (false); } - if (memcmp(&a->lip_key, &b->lip_key, sizeof(a->lip_key))) { - return (0); - } + if (memcmp(&a->lip_key, &b->lip_key, sizeof(a->lip_key)) != 0) + return (false); - return (1); + return (true); } static void diff --git a/sys/net/ieee8023ad_lacp.h b/sys/net/ieee8023ad_lacp.h index 10c6a2c9f892..858500d12b33 100644 --- a/sys/net/ieee8023ad_lacp.h +++ b/sys/net/ieee8023ad_lacp.h @@ -300,7 +300,7 @@ void lacp_linkstate(struct lagg_port *); void lacp_req(struct lagg_softc *, void *); void lacp_portreq(struct lagg_port *, void *); -static __inline int +static __inline bool lacp_isactive(struct lagg_port *lgp) { struct lacp_port *lp = LACP_PORT(lgp); @@ -308,26 +308,23 @@ lacp_isactive(struct lagg_port *lgp) struct lacp_aggregator *la = lp->lp_aggregator; /* This port is joined to the active aggregator */ - if (la != NULL && la == lsc->lsc_active_aggregator) - return (1); - - return (0); + return (la != NULL && la == lsc->lsc_active_aggregator); } -static __inline int +static __inline bool lacp_iscollecting(struct lagg_port *lgp) { struct lacp_port *lp = LACP_PORT(lgp); - return ((lp->lp_state & LACP_STATE_COLLECTING) != 0); + return (lp->lp_state & LACP_STATE_COLLECTING); } -static __inline int +static __inline bool lacp_isdistributing(struct lagg_port *lgp) { struct lacp_port *lp = LACP_PORT(lgp); - return ((lp->lp_state & LACP_STATE_DISTRIBUTING) != 0); + return (lp->lp_state & LACP_STATE_DISTRIBUTING); } /* following constants don't include terminating NUL */ diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 6a6f08b9696e..b970e1a9f2b1 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -2441,7 +2441,7 @@ lagg_lacp_input(struct lagg_softc *sc, struct lagg_port *lp, struct mbuf *m) * If the port is not collecting or not in the active aggregator then * free and return. */ - if (lacp_iscollecting(lp) == 0 || lacp_isactive(lp) == 0) { + if (!lacp_iscollecting(lp) || !lacp_isactive(lp)) { m_freem(m); return (NULL); } From nobody Mon Apr 10 05:08:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnG72v5z44mZB; Mon, 10 Apr 2023 05:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnG4Kc1z3QH4; Mon, 10 Apr 2023 05:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QwFKhazrJlHMo6NLqVo+4hOGKHuQ0fnTHj/rv0znuQc=; b=ew/7g2OnkrtSqMo6cZQ9Gll+ALPdSrHsFKy7xdPeKxnHXGYI9uVd9+kRAxcmhiEDZb2YJA AlAP/pnlfuraoPJhaIOghVNzQhuzX3rZPPZ0+tpF7vG4r0kiNTiiNwS5z1PUJm49uiCEXN Cz0zxLkhqAqRULmSlyqH5NYUvd99GtrCUnEEKzUHirSkb9JVtOfF1+QbSG6gZooOTqKYNd ID9Y/aZyhSNJX3NRaAmPOSOLvSyyHTBdBAgaRvcMEzTarGMhHUoHO3l2j0E86KlQ+96X2V 54sWE6I6MQ1XdBLE0QPjOb1guA326SN2MadXUANBiXvwqNbipkaHv7Jr/VWOZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103282; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QwFKhazrJlHMo6NLqVo+4hOGKHuQ0fnTHj/rv0znuQc=; b=NH9p4YQ5klfV3AQj+Xw8KED5BOzb07UWLBSl4o6JP2R0sz/sRzt6Tpx+0bshhfuhRMY42z Khh5ZM1xNyPjE+5E+8FqMUhDzgWocFbvJ1XzSwv3JiQpTrzG50DVOONH60/4uhTkDje4/n FKD4VdsijWxKms4HGAgsRTDLCnC1TfuvhaLhh/ibbe0O1JE2stnSSFpHsrdk1QuXT5cH19 fo7M99z3MnfE/RJp5UbuPSBeojTDXE628a5fywONMfqJGr1pO6OAbfSXMF3D/LEZS8mZjv j7kTOZbrHIyDqwu0dcIi8u517jCu8drwnI4EgcVs0GnZtX3z4+kQk1GMAQ8Vyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103282; a=rsa-sha256; cv=none; b=uZuH1x3eYY0n3Yjqu+3GnAylIJwR3mpH6c6od6gbMt4ldOxrlYkX7BJAeIN7qLKliwZEcv 2EeWCfdvfZWF4fphh0ZQWb1r7xMw0QvZSawWqqqKC303/u5zwZ/LU1KftynOmMc9YVIo6q FA4Ccwu31RdtljvmsAArwdZik6obufrD0EWV290qioyyGnVvKAyzTeNgX2jD0YXBMLzDxB x6nFuenXbXx6km6d4aQRnD1FyRiilKQQJ6afU/TADzTpvWW+cyL18HaVbm5IoDkKUMiJeL UhFymidckO86lXXsgqJofM3mrKx2SCkiMOdczPBoVWkMVGk3xhGgPoBovj4u3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvxnG2Zyszcyh; Mon, 10 Apr 2023 05:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A582Rh022220; Mon, 10 Apr 2023 05:08:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A5820P022219; Mon, 10 Apr 2023 05:08:02 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:08:02 GMT Message-Id: <202304100508.33A5820P022219@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 114126825629 - stable/12 - lagg(4): Tap traffic after protocol processing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 11412682562925064591f0abaae63e2a9ff767e5 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=11412682562925064591f0abaae63e2a9ff767e5 commit 11412682562925064591f0abaae63e2a9ff767e5 Author: Zhenlei Huang AuthorDate: 2023-04-02 17:01:51 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:22 +0000 lagg(4): Tap traffic after protocol processing Different lagg protocols have different means and policies to process incoming traffic. For example, for failover protocol, by default received traffic is only accepted when they are received through the active port. For lacp protocol, LACP control messages are tapped off, also traffic will be dropped if they are received through the port which is not in collecting state or is not joined to the active aggregator. It confuses if user dump and see inbound traffic on lagg(4) interfaces but they are actually silently dropped and not passed into the net stack. Tap traffic after protocol processing so that user will have consistent view of the inbound traffic, meanwhile mbuf is set with correct receiving interface and bpf(4) will diagnose the right direction of inbound packets. PR: 270417 Reviewed by: melifaro (previous version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39225 (cherry picked from commit 5f3d0399e903573e9648385ea6585e54af4d573f) (cherry picked from commit ed44ba413c544c0aa05b3456bc430c816a0e3168) --- sys/net/if_lagg.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index b970e1a9f2b1..796aa7f24dcd 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -1953,12 +1953,14 @@ lagg_input_ethernet(struct ifnet *ifp, struct mbuf *m) return (NULL); } - ETHER_BPF_MTAP(scifp, m); - m = lagg_proto_input(sc, lp, m); - if (m != NULL && (scifp->if_flags & IFF_MONITOR) != 0) { - m_freem(m); - m = NULL; + if (m != NULL) { + ETHER_BPF_MTAP(scifp, m); + + if ((scifp->if_flags & IFF_MONITOR) != 0) { + m_freem(m); + m = NULL; + } } LAGG_RUNLOCK(); @@ -1981,12 +1983,14 @@ lagg_input_infiniband(struct ifnet *ifp, struct mbuf *m) return (NULL); } - INFINIBAND_BPF_MTAP(scifp, m); - m = lagg_proto_input(sc, lp, m); - if (m != NULL && (scifp->if_flags & IFF_MONITOR) != 0) { - m_freem(m); - m = NULL; + if (m != NULL) { + INFINIBAND_BPF_MTAP(scifp, m); + + if ((scifp->if_flags & IFF_MONITOR) != 0) { + m_freem(m); + m = NULL; + } } LAGG_RUNLOCK(); From nobody Mon Apr 10 05:08:03 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnJ30fjz44mwy; Mon, 10 Apr 2023 05:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnJ0ZWCz3Q1l; Mon, 10 Apr 2023 05:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yJM/HohDKsTRWWz2O6DDFqt1bUi7UdBFe9J3eig7uRQ=; b=Nxh5/64VxVOgQcPvEuh3F307QvnHRvCzfJQtQIuEMNN6aJkEh8QLhUec373kXgok8Dg0Da WkoXv7kFIzi3EmQDw0R2KyT2jHb/3ynUrIfstpYqUdqwGyMCQfxY7LPcLaOo97uHgJafHY oheX48aaeMe8li2gcQSZr/dVnDdFSHaXZJWzz6qJd8ptPP0yrpjOWKOp0sQGkoUILzN8jy SgUDTBoCwi465pnLFZm8GRiyAgS5uXDwDgI5uC1APAKGnqpIjcvt7CpJ1fe1zPyU8WG3Dh FOOomUmJtiuV4Kis/DUiOZ+xUaxMJMTP06386MHZS+9iwmmkNQM6AA0qgBFS4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yJM/HohDKsTRWWz2O6DDFqt1bUi7UdBFe9J3eig7uRQ=; b=PSvGBpm6/V7ShmD0BqZVJkLUFMus7YWKj7QYrWdLqcd8kXOXQCiW9XDf/c4dHgMg13FiON qObEYn5f1Jkqw4KJm6yz8v4HtyIpTiAgQ3BpRif7YcHY6ieX5UXG4yBykyOLWU2vHSMOOh q0CRZcQhCKVjv9klZwTZjlahKN6cLDcHl2Wy2ISBhXYbAocNa1cytYSyIou4hl7wzi/hHL Qm5/5C6OQwb5lGojRjGQWk5myCEf4w1NX8nJb3REUKE8KhrnVyH6IgUbtwM/RvgM+oWuk4 ORq/TNSOT5ElwpQm+KDpmYkoWX4vKsul023ppvLNLAmvgp/pFj7IuZDxkS93FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103284; a=rsa-sha256; cv=none; b=jxiKQO4JvJk25jhGALZ4ZjHh2KY9OS2yycHWfP/EwmqdbC/YurCXUMkgNGFNx3OK08pC4t grBS20IooRaHHVKzLTrPakT2pP8T5y3YtEijhLCkTeczfkC55tH4+I4/g8059EtO8EBrpt yZHxONgLz4nXquRtHmIWWc0oWGY2i93Batk7Z4FFqilLFyfEiX8mBV54lbTc6Tir2Lax5k sBbtz2KwBPukOgbII5w2vp5L6/v5UBkSlZ3O82rLdh+WMqaz9BZovBy0051qFaHqx1Pa7Z HmnGxuuDNUSGs3mWunoN6bPlBqXczL0seR2vyVPwXKfhJ3ntKGwE3N9MJubbTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvxnH3VlGzcn3; Mon, 10 Apr 2023 05:08:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A583qP022240; Mon, 10 Apr 2023 05:08:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A5838P022239; Mon, 10 Apr 2023 05:08:03 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:08:03 GMT Message-Id: <202304100508.33A5838P022239@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 24069f0dc073 - stable/12 - infiniband: Widen NET_EPOCH coverage List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 24069f0dc0730248bd5b09e50b12e37645d57c31 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=24069f0dc0730248bd5b09e50b12e37645d57c31 commit 24069f0dc0730248bd5b09e50b12e37645d57c31 Author: Zhenlei Huang AuthorDate: 2023-04-02 16:51:49 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:22 +0000 infiniband: Widen NET_EPOCH coverage From static code analysis, some device drivers (cxgbe, mlx4, mthca, and qlnx) do not enter net epoch before lagg_input_infiniband(). If IPoIB interface is a member of lagg(4) interface, and after returning from lagg_input_infiniband() the receiving interface of mbuf is set to lagg(4) interface, then when concurrently destroying the lagg(4) interface, there is a small window that the interface gets destroyed and becomes invalid before infiniband_input() re-enter net epoch, thus leading use-after-free. Widen NET_EPOCH coverage to prevent use-after-free. Thanks hselasky@ for testing with mlx5 devices. Reviewed by: hselasky Tested by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D39275 (cherry picked from commit 90820ef121b38479f2479c03c12c69f940f5fa33) (cherry picked from commit 5d45e09d50e648a75667c9b12b204eb62fa60ed2) --- sys/net/if_infiniband.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/if_infiniband.c b/sys/net/if_infiniband.c index b644f91f2cda..3fe4fb0616e8 100644 --- a/sys/net/if_infiniband.c +++ b/sys/net/if_infiniband.c @@ -407,6 +407,7 @@ infiniband_input(struct ifnet *ifp, struct mbuf *m) int isr; CURVNET_SET_QUIET(ifp->if_vnet); + NET_EPOCH_ENTER_ET(et); if ((ifp->if_flags & IFF_UP) == 0) { if_inc_counter(ifp, IFCOUNTER_IERRORS, 1); @@ -494,10 +495,9 @@ infiniband_input(struct ifnet *ifp, struct mbuf *m) mac_ifnet_create_mbuf(ifp, m); #endif /* Allow monitor mode to claim this frame, after stats are updated. */ - NET_EPOCH_ENTER_ET(et); netisr_dispatch(isr, m); - NET_EPOCH_EXIT_ET(et); done: + NET_EPOCH_EXIT_ET(et); CURVNET_RESTORE(); } From nobody Mon Apr 10 05:08:04 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PvxnK2BZlz44mx2; Mon, 10 Apr 2023 05:08:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PvxnJ5tRwz3QHj; Mon, 10 Apr 2023 05:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZZC6XCMEk7zDdNx6sONaPcdwt+FbmhQeZ0kPEpCUWOc=; b=ANUZ1iABZoK7fi9TeVUhx22P6sjUIALojkrQZECzu7zjaD5Krj0YUT1N4YLey45W34G21D fQW9rHdr0JoPJO2Kq6D9GzlQDIA6hN3tcW2psiGC3qdEfS+3cwwsxol5UsxfZ4YjzchnIi 5CLRKLpSn+o7W1p9AvgYvrNo3OcEQQ+M+PL3hvNhzDuUz3o5Q183L3Tbgucum4fWjxqAtc /390wabJIPznxELDVoSCdwOGVZVYJICMyuX550fwGExwg1VruMeOGCVbz2fXuEKEIHM+/F xyfJ/BD2v0bQlgcYcZ4Se6zmkZ+P6P4avq0HvnMX6TlSYQFoEsdAp+ohLVvheA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZZC6XCMEk7zDdNx6sONaPcdwt+FbmhQeZ0kPEpCUWOc=; b=YeDcgiq16a+4pTvEWAv/t+HHhPg/TqAMviHxVoMj4tM8PebEetOlUNhAfn28VicT2+v7b2 xHdXfI0MRsrZWvmnSklFnD1y2ABwum8Z11pg0nEUq1z8pbr47EZWjOGkYIjHPB8Cm2A5PZ CRAlmx9Zja906O7qNnLt2bbFZ8cgposuJyn28lOqgF4F7SeB3J598raGi4Tb7S1yGhI5o1 PvYX+DQLLuV09CaMnoiZZAY9NCC01SO8nETC99EOsf6Pw+ztO97KmjwV3ZcpTOq75vy+AL 8ULZmLcI5G14OVg3fcjPT+X4QjFpslkFJbJrgXu3//z2n/916MA3I1VXddn2FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103284; a=rsa-sha256; cv=none; b=erFtLmmaSjSxcp+zN6GszJ78WqocldzDSar77Wk6/wtdMWCtGJSEaCTgqM45haXg40RCns YuGPoH477rC2PxMSwtyO0bp6T8YcGoxNtclX6MWm2a3a5OjOQBuJSjtIeaOUn8XhVKMjlo E7Ar/rRxFmJ+cMNm2ADP3CUwroO5n//0easiJrLUpSWDMHztrjbbTuvscGcYP1juNL7zq1 oB2EUtzU9W53Prt+zSV114de1usskClvWPfB+zOcU67sfyt1Tvi+1JPp8C89MW3QrY9dgW q0T03t0Ej5q1cUZXfdFJ/AS+4c2aLMTqggYIrol4EGmcjcUykTdgF+AuJEPUjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PvxnJ4Zktzcn4; Mon, 10 Apr 2023 05:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A584Ku022259; Mon, 10 Apr 2023 05:08:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A584xM022258; Mon, 10 Apr 2023 05:08:04 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:08:04 GMT Message-Id: <202304100508.33A584xM022258@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 59f3510ea793 - stable/12 - ifconfig: Fix configuring if_bridge with additional operating parameters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 59f3510ea793d35fbf2996087af5ab870cc0229f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=59f3510ea793d35fbf2996087af5ab870cc0229f commit 59f3510ea793d35fbf2996087af5ab870cc0229f Author: Zhenlei Huang AuthorDate: 2023-04-07 14:25:41 +0000 Commit: Zhenlei Huang CommitDate: 2023-04-10 05:06:22 +0000 ifconfig: Fix configuring if_bridge with additional operating parameters For clone create and rename operations, the interface name get back can be different from the one passed to ioctl(). Use the interface name we get back so that ifconfig will not return unexpected ENXIO. PR: 270618 Reviewed by: kp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D39396 (cherry picked from commit 09e5e3d598604167c1fb05e5cd0f41ed83314517) (cherry picked from commit bab5ce8deafb00683fb8319208750981e68d309c) --- sbin/ifconfig/ifbridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/ifconfig/ifbridge.c b/sbin/ifconfig/ifbridge.c index f4c51632bc98..afbe4b309cb5 100644 --- a/sbin/ifconfig/ifbridge.c +++ b/sbin/ifconfig/ifbridge.c @@ -89,7 +89,7 @@ do_cmd(int sock, u_long op, void *arg, size_t argsize, int set) memset(&ifd, 0, sizeof(ifd)); - strlcpy(ifd.ifd_name, ifr.ifr_name, sizeof(ifd.ifd_name)); + strlcpy(ifd.ifd_name, name, sizeof(ifd.ifd_name)); ifd.ifd_cmd = op; ifd.ifd_len = argsize; ifd.ifd_data = arg; From nobody Mon Apr 10 05:10:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pvxr56RDzz44nB7; Mon, 10 Apr 2023 05:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pvxr55NC7z3lnG; Mon, 10 Apr 2023 05:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3AcyRxFx833ADTpp+kekknrbBvo2iTVYOo91VlYB5hU=; b=nO4ioeRo/cATM5MQ5PLFFbNBxwn3luTqtYWYpXpjYmIKNeCUbbMprq+una/hpe4xjBFRJH VS4x+vpbTMSkaKITlg04vP680o71af2i5Z/SUx8HjaJ57o9c5yE6w8bCcFxSldqgjbV2M9 SrfYM1JliD7rJbwN3HWjvTgXVVdl+zkVlk4xkBeYmEwbPqm3KK0jzmhOROdqCbQokNVgXE PefFXN7KuawVoTHOqXW9uZVvOz/X0KDSqBQnZLKD7gbyC7UomFFFV6U3OY7XfLPsbSdbZC cNr3h4QI+WT2F0yD7ufv74IAc3Lg3rnlyRmsaG+dicNz9BKeuYMuldmMRIbzuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1681103429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3AcyRxFx833ADTpp+kekknrbBvo2iTVYOo91VlYB5hU=; b=p/lIODkgg47VJn1KHtlCBUuEgD2ZtLDWyROx45mt0NTA81lwYZz1Kg/UfN2JqoFWKybTSJ 1p6hvvbrkMzjpZ8O3qlC+ttQ5LYXH/Wkpz7XrDhpgRk+5OuH0Oh33ZzIkdHYLqXkkRRkcn AzMiRsnQXYW6kiQuIvDSx4HGkbrNpbfcQ2FJn+l8Aq9BVDKL7bXL9feCQDxVAtNJ/vIZXm S/ZaAtgsNJqZSE0HUWjtf2ReaCwIFDeIk/m38OCQ2EGLBrTf+4ZDMnHBncjun7MXMGRMO1 GsssyiVtJY1AEd4XQrcCt9YQ3XsprpMKtYd0n5m/a4IMhpkkOtpY8X5SFS7Drg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1681103429; a=rsa-sha256; cv=none; b=jQzGoBRmkMYQuraWn4lfAgfwTfRsGEy3ZG1mvhOsNjENvbH/vubRGbr2+/CXe7VVsZH3Ii VIMuVpGqe4oP9UUxtl9ijwE/4OBoohhjalYjJUyJTVtyLb+W9804sO/O8YZzXx++jWqdUA HvwU2aYSU76JHRzs4Rdq5RXFgpZnKIXD6dsKB5+PfxGpBS3O04FMph3QvR9QFO8PzGtmTJ yZa8w7mtQ14T0amIsavzw1+esNTlEMbLH1g21Nfa4eOZXt4f6iOYmgXxDds2CD4V00OY6b VqNVcPcBM1mhEn0D/udqBg0Dbmd7Vul4H4MMlDHic4gELmJNbewse2IMoxXJEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pvxr54SnzzcXd; Mon, 10 Apr 2023 05:10:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33A5ATDK031192; Mon, 10 Apr 2023 05:10:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33A5ATPS031191; Mon, 10 Apr 2023 05:10:29 GMT (envelope-from git) Date: Mon, 10 Apr 2023 05:10:29 GMT Message-Id: <202304100510.33A5ATPS031191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3cea7ca846e9 - stable/13 - setkey(8): add -e option to take script from the command line List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3cea7ca846e94c90e3cb39200f72daac48bceac9 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3cea7ca846e94c90e3cb39200f72daac48bceac9 commit 3cea7ca846e94c90e3cb39200f72daac48bceac9 Author: Konstantin Belousov AuthorDate: 2023-04-03 01:03:50 +0000 Commit: Konstantin Belousov CommitDate: 2023-04-10 05:10:06 +0000 setkey(8): add -e option to take script from the command line (cherry picked from commit 3cb808226c1f62ed5c726480073eb9035a24d2cc) --- sbin/setkey/setkey.8 | 14 ++++++++++---- sbin/setkey/setkey.c | 17 ++++++++++++++++- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/sbin/setkey/setkey.8 b/sbin/setkey/setkey.8 index 2bb87cc21a97..20754c1b368f 100644 --- a/sbin/setkey/setkey.8 +++ b/sbin/setkey/setkey.8 @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 13, 2022 +.Dd April 3, 2023 .Dt SETKEY 8 .Os .\" @@ -45,6 +45,9 @@ .Op Fl v .Fl f Ar filename .Nm +.Op Fl v +.Fl e Ar script +.Nm .Op Fl Pgltv .Fl D .Nm @@ -65,11 +68,14 @@ The .Nm utility takes a series of operations from the standard input (if invoked with -.Fl c ) -or the file named +.Fl c ) , +from the file named .Ar filename (if invoked with -.Fl f Ar filename ) . +.Fl f Ar filename ) , +or from the command line argument following the option +(if invoked with +.Fl e Ar script ) . .Bl -tag -width indent .It Fl D Dump the SAD entries. diff --git a/sbin/setkey/setkey.c b/sbin/setkey/setkey.c index 2bc8ec7e5816..ff2509555ff2 100644 --- a/sbin/setkey/setkey.c +++ b/sbin/setkey/setkey.c @@ -99,6 +99,7 @@ usage() printf("usage: setkey [-v] -c\n"); printf(" setkey [-v] -f filename\n"); + printf(" setkey [-v] -e \"