From nobody Wed Oct 8 09:34:02 2025 X-Original-To: dev-commits-src-main@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 4chSWH1Kwnz6BgLQ; Wed, 08 Oct 2025 09:34: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4chSWH0kNlz3dsW; Wed, 08 Oct 2025 09:34:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759916043; 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=laxD4bGxPHOYuy9r0tLoWZuIKIsJY8U5w3/p552rbtE=; b=kY1Cr4zXN3DwdjwAaCmovHUKta+6G1FHPw+m7np6RQYwW2I0Io/qoT7a4fRNCNG6rDUr3d wJczzgKEpfMe9w5aO3Wr4K5gBU8MG1NTpJcZ+ovnHcRkvfT25WsDBkSXj4KBjOlETCle3c 6anWhowyxbHcZA5xlg0QpkQK9v0yoHmB9xTYE2+39EFYdwSYIgaEiJe/bKWz7XQ1sBMDn7 vd4BYHf7AgykEDluer1Kha3l+EUive4fHI9XDFx8dOJTYGGoeSEeK+QoH9G3nae4QCcNmx 7pubrrW/ApWFdKcZKNuCrVtjDU0s5d+7MRycaKLGtppCKGQzoAnWoWvAoyzpAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759916043; 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=laxD4bGxPHOYuy9r0tLoWZuIKIsJY8U5w3/p552rbtE=; b=asV0hBQJiP48SZTM6gkyKkZY1lahCkWMQY/ZuHD4Ke5t2iNC3eHAOHeAC1iUxukYcxgGnA qxWK2YGdCHIXtcXsCfUfE2tsqaMSKh70NxJ9UrDQF5h1QfRCtSAFJph2q7pyJNWytcXFHn Kq/KEudEZpQc9f/4mAGklE118r58aYAvFvgWzgpXuInerwtnCHEs0aNEISzM+bc8NUILLp RAj9rICtpXZPQ6D8R9bmqmP/c2SWBYqdZgXXvoJ9qAsIVphF2adntmjWfdJGAzrVLX5sqB 0LIxld0nY2OylStN7rOzV+b5tIivEq7LFZwBh5QP1HJEJSCV2ySISKj9zrh3mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759916043; a=rsa-sha256; cv=none; b=keXaWAQ48kZMrI/yW+P9hSWZbPhGTWCRRt7p0FbFR8rvmHezbmv/icV5jIUVlhMG2ZuIrB MWNAHENsN0ZjTKfA/yxqbMY9nGv/qMb8ewXT35MTZUCIGdOhatHNWLueWjtSYIbt49t9lz Bf1lnzCtkKikaG4BywmNed5mqnNPQdHIHIqXBQsw0E1SeflbZusfPIgYwrjioeyF0sjX7S 25mb83d40t41dgMOEPNxZ/Hr72dsg3BXmlaFE5awMor5D30Bugvk7/nREVf5v20SG0dTXU tkvSD+ngk0cZJ98amyInHvO5jbpibZui0u4icCM/+d8Xdm+HhwIjShzQinplHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4chSWH01jcz959; Wed, 08 Oct 2025 09:34:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5989Y2rG018344; Wed, 8 Oct 2025 09:34:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5989Y2gr018341; Wed, 8 Oct 2025 09:34:02 GMT (envelope-from git) Date: Wed, 8 Oct 2025 09:34:02 GMT Message-Id: <202510080934.5989Y2gr018341@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 9e7eb261e6f9 - main - arch.7: deprecate __ILP32__ and __LP64__ macros List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e7eb261e6f965f121515cc52db96ea879b8b384 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=9e7eb261e6f965f121515cc52db96ea879b8b384 commit 9e7eb261e6f965f121515cc52db96ea879b8b384 Author: Brooks Davis AuthorDate: 2025-10-08 09:30:34 +0000 Commit: Brooks Davis CommitDate: 2025-10-08 09:33:40 +0000 arch.7: deprecate __ILP32__ and __LP64__ macros With CHERI there now more options than __ILP32__ and __LP64__ so lack of one does not imply the other. Encourage the use of __SIZEOF_*__ macro tests in their place. Effort: CHERI upstreaming Reviewed by: kib, markj, emaste Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D52820 --- share/man/man7/arch.7 | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index 5de441aed699..39425f8d5d1b 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -340,13 +340,34 @@ cc -x c -dM -E /dev/null .Ed .Pp Common type size and endianness macros: -.Bl -column -offset indent "BYTE_ORDER" "Meaning" +.Bl -column -offset indent "__SIZEOF_POINTER__" "Meaning" .It Sy Macro Ta Sy Meaning +.It Dv __SIZEOF_LONG__ Ta size in bytes of long +.It Dv __SIZEOF_POINTER__ Ta size in bytes of intptr_t and pointers +.It Dv __SIZEOF_SIZE_T__ Ta size in bytes of size_t .It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int .It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer .It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN . .El .Pp +Because systems were historically either +.Dv __ILP32__ +or +.Dv __LP64__ +it has been common for programmers to test only one and assume the other +one in an else branch. +With the arrival of CHERI architectures, this is no longer the case. +.Dv __SIZEOF_*__ +macros should be used instead. +New uses of +.Dv __ILP32__ +and +.Dv __LP64__ +should be avoided. +Compilers for CHERI targets do not define +.Dv __LP64__ +as their pointers are 128-bit capabilities. +.Pp Architecture-specific macros: .Bl -column -offset indent "Architecture" "Predefined macros" .It Sy Architecture Ta Sy Predefined macros