From nobody Fri Feb 14 19:25:26 2025 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 4Yvhpb5wLjz5nXbj; Fri, 14 Feb 2025 19:25: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvhpb0CjRz48l3; Fri, 14 Feb 2025 19:25:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561127; 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=yIxxwJ/4/mSHKkj16/cpRNukWUmirdpALnNjhDFbwwg=; b=i0hJwVwtqnGcU20VI951cUDUwFXX/y6iNotFFh944TaeyzY2TI9HJJph0+lZLndn1JOuyR oPJjKdq2kIG13h2EqxTcsPUE/0q/kR1ZmQM8GmjSccHJyh/yJD6SSXrZMzek1FNPpzv3Jx LlsDZwxgGaVzaExfjCH8k5AKxg/U51bHNbfhd9Nw2IKP90OeDkR6m3+PWQAJgZR3AM0UMn ZpIZIvXc5gNmBYNTzNF0cTzuaHA2gxUXFFm7d3sBoFmCTwCi7FPPGgHKzKVO9qDNlW9Q4y 4CPNFAyc7FYhuNKc38sH/lBsYCsRNCjsodoQb62FfFGgag3aXTHbgtmiteJ/7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739561127; 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=yIxxwJ/4/mSHKkj16/cpRNukWUmirdpALnNjhDFbwwg=; b=NNZKr0crXk0HycQ8biIsu/drMbiGNTjFH0NEEZOVlrPzjT7UkRj41+N6lk2TgzDz8Dd/VA PpBAZIao+KO8tlsvKYyuRy4xXTY4utfMu8kVuL22SkbQdGijKGQtBL9PQ89GUCKazWwwGn BFN3Y7MuefTsh1TQG1wrJhRD88l/lRc5+arB4RAgOzGXVAhTsP2GFI50DsehUTPJWFsgIc X1HycOTJBMK927qY00LADkBL+B9G/MogvpKAYaOZKOhJyiF/zy0CNRkINfd2Ds8Sx2PMrv +Gbu56OkUqxh7WWuhQYW8s6Jw5MwJZ64W1oqZfymqqyhwec5FlzLvRnkejDx+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739561127; a=rsa-sha256; cv=none; b=blV84HQJ6VyCTer2rPNZ8mc/oxrKsPPuPY0lDz9t9QsORwgR6DFmfwUxCCEB8KLofpuqRK g5TANw1c++sm7onKxfsJKdQj2Jc38/03GHInirQGdfCJCL6ggFQoAbF3f94u5F3ZwLRPSp Bf8MkUhrWSRiN9iB8V8BaH6Cm3igIuEi1C8iJbF+PYiLVzqThRsL8qsqty7lIok1Vr6jSM QL+NASqTtBi/KBFzvwhmryJcevjqRe5Wov8rgtLGY2TzurCqxQRp1iuEbGSZPm+JiFZSVG Jq+xKAxyeCmUXjaGokvqb1B7a1JHNafiMICCk7wPuw4FDIfeHSPfRpd1PykkxQ== 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 4YvhpZ64s2zlCJ; Fri, 14 Feb 2025 19:25:26 +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 51EJPQq7038750; Fri, 14 Feb 2025 19:25:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EJPQ6O038747; Fri, 14 Feb 2025 19:25:26 GMT (envelope-from git) Date: Fri, 14 Feb 2025 19:25:26 GMT Message-Id: <202502141925.51EJPQ6O038747@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 4a6d4cd76307 - stable/14 - libdtrace: Generalize handling of data models a bit 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: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4a6d4cd76307701b07a7915a36f7b8280fb4d207 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4a6d4cd76307701b07a7915a36f7b8280fb4d207 commit 4a6d4cd76307701b07a7915a36f7b8280fb4d207 Author: Mark Johnston AuthorDate: 2025-01-25 15:57:37 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 19:25:18 +0000 libdtrace: Generalize handling of data models a bit Make it easier to support data models other than ILP32 and LP64 by avoiding constructs which assume that it must be one or the other. No functional change intended. MFC after: 2 weeks Sponsored by: Innovate UK (cherry picked from commit 096a5c6cd28c417456d5ce3598be15e6b656af5c) --- cddl/contrib/opensolaris/cmd/dtrace/dtrace.c | 7 +++---- cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c | 8 +++++++- cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h | 1 + 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c index dc68c6ef5f72..162224478ec0 100644 --- a/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c +++ b/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c @@ -1378,7 +1378,7 @@ main(int argc, char *argv[]) argv[0], optarg); return (usage(stderr)); } - g_oflags &= ~DTRACE_O_LP64; + g_oflags &= ~DTRACE_O_MODEL_MASK; g_oflags |= DTRACE_O_ILP32; break; @@ -1389,7 +1389,7 @@ main(int argc, char *argv[]) argv[0], optarg); return (usage(stderr)); } - g_oflags &= ~DTRACE_O_ILP32; + g_oflags &= ~DTRACE_O_MODEL_MASK; g_oflags |= DTRACE_O_LP64; break; @@ -1460,8 +1460,7 @@ main(int argc, char *argv[]) * files. We ignore certain errors since we'll catch them later when * we actually process the object files. */ - if (g_mode == DMODE_LINK && - (g_oflags & (DTRACE_O_ILP32 | DTRACE_O_LP64)) == 0 && + if (g_mode == DMODE_LINK && (g_oflags & DTRACE_O_MODEL_MASK) == 0 && elf_version(EV_CURRENT) != EV_NONE) { int fd; Elf *elf; diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c index 8f8d20298e4c..40200771fd4d 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c @@ -1073,8 +1073,14 @@ dt_vopen(int version, int flags, int *errp, if (flags & ~DTRACE_O_MASK) return (set_open_errno(dtp, errp, EINVAL)); - if ((flags & DTRACE_O_LP64) && (flags & DTRACE_O_ILP32)) + switch (flags & DTRACE_O_MODEL_MASK) { + case 0: /* native model */ + case DTRACE_O_ILP32: + case DTRACE_O_LP64: + break; + default: return (set_open_errno(dtp, errp, EINVAL)); + } if (vector == NULL && arg != NULL) return (set_open_errno(dtp, errp, EINVAL)); diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h b/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h index b380f5eb3313..1f4c5a2efd6b 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h @@ -70,6 +70,7 @@ typedef struct dtrace_aggdata dtrace_aggdata_t; #define DTRACE_O_NOSYS 0x02 /* do not load /system/object modules */ #define DTRACE_O_LP64 0x04 /* force D compiler to be LP64 */ #define DTRACE_O_ILP32 0x08 /* force D compiler to be ILP32 */ +#define DTRACE_O_MODEL_MASK (DTRACE_O_LP64 | DTRACE_O_ILP32) #define DTRACE_O_MASK 0x0f /* mask of valid flags to dtrace_open */ extern dtrace_hdl_t *dtrace_open(int, int, int *);