git: 8e61d8707f8a - main - libdtrace: Fix dt_print_sym() not printing symbols in non-oformat mode

From: Li-Wen Hsu <lwhsu_at_FreeBSD.org>
Date: Sat, 27 Jun 2026 02:26:28 UTC
The branch main has been updated by lwhsu:

URL: https://cgit.FreeBSD.org/src/commit/?id=8e61d8707f8a10acc143210089fea2502a3f2922

commit 8e61d8707f8a10acc143210089fea2502a3f2922
Author:     Li-Wen Hsu <lwhsu@FreeBSD.org>
AuthorDate: 2026-06-27 02:26:05 +0000
Commit:     Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2026-06-27 02:26:05 +0000

    libdtrace: Fix dt_print_sym() not printing symbols in non-oformat mode
    
    dt_print_sym() fills the symbol string via snprintf() in non-oformat
    mode but the guarding `dtp->dt_oformat != 0 &&` for the dt_printf()
    call causes the symbol is computed but never emitted.
    
    This fixes tests:
    
    - common.profile-n.t_dtrace_contrib.tst_sym_ksh
    - common.profile-n.t_dtrace_contrib.tst_func_ksh
    
    Reviewed by:    markj
    Fixes:          93f27766a7e1 ("dtrace: Add the 'oformat' libdtrace option")
    MFC after:      3 days
    Event:          Halifax Hackathon 202606
    Location:       Room 208, Computer Science Building, Dalhousie University
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57895
---
 cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c
index b311b5425587..a8a49b22ed7b 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c
@@ -2143,7 +2143,7 @@ dt_print_sym(dtrace_hdl_t *dtp, FILE *fp, const char *format, caddr_t addr)
 		}
 	}
 
-	if (dtp->dt_oformat != 0 && dt_printf(dtp, fp, format, c) < 0)
+	if (!dtp->dt_oformat && dt_printf(dtp, fp, format, c) < 0)
 		return (-1);
 
 	return (0);