diff options
| author | christos <christos@NetBSD.org> | 2020-04-14 13:58:11 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2020-04-14 13:58:11 +0000 |
| commit | e539158496838f2a76a14386a60601329b013e05 (patch) | |
| tree | 8f2c88c3024aa3a06fec1c476dd572cdd389edd3 /sys/gdbscripts | |
| parent | 18bd2fa775220c4afd2dc5343ef4ccc5bdc633dc (diff) | |
Add dmesg functionality.
Diffstat (limited to 'sys/gdbscripts')
| -rw-r--r-- | sys/gdbscripts/dmesg | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/sys/gdbscripts/dmesg b/sys/gdbscripts/dmesg new file mode 100644 index 00000000000..8966a873d78 --- /dev/null +++ b/sys/gdbscripts/dmesg @@ -0,0 +1,47 @@ +# $NetBSD: dmesg,v 1.1 2020/04/14 13:58:11 christos Exp $ + +define dmesg + set $mbp = msgbufp + set $bufdata = &$mbp->msg_bufc[0] + set $print = $mbp->msg_bufs + set $newl = 0 + set $skip = 0 + set $i = -1 + set $p = $bufdata + $mbp->msg_bufx - 1 + + while ($i < $mbp->msg_bufs) + set $i = $i + 1 + set $p = $p + 1 + if ($p == $bufdata + $mbp->msg_bufs) + set $p = $bufdata + end + if ($i < $mbp->msg_bufs - $print) + loop_continue + end + set $c = $p[0] + # Skip syslog sequences + if ($skip) + if ($c == '>') + set $newl = 0 + set $skip = 0 + end + loop_continue + end + if ($newl && $c == '<') + set $skip = 1 + loop_continue + end + if ($c == '\0') + loop_continue + end + set $newl = $c == '\n' + printf "%c", $c + end + if (!$newl) + printf "\n" + end +end + +document dmesg +print the message buffer +end |
