HomeFreeBSD

ddb: print the actual syscall name

Description

ddb: print the actual syscall name

Some architectures will pretty-print a system call trap in the
backtrace. Rather than printing the symbol, use the syscallname()
function to pull the string from the sv_syscallnames array corresponding
to the process. This simplifies the function somewhat.

Mostly, this will result in dropping the "sys" prefix, e.g. "sys_exit"
will now be printed simply as "exit".

Make two minor tweaks to the function signature: use a u_int for the
syscall number since this is a more correct type (see the 'code' member
of struct syscall_args), and make the thread pointer the first argument.
The latter is more natural and conventional.

Suggested by: jrtc27
Reviewed by: jrtc27, markj, jhb
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37200

(cherry picked from commit aba921bd9e1869dae9ae4cc6e0c048f997401034)

Details

Provenance
mhorneAuthored on Oct 28 2022, 9:20 PM
Reviewer
jrtc27
Differential Revision
D37200: ddb: print the actual syscall name
Parents
rGd96eebfdb351: linux: populate sv_syscallnames in each sysentvec
Branches
Unknown
Tags
Unknown