]> git.wh0rd.org - home.git/blob - .gdbinit
cros-board: update
[home.git] / .gdbinit
1 # Load dynamic Python code first.
2 source ~/.gdbinit.py
3
4 #
5 # Base settings.
6 #
7
8 set print pretty on
9 set prompt \e[30;1m(\e[34;1mgdb\e[30;1m) \e[0m
10 set history save on
11 set pagination off
12 set output-radix 16
13 set remotetimeout 300
14 #handle SIGINT nostop noprint pass
15 #handle SIGQUIT stop print nopass
16 #catch fork
17 #catch vfork
18
19 #
20 # U-Boot style memory compare functions
21 #
22
23 define _cmp
24 set $$base = (unsigned long)$arg0
25 set $$addr1 = $arg0
26 set $$addr2 = $arg1
27 set $$count = $arg2
28 while $$count-- > 0
29 if (*$$addr1 != *$$addr2)
30 printf "Data mismatch at %#x units (@%#x != @%#x)\n", $arg2, $$addr1, $$addr2
31 set $$count = -100
32 end
33 set $$addr1 += 1
34 set $$addr2 += 1
35 end
36 if $$count == -1
37 printf "Data matches for %#x units\n", $arg2
38 end
39 dont-repeat
40 end
41 document _cmp
42 Usage: cmp[bwl] <address> <address> <count>
43 Compare <count> <bytes|words|longs> between <address> and <address>.
44 end
45
46 define cmpb
47 if $argc == 3
48 set $$addr1 = (unsigned char *)$arg0
49 set $$addr2 = (unsigned char *)$arg1
50 _cmp $$addr1 $$addr2 $arg2
51 else
52 help _cmp
53 end
54 end
55 document cmpb
56 Use 'help _cmp'
57 end
58 define cmpw
59 if $argc == 3
60 set $$addr1 = (unsigned short *)$arg0
61 set $$addr2 = (unsigned short *)$arg1
62 _cmp $$addr1 $$addr2 $arg2
63 else
64 help _cmp
65 end
66 end
67 document cmpw
68 Use 'help _cmp'
69 end
70 define cmpl
71 if $argc == 3
72 set $$addr1 = (unsigned long *)$arg0
73 set $$addr2 = (unsigned long *)$arg1
74 _cmp $$addr1 $$addr2 $arg2
75 else
76 help _cmp
77 end
78 end
79 document cmpl
80 Use 'help _cmp'
81 end
82
83
84 #
85 # U-Boot style memory copy functions
86 #
87
88 define _cp
89 set $$src = $arg0
90 set $$dst = $arg1
91 set $$count = $arg2
92 while $$count-- > 0
93 set *$$dst = *$$src
94 set $$src += 1
95 set $$dst += 1
96 end
97 printf "Copied %#x units from %#x to %#x\n", $arg2, $arg0, $arg1
98 dont-repeat
99 end
100 document _cp
101 Usage: cp[bwl] <src> <dst> <count>
102 Copy <count> <bytes|words|longs> from <src> to <dst>.
103 end
104
105 define cpb
106 if $argc == 3
107 set $$addr1 = (unsigned char *)$arg0
108 set $$addr2 = (unsigned char *)$arg1
109 _cp $$addr1 $$addr2 $arg2
110 else
111 help _cp
112 end
113 end
114 document cpb
115 Use 'help _cp'
116 end
117 define cpw
118 if $argc == 3
119 set $$addr1 = (unsigned short *)$arg0
120 set $$addr2 = (unsigned short *)$arg1
121 _cp $$addr1 $$addr2 $arg2
122 else
123 help _cp
124 end
125 end
126 document cpw
127 Use 'help _cp'
128 end
129 define cpl
130 if $argc == 3
131 set $$addr1 = (unsigned long *)$arg0
132 set $$addr2 = (unsigned long *)$arg1
133 _cp $$addr1 $$addr2 $arg2
134 else
135 help _cp
136 end
137 end
138 document cpl
139 Use 'help _cp'
140 end
141
142
143 #set extended-prompt \[\e[30;1m\](\[\e[34;1m\]gdb\[\e[30;1m\]) \[\e[0m\]