History log of /freebsd-current/sys/ddb/db_pprint.c
Revision Date Author Comments
# d627293f 03-Apr-2024 Mark Johnston <markj@FreeBSD.org>

ddb: Fix format string errors in db_pprint.c

Reported by: bapt
Fixes: aada453dcbaa ("ddb: Properly pretty-print non-labeled enum values")


# 872c4402 03-Apr-2024 Bojan Novković <bnovkov@FreeBSD.org>

ddb: Don't throw away qualifier when pretty-printing unnamed pointers

Reported by: jrtc27
Fixes: c21bc6f ("ddb: Add CTF-based pretty printing")
Approved by: markj (mentor)


# aada453d 03-Apr-2024 Bojan Novković <bnovkov@FreeBSD.org>

ddb: Properly pretty-print non-labeled enum values

The ddb pretty-printer currently does not print out enum values that
are not labeled (e.g. X | Y).
The enum printer was reworked to print non-labeled values.

Reported by: jrtc27
Fixes: c21bc6f ("ddb: Add CTF-based pretty printing")
Approved by: markj (mentor)


# 637e67e0 28-Mar-2024 Bojan Novković <bnovkov@FreeBSD.org>

ddb: Drop obsolete -FreeBSD identifier from license

Reported by: jrtc27
Fixes: c21bc6f3c242 ("ddb: Add CTF-based pretty printing")
Approved by: markj (mentor)


# d722901f 22-Mar-2024 Mark Johnston <markj@FreeBSD.org>

ddb: Fix format string errors in db_pprint.c

For some reason, db_expr_t is defined as "long" on 64-bit platforms and
"int" on others. When printing values of this type, simply cast them to
long to suppress compilation errors on 32-bit systems.

Reviewed by: bnovkov
Fixes: c21bc6f3c242 ("ddb: Add CTF-based pretty printing")


# c21bc6f3 21-Mar-2024 Bojan Novković <bnovkov@FreeBSD.org>

ddb: Add CTF-based pretty printing

Add basic CTF support and a CTF-powered pretty-printer to ddb.

The db_ctf.* files expose a basic interface for fetching type
data for ELF symbols, interacting with the CTF string table,
and translating type identifiers to type data.

The db_pprint.c file uses those interfaces to implement
a pretty-printer for all kernel ELF symbols.
The pretty-printer works with symbol names and arbitrary addresses:
pprint struct thread 0xffffffff8194ad90

Pretty-printing currently only works after the root filesystem
gets mounted because the CTF info is not available during
early boot.

Differential Revision: https://reviews.freebsd.org/D37899
Approved by: markj (mentor)