annotate gcc/gdbinit.in @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1 # Copyright (C) 2001-2020 Free Software Foundation, Inc.
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
2 #
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
3 # This file is part of GCC.
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
4 #
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
5 # GCC is free software; you can redistribute it and/or modify
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
6 # it under the terms of the GNU General Public License as published by
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
7 # the Free Software Foundation; either version 3, or (at your option)
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
8 # any later version.
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
9 #
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
10 # GCC is distributed in the hope that it will be useful,
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
13 # GNU General Public License for more details.
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
14 #
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
15 # You should have received a copy of the GNU General Public License
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
16 # along with GCC; see the file COPYING3. If not see
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
17 # <http://www.gnu.org/licenses/>.
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
18
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
19 define help-gcc-hooks
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
20 help help-gcc-hooks
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
21 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
22
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
23 document help-gcc-hooks
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
24 GCC gdbinit file introduces several debugging shorthands:
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
25
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
26 pr [rtx], prl [rtx], prc [rtx], pi [rtx_insn],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
27 pt [tree], pct [tree], ptc [tree], trt [tree],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
28 pgs [tree], pge [tree], pdn [tree], ptn [tree],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
29 pgg [gimple], pgq [gimple_seq],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
30 pmz [mpz_t],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
31 pdd [dw_die_ref],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
32 pbm [bitmap],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
33 pel [location_t],
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
34 pp, pbs, pcfun
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
35
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
36 They are generally implemented by calling a function that prints to stderr,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
37 and therefore will not work when the compiler is not executing.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
38
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
39 Most shorthands accept an optional argument. When it is not supplied,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
40 they use value in GDB register $, i.e. the last printed value.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
41 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
42
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
43 define pp
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
44 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
45 call debug ($debug_arg)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
46 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
47
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
48 document pp
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
49 GCC hook: pp [any]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
50 Print a representation of any GCC data structure for which an instance of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
51 overloaded function 'debug' is available.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
52 See also 'help-gcc-hooks'.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
53 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
54
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 define pr
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
56 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
57 call debug_rtx ($debug_arg)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 document pr
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
61 GCC hook: pr [rtx]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
62 Print the full structure of given rtx.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
63 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 define prl
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
67 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
68 call debug_rtx_list ($debug_arg, debug_rtx_count)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 document prl
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
72 GCC hook: prl [rtx]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
73 Print the full structure of all rtx insns beginning at given rtx.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 Uses variable debug_rtx_count to control number of insns printed:
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
75 debug_rtx_count > 0: print from given rtx on.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
76 debug_rtx_count < 0: print a window around given rtx.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 There is also debug_rtx_find (rtx, uid) that will scan a list for UID and print
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 it using debug_rtx_list. Usage example: set $foo=debug_rtx_find(first, 42)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 define pt
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
83 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
84 call debug_tree ($debug_arg)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 document pt
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
88 GCC hook: pt [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
89 Print the full structure of given tree.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
90 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 define pct
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
94 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
95 call debug_c_tree ($debug_arg)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 document pct
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
99 GCC hook: pct [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
100 Print given tree in C syntax.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
101 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 define pgg
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
105 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
106 call debug_gimple_stmt ($debug_arg)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 document pgg
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
110 GCC hook: pgg [gimple]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
111 Print given GIMPLE statement in C syntax.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
112 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
115 define pgq
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
116 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
117 call debug_gimple_seq ($debug_arg)
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
118 end
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
119
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
120 document pgq
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
121 GCC hook: pgq [gimple_seq]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
122 Print given GIMPLE sequence in C syntax.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
123 See also 'help-gcc-hooks'.
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
124 end
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
125
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 define pgs
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
127 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
128 call debug_generic_stmt ($debug_arg)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 document pgs
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
132 GCC hook: pgq [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
133 Print given GENERIC statement in C syntax.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
134 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 define pge
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
138 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
139 call debug_generic_expr ($debug_arg)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 document pge
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
143 GCC hook: pge [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
144 Print given GENERIC expression in C syntax.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
145 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147
111
kono
parents: 67
diff changeset
148 define pmz
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
149 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
150 call mpz_out_str(stderr, 10, $debug_arg)
111
kono
parents: 67
diff changeset
151 end
kono
parents: 67
diff changeset
152
kono
parents: 67
diff changeset
153 document pmz
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
154 GCC hook: pmz [mpz_t]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
155 Print given mpz value.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
156 See also 'help-gcc-hooks'.
111
kono
parents: 67
diff changeset
157 end
kono
parents: 67
diff changeset
158
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 define ptc
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
160 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
161 output (enum tree_code) $debug_arg.base.code
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 echo \n
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 document ptc
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
166 GCC hook: ptc [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
167 Print the tree-code of given tree node.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
168 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 define pdn
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
172 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
173 output $debug_arg.decl_minimal.name->identifier.id.str
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 echo \n
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 document pdn
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
178 GCC hook: pdn [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
179 Print the name of given decl-node.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
180 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 define ptn
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
184 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
185 output $debug_arg.type.name->decl_minimal.name->identifier.id.str
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 echo \n
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 document ptn
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
190 GCC hook: ptn [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
191 Print the name of given type-node.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
192 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
195 define pdd
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
196 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
197 call debug_dwarf_die ($debug_arg)
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
198 end
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
199
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
200 document pdd
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
201 GCC hook: pdd [dw_die_ref]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
202 Print given dw_die_ref.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
203 See also 'help-gcc-hooks'.
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
204 end
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
205
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 define prc
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
207 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
208 output (enum rtx_code) $debug_arg.code
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 echo \ (
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
210 output $debug_arg.mode
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 echo )\n
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 document prc
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
215 GCC hook: prc [rtx]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
216 Print the rtx-code and machine mode of given rtx.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
217 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 define pi
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
221 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
222 print $debug_arg.u.fld[0].rt_rtx@7
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 document pi
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
226 GCC hook: pi [rtx_insn]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
227 Print the fields of given RTL instruction.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
228 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 define pbs
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
232 call print_binding_stack ()
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 document pbs
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 In cc1plus, print the current binding stack, frame by frame, up to and
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 including the global binding level.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 define pbm
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
241 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
242 call bitmap_print (stderr, $debug_arg, "", "\n")
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 document pbm
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
246 GCC hook: pbm [bitmap]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
247 Dump given bitmap as a comma-separated list of numbers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
248 See also 'help-gcc-hooks'.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 end
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
111
kono
parents: 67
diff changeset
251 define pel
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
252 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
253 output expand_location ($debug_arg)
111
kono
parents: 67
diff changeset
254 echo \n
kono
parents: 67
diff changeset
255 end
kono
parents: 67
diff changeset
256
kono
parents: 67
diff changeset
257 document pel
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
258 GCC hook: pel [location_t]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
259 Print given location.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
260 See also 'help-gcc-hooks'.
111
kono
parents: 67
diff changeset
261 end
kono
parents: 67
diff changeset
262
kono
parents: 67
diff changeset
263 define pcfun
kono
parents: 67
diff changeset
264 output debug_function (cfun ? cfun->decl : current_function_decl, 0)
kono
parents: 67
diff changeset
265 echo \n
kono
parents: 67
diff changeset
266 end
kono
parents: 67
diff changeset
267
kono
parents: 67
diff changeset
268 document pcfun
kono
parents: 67
diff changeset
269 Print current function.
kono
parents: 67
diff changeset
270 end
kono
parents: 67
diff changeset
271
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
272 define trt
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
273 eval "set $debug_arg = $%s", $argc ? "arg0" : ""
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
274 print ($debug_arg.typed.type)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
275 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
276
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
277 document trt
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
278 GCC hook: trt [tree]
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
279 Print TREE_TYPE of given tree node.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
280 See also 'help-gcc-hooks'.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
281 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
282
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
283 define break-on-diagnostic
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
284 break diagnostic_show_locus
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
285 end
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
286
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
287 document break-on-diagnostic
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
288 Put a breakpoint on diagnostic_show_locus, called whenever a diagnostic
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
289 is emitted (as opposed to those warnings that are suppressed by
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
290 command-line options).
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
291 end
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
292
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
293 define break-on-saved-diagnostic
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
294 break ana::diagnostic_manager::add_diagnostic
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
295 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
296
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
297 document break-on-saved-diagnostic
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
298 Put a breakpoint on ana::diagnostic_manager::add_diagnostic, called within
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
299 the analyzer whenever a diagnostic is saved for later de-duplication and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
300 possible emission.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
301 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
302
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
303 define reload-gdbhooks
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
304 python import imp; imp.reload(gdbhooks)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
305 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
306
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
307 document reload-gdbhooks
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
308 Load the gdbhooks.py module again in order to pick up any changes made to it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
309 end
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
310
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
311 alias rh = reload-gdbhooks
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
312
111
kono
parents: 67
diff changeset
313 # Define some macros helpful to gdb when it is expanding macros.
kono
parents: 67
diff changeset
314 macro define __FILE__ "gdb"
kono
parents: 67
diff changeset
315 macro define __LINE__ 1
kono
parents: 67
diff changeset
316 macro define __FUNCTION__ "gdb"
kono
parents: 67
diff changeset
317 macro define __null 0
kono
parents: 67
diff changeset
318 macro define input_line expand_location(input_location).line
kono
parents: 67
diff changeset
319 macro define input_filename expand_location(input_location).file
kono
parents: 67
diff changeset
320
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
321 # Remember previous pagination status and turn it off, so that
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
322 # the messages for skip commands don't require pagination.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
323 python __gcc_prev_pagination=gdb.parameter("pagination")
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
324 set pagination off
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
325
111
kono
parents: 67
diff changeset
326 # Gracefully handle aborts in functions used from gdb.
kono
parents: 67
diff changeset
327 set unwindonsignal on
kono
parents: 67
diff changeset
328
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 # Put breakpoints at exit and fancy_abort in case abort is mapped
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 # to either fprintf/exit or fancy_abort.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 b fancy_abort
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 # Put a breakpoint on internal_error to help with debugging ICEs.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 b internal_error
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 set complaints 0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 # Don't let abort actually run, as it will make
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 # stdio stop working and therefore the `pr' command above as well.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 # Put this last because gcc does not reference it any more unless
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 # USE_SYSTEM_ABORT is defined, so gdb may complain and bail out.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 b exit
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 b abort
111
kono
parents: 67
diff changeset
343
kono
parents: 67
diff changeset
344 # Disable strict type checking. This allows developers to (for example)
kono
parents: 67
diff changeset
345 # make inferior calls without casting absolute address to a suitable
kono
parents: 67
diff changeset
346 # pointer type.
kono
parents: 67
diff changeset
347 set check type off
kono
parents: 67
diff changeset
348
kono
parents: 67
diff changeset
349 # Skip all inline functions in tree.h.
kono
parents: 67
diff changeset
350 # These are used in accessor macros.
kono
parents: 67
diff changeset
351 # Note that this is added at the end because older gdb versions
kono
parents: 67
diff changeset
352 # do not understand the 'skip' command.
kono
parents: 67
diff changeset
353 # See https://sourceware.org/gdb/current/onlinedocs/gdb/Skipping-Over-Functions-and-Files.html
kono
parents: 67
diff changeset
354 skip file tree.h
kono
parents: 67
diff changeset
355
kono
parents: 67
diff changeset
356 # Also skip inline functions in is-a.h.
kono
parents: 67
diff changeset
357 skip file is-a.h
kono
parents: 67
diff changeset
358
kono
parents: 67
diff changeset
359 # And line-map.h.
kono
parents: 67
diff changeset
360 skip file line-map.h
kono
parents: 67
diff changeset
361
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
362 # And timevar.h.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
363 skip file timevar.h
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
364
111
kono
parents: 67
diff changeset
365 # Likewise, skip various inline functions in rtl.h.
kono
parents: 67
diff changeset
366 skip rtx_expr_list::next
kono
parents: 67
diff changeset
367 skip rtx_expr_list::element
kono
parents: 67
diff changeset
368 skip rtx_insn_list::next
kono
parents: 67
diff changeset
369 skip rtx_insn_list::insn
kono
parents: 67
diff changeset
370 skip rtx_sequence::len
kono
parents: 67
diff changeset
371 skip rtx_sequence::element
kono
parents: 67
diff changeset
372 skip rtx_sequence::insn
kono
parents: 67
diff changeset
373 skip INSN_UID
kono
parents: 67
diff changeset
374 skip PREV_INSN
kono
parents: 67
diff changeset
375 skip SET_PREV_INSN
kono
parents: 67
diff changeset
376 skip NEXT_INSN
kono
parents: 67
diff changeset
377 skip SET_NEXT_INSN
kono
parents: 67
diff changeset
378 skip BLOCK_FOR_INSN
kono
parents: 67
diff changeset
379 skip PATTERN
kono
parents: 67
diff changeset
380 skip INSN_LOCATION
kono
parents: 67
diff changeset
381 skip INSN_HAS_LOCATION
kono
parents: 67
diff changeset
382 skip JUMP_LABEL_AS_INSN
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
383
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
384 # Restore pagination to the previous state.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
385 python if __gcc_prev_pagination: gdb.execute("set pagination on")