From nobody Mon Dec 29 01:16:42 2025 X-Original-To: dev-commits-src-all@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 4dfdbZ4Yy0z6LR62 for ; Mon, 29 Dec 2025 01:16:42 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dfdbZ1343z3XYn for ; Mon, 29 Dec 2025 01:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766971002; 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=hbUyzofiBZSu/3+S8IN5ZoT/yBHPHHRYT7jmHhuUmNk=; b=ESG5NAc3mbwwSeq1W19Bk2YVZWssFJJ04rNj3TJWN1fhWpg1MNyPB6UrYSLZr+yQ0XGaFb +7HFfCxLuuhXK7NCHn47Ujog+cY9358yZ7oZojB/ILQXFqzbUQoxraHJOd/0yPaeA86Hx2 JtGm6hIpSZZ+4omUOb3Vay24iOuVSNUsXwesK+pQPAj04zU5PIB5+fpOT0W3JkaJhKE3OZ Eq03OGzYpsso2KfDRs8E9TNgWa4On9tLlxmvBKJCt6UPoPA7gaWI2lWm+nKyzlxaL1Ihwt imNZ1J9H16qoRuiE4XZgyMMvjW7UOqzVQhIT0j1tgmSj9igIRcCNjeiLROY0Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1766971002; 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=hbUyzofiBZSu/3+S8IN5ZoT/yBHPHHRYT7jmHhuUmNk=; b=khT2tRCuK+c8YYSwaOLChbDHbPZkBYLjfkp0LzRYANOr7M+leSvXRFSNNeMkU8GPdEXsMX dW5nqdJrcKEHoUyovi0ZlqIAuNZq8eFa2a4R3MBNAOu7ER4fqW9k81Mwj4nSMHXGGjnO9k OZCpR+ExS87PNCPWTF6Clb4zM/F5V3QyyagXNaqpOfmDd6Fh6CDsV58cEDVBd8K1ACzcpj BJM+k1l9kpba5aAwtEA4P2Um4M5mUeSr2CetOAr5QwplutJPgMnD/oUGXmf40lvpsij+bu IzbK/UcXvY/QrNxC/uJemetC8+K25tVCwPsVhuXqpOboCuETJ1FvCk75KefihA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1766971002; a=rsa-sha256; cv=none; b=grAEKDNbqPLEPvzSLCWQebXAWZYZ8TTi/xflU+cUpYy6/69u83Ovk8GMNn1wuRiNz6iIIk VvFrbHHKWuM6ipKCIdlXaghAVwrKyu1gcEuaYaNJ/5NkANHdRBYHRtMs04+5FERoP/IN7d DvKtQKRoV6SwWe0MHlpA/xmr+4j8KRyF35LfQkfneZ8YGhwuoeCvu4KJdNq8tUsXsVHQ6C kx7OKEp4kxugUbYyC+Cg8IFKEAPfyrQFUVZCXuyH3Yz9CcsVJjdkCfQmkHtUIG+rj05htd csGhyvFIE07/rFcnrlagXi06fj7tWAUDOyoM0OW3IanyLxSJOuLzrGKjAT7ZoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dfdbZ0f7Fz186f for ; Mon, 29 Dec 2025 01:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38cb3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 29 Dec 2025 01:16:42 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 874cdf6af695 - main - exterr: in verbose mode, print the source file name List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/main X-Git-Reftype: branch X-Git-Commit: 874cdf6af695c42d561647f7165c99c2d3df0faa Auto-Submitted: auto-generated Date: Mon, 29 Dec 2025 01:16:42 +0000 Message-Id: <6951d67a.38cb3.262cba79@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=874cdf6af695c42d561647f7165c99c2d3df0faa commit 874cdf6af695c42d561647f7165c99c2d3df0faa Author: Konstantin Belousov AuthorDate: 2025-12-28 14:13:49 +0000 Commit: Konstantin Belousov CommitDate: 2025-12-29 01:16:25 +0000 exterr: in verbose mode, print the source file name Reviewed by: emaste, mckusick Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54380 --- lib/libc/gen/uexterr_format.c | 21 +++++++++++++++++---- sys/sys/exterr_cat.h | 11 +++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/lib/libc/gen/uexterr_format.c b/lib/libc/gen/uexterr_format.c index 3321fd80616d..8d3b458ca9f2 100644 --- a/lib/libc/gen/uexterr_format.c +++ b/lib/libc/gen/uexterr_format.c @@ -8,7 +8,7 @@ * under sponsorship from the FreeBSD Foundation. */ -#include +#include #include #include #include @@ -17,6 +17,19 @@ #include #include +static const char * const cat_to_filenames[] = { +#include "exterr_cat_filenames.h" +}; + +static const char * +cat_to_filename(int category) +{ + if (category < 0 || category >= nitems(cat_to_filenames) || + cat_to_filenames[category] == NULL) + return ("unknown"); + return (cat_to_filenames[category]); +} + static const char exterror_verbose_name[] = "EXTERROR_VERBOSE"; enum exterr_verbose_state { EXTERR_VERBOSE_UNKNOWN = 100, @@ -68,9 +81,9 @@ __uexterr_format(const struct uexterror *ue, char *buf, size_t bufsz) char lbuf[128]; snprintf(lbuf, sizeof(lbuf), - "errno %d category %u (src line %u) p1 %#jx p2 %#jx", - ue->error, ue->cat, ue->src_line, - (uintmax_t)ue->p1, (uintmax_t)ue->p2); + "errno %d category %u (src sys/%s:%u) p1 %#jx p2 %#jx", + ue->error, ue->cat, cat_to_filename(ue->cat), + ue->src_line, (uintmax_t)ue->p1, (uintmax_t)ue->p2); if (has_msg) strlcat(buf, " ", bufsz); strlcat(buf, lbuf, bufsz); diff --git a/sys/sys/exterr_cat.h b/sys/sys/exterr_cat.h index 7492fc31662a..24f07539fe35 100644 --- a/sys/sys/exterr_cat.h +++ b/sys/sys/exterr_cat.h @@ -8,6 +8,17 @@ * under sponsorship from the FreeBSD Foundation. */ +/* + * The category identifiers for the extended errors. + * The ids participate in ABI between kernel and libc, so they must + * never be reused or changed. Only new ids can be added. + * + * After adding a new category id, run + * tools/build/make_libc_exterr_cat_filenames.sh + * from the top of the source tree, and commit updated file + * lib/libc/gen/exterr_cat_filenames.h + */ + #ifndef _SYS_EXTERR_CAT_H_ #define _SYS_EXTERR_CAT_H_