]> git.wh0rd.org - home.git/blame - .gdbinit
ddnuke: add fdisk+prompt to startup, and rough ETA
[home.git] / .gdbinit
CommitLineData
5b4483f1
MF
1# Load dynamic Python code first.
2source ~/.gdbinit.py
3
c58bbcfb 4#
5b4483f1 5# Base settings.
c58bbcfb
MF
6#
7
5b61754d 8set print pretty on
5b4483f1 9set prompt \e[30;1m(\e[34;1mgdb\e[30;1m) \e[0m
5b61754d
MF
10set history save on
11set pagination off
12set output-radix 16
13set remotetimeout 300
d24159b0
MF
14#handle SIGINT nostop noprint pass
15#handle SIGQUIT stop print nopass
5b61754d
MF
16#catch fork
17#catch vfork
18
c58bbcfb
MF
19#
20# U-Boot style memory compare functions
21#
22
23define _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
40end
41document _cmp
42Usage: cmp[bwl] <address> <address> <count>
43Compare <count> <bytes|words|longs> between <address> and <address>.
44end
45
46define 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
54end
55document cmpb
56Use 'help _cmp'
57end
58define 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
66end
67document cmpw
68Use 'help _cmp'
69end
70define 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
78end
79document cmpl
80Use 'help _cmp'
81end
82
83
84#
85# U-Boot style memory copy functions
86#
87
88define _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
99end
100document _cp
101Usage: cp[bwl] <src> <dst> <count>
102Copy <count> <bytes|words|longs> from <src> to <dst>.
103end
104
105define 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
113end
114document cpb
115Use 'help _cp'
116end
117define 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
125end
126document cpw
127Use 'help _cp'
128end
129define 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
137end
138document cpl
139Use 'help _cp'
140end
141
142
5b4483f1 143#set extended-prompt \[\e[30;1m\](\[\e[34;1m\]gdb\[\e[30;1m\]) \[\e[0m\]