Annotation of src/sys/gdbscripts/msgbuf, Revision 1.3
1.3 ! perry 1: # $NetBSD: msgbuf,v 1.2 2001/01/11 05:31:02 deberg Exp $
1.1 jhawk 2: #
3: # Copyright (c) 2000 The NetBSD Foundation, Inc.
4: # All rights reserved.
6: # This code is derived from software contributed to The NetBSD Foundation
7: # by John A. Hawkinson
9: # Redistribution and use in source and binary forms, with or without
10: # modification, are permitted provided that the following conditions
11: # are met:
12: # 1. Redistributions of source code must retain the above copyright
13: # notice, this list of conditions and the following disclaimer.
14: # 2. Redistributions in binary form must reproduce the above copyright
15: # notice, this list of conditions and the following disclaimer in the
16: # documentation and/or other materials provided with the distribution.
17: # 3. All advertising materials mentioning features or use of this software
18: # must display the following acknowledgement:
19: # This product includes software developed by the NetBSD
20: # Foundation, Inc. and its contributors.
21: # 4. Neither the name of The NetBSD Foundation nor the names of its
22: # contributors may be used to endorse or promote products derived
23: # from this software without specific prior written permission.
25: # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
26: # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27: # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28: # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
29: # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30: # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31: # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33: # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34: # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35: # POSSIBILITY OF SUCH DAMAGE.
38: define msgbuf
1.2 deberg 39: set $bufx=*(long*)((char *)msgbufp+1*sizeof(long))
40: set $bufr=*(long*)((char *)msgbufp+2*sizeof(long))
41: set $bufs=*(long*)((char *)msgbufp+3*sizeof(long))
1.1 jhawk 42:
43: printf "msgbufp %#x: bufx %d bufr %d bufs %d\n", msgbufp, $bufx, $bufr, $bufs
45: # Dump the unread section
46: # set $l = $bufx - $bufr
47: # if ($l < 0)
48: # set $l = $bufs - $bufr
49: # end
50: # set $p = (long)msgbufp+4*sizeof(long)+$bufr
51: # set print elements $l
52: # x/s $p
54: # Dump the whole thing
55: # Presume each section is null-terminated. Possibly bad presumption?
56: set $p = (long)msgbufp+4*sizeof(long)+$bufx
57: set $l = $bufs - $bufx
58: set print elements $l
1.3 ! perry 59: printf "Dumping %#x length %d\n", $p, $l
1.1 jhawk 60: # XXX (unsupported by gdb): printf "%.*s\n", $l, $p
61: printf "%s\n", $p
62: set $p = (long)msgbufp+4*sizeof(long)
63: set $l = $bufx
64: set print elements $l
1.3 ! perry 65: printf "Dumping %#x length %d\n", $p, $l
1.1 jhawk 66: # XXX (unsupported by gdb): printf "%.*s\n\n", $l, $p
67: printf "%s\n\n", $p
70: document msgbuf
71: Dump the kernel message buffer.