[BACK]Return to msgbuf CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / gdbscripts

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.
                      5: #
                      6: # This code is derived from software contributed to The NetBSD Foundation
                      7: # by John A. Hawkinson
                      8: #
                      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.
                     24: #
                     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.
                     36: #
                     37:
                     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
                     44:
                     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
                     53:
                     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
                     68: end
                     69:
                     70: document msgbuf
                     71:   Dump the kernel message buffer.
                     72: end

CVSweb <webmaster@jp.NetBSD.org>