]>
Commit | Line | Data |
---|---|---|
ed3ef339 DE |
1 | ;; Scheme side of the gdb module. |
2 | ;; | |
32d0add0 | 3 | ;; Copyright (C) 2014-2015 Free Software Foundation, Inc. |
ed3ef339 DE |
4 | ;; |
5 | ;; This file is part of GDB. | |
6 | ;; | |
7 | ;; This program is free software; you can redistribute it and/or modify | |
8 | ;; it under the terms of the GNU General Public License as published by | |
9 | ;; the Free Software Foundation; either version 3 of the License, or | |
10 | ;; (at your option) any later version. | |
11 | ;; | |
12 | ;; This program is distributed in the hope that it will be useful, | |
13 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ;; GNU General Public License for more details. | |
16 | ;; | |
17 | ;; You should have received a copy of the GNU General Public License | |
18 | ;; along with this program. If not, see <http://www.gnu.org/licenses/>. | |
19 | ||
20 | ;; This file is loaded with scm_c_primitive_load, which is ok, but files | |
21 | ;; loaded with it are not compiled. So we do very little here, and do | |
22 | ;; most of the initialization in init.scm. | |
23 | ||
24 | (define-module (gdb) | |
25 | ;; The version of the (gdb) module as (major minor). | |
26 | ;; Incompatible changes bump the major version. | |
27 | ;; Other changes bump the minor version. | |
28 | ;; It's not clear whether we need a patch-level as well, but this can | |
29 | ;; be added later if necessary. | |
30 | ;; This is not the GDB version on purpose. This version tracks the Scheme | |
31 | ;; gdb module version. | |
32 | ;; TODO: Change to (1 0) when ready. | |
33 | #:version (0 1)) | |
34 | ||
35 | ;; Export the bits provided by the C side. | |
36 | ;; This is so that the compiler can see the exports when | |
37 | ;; other code uses this module. | |
38 | ;; TODO: Generating this list would be nice, but it would require an addition | |
39 | ;; to the GDB build system. Still, I think it's worth it. | |
40 | ||
41 | (export | |
42 | ||
43 | ;; guile.c | |
44 | ||
45 | execute | |
46 | data-directory | |
47 | gdb-version | |
48 | host-config | |
49 | target-config | |
50 | ||
51 | ;; scm-arch.c | |
52 | ||
53 | arch? | |
54 | current-arch | |
55 | arch-name | |
56 | arch-charset | |
57 | arch-wide-charset | |
58 | ||
59 | arch-void-type | |
60 | arch-char-type | |
61 | arch-short-type | |
62 | arch-int-type | |
63 | arch-long-type | |
64 | ||
65 | arch-schar-type | |
66 | arch-uchar-type | |
67 | arch-ushort-type | |
68 | arch-uint-type | |
69 | arch-ulong-type | |
70 | arch-float-type | |
71 | arch-double-type | |
72 | arch-longdouble-type | |
73 | arch-bool-type | |
74 | arch-longlong-type | |
75 | arch-ulonglong-type | |
76 | ||
77 | arch-int8-type | |
78 | arch-uint8-type | |
79 | arch-int16-type | |
80 | arch-uint16-type | |
81 | arch-int32-type | |
82 | arch-uint32-type | |
83 | arch-int64-type | |
84 | arch-uint64-type | |
85 | ||
86 | ;; scm-block.c | |
87 | ||
88 | block? | |
89 | block-valid? | |
90 | block-start | |
91 | block-end | |
92 | block-function | |
93 | block-superblock | |
94 | block-global-block | |
95 | block-static-block | |
96 | block-global? | |
97 | block-static? | |
98 | block-symbols | |
99 | make-block-symbols-iterator | |
100 | block-symbols-progress? | |
101 | lookup-block | |
102 | ||
103 | ;; scm-breakpoint.c | |
104 | ||
105 | BP_NONE | |
106 | BP_BREAKPOINT | |
107 | BP_WATCHPOINT | |
108 | BP_HARDWARE_WATCHPOINT | |
109 | BP_READ_WATCHPOINT | |
110 | BP_ACCESS_WATCHPOINT | |
111 | ||
112 | WP_READ | |
113 | WP_WRITE | |
114 | WP_ACCESS | |
115 | ||
116 | make-breakpoint | |
16f691fb DE |
117 | register-breakpoint! |
118 | delete-breakpoint! | |
ed3ef339 DE |
119 | breakpoints |
120 | breakpoint? | |
121 | breakpoint-valid? | |
122 | breakpoint-number | |
123 | breakpoint-type | |
124 | brekapoint-visible? | |
125 | breakpoint-location | |
126 | breakpoint-expression | |
127 | breakpoint-enabled? | |
128 | set-breakpoint-enabled! | |
129 | breakpoint-silent? | |
130 | set-breakpoint-silent! | |
131 | breakpoint-ignore-count | |
132 | set-breakpoint-ignore-count! | |
133 | breakpoint-hit-count | |
134 | set-breakpoint-hit-count! | |
135 | breakpoint-thread | |
136 | set-breakpoint-thread! | |
137 | breakpoint-task | |
138 | set-breakpoint-task! | |
139 | breakpoint-condition | |
140 | set-breakpoint-condition! | |
141 | breakpoint-stop | |
142 | set-breakpoint-stop! | |
143 | breakpoint-commands | |
144 | ||
e698b8c4 DE |
145 | ;; scm-cmd.c |
146 | ||
147 | make-command | |
148 | register-command! | |
149 | command? | |
150 | command-valid? | |
151 | dont-repeat | |
152 | ||
153 | COMPLETE_NONE | |
154 | COMPLETE_FILENAME | |
155 | COMPLETE_LOCATION | |
156 | COMPLETE_COMMAND | |
157 | COMPLETE_SYMBOL | |
158 | COMPLETE_EXPRESSION | |
159 | ||
160 | COMMAND_NONE | |
161 | COMMAND_RUNNING | |
162 | COMMAND_DATA | |
163 | COMMAND_STACK | |
164 | COMMAND_FILES | |
165 | COMMAND_SUPPORT | |
166 | COMMAND_STATUS | |
167 | COMMAND_BREAKPOINTS | |
168 | COMMAND_TRACEPOINTS | |
169 | COMMAND_OBSCURE | |
170 | COMMAND_MAINTENANCE | |
171 | COMMAND_USER | |
172 | ||
ed3ef339 DE |
173 | ;; scm-disasm.c |
174 | ||
175 | arch-disassemble | |
176 | ||
177 | ;; scm-exception.c | |
178 | ||
179 | make-exception | |
180 | exception? | |
181 | exception-key | |
182 | exception-args | |
183 | ||
184 | ;; scm-frame.c | |
185 | ||
186 | NORMAL_FRAME | |
187 | DUMMY_FRAME | |
188 | INLINE_FRAME | |
189 | TAILCALL_FRAME | |
190 | SIGTRAMP_FRAME | |
191 | ARCH_FRAME | |
192 | SENTINEL_FRAME | |
193 | ||
194 | FRAME_UNWIND_NO_REASON | |
195 | FRAME_UNWIND_NULL_ID | |
196 | FRAME_UNWIND_OUTERMOST | |
197 | FRAME_UNWIND_UNAVAILABLE | |
198 | FRAME_UNWIND_INNER_ID | |
199 | FRAME_UNWIND_SAME_ID | |
200 | FRAME_UNWIND_NO_SAVED_PC | |
53e8a631 | 201 | FRAME_UNWIND_MEMORY_ERROR |
ed3ef339 DE |
202 | |
203 | frame? | |
204 | frame-valid? | |
205 | frame-name | |
206 | frame-type | |
207 | frame-arch | |
208 | frame-unwind-stop-reason | |
209 | frame-pc | |
210 | frame-block | |
211 | frame-function | |
212 | frame-older | |
213 | frame-newer | |
214 | frame-sal | |
215 | frame-read-var | |
216 | frame-select | |
217 | newest-frame | |
218 | selected-frame | |
219 | unwind-stop-reason-string | |
220 | ||
221 | ;; scm-iterator.c | |
222 | ||
223 | make-iterator | |
224 | iterator? | |
225 | iterator-object | |
226 | iterator-progress | |
227 | set-iterator-progress! | |
228 | iterator-next! | |
229 | end-of-iteration | |
230 | end-of-iteration? | |
231 | ||
232 | ;; scm-lazy-string.c | |
233 | ;; FIXME: Where's the constructor? | |
234 | ||
235 | lazy-string? | |
236 | lazy-string-address | |
237 | lazy-string-length | |
238 | lazy-string-encoding | |
239 | lazy-string-type | |
240 | lazy-string->value | |
241 | ||
242 | ;; scm-math.c | |
243 | ||
244 | valid-add | |
245 | value-sub | |
246 | value-mul | |
247 | value-div | |
248 | value-rem | |
249 | value-mod | |
250 | value-pow | |
251 | value-not | |
252 | value-neg | |
253 | value-pos | |
254 | value-abs | |
255 | value-lsh | |
256 | value-rsh | |
257 | value-min | |
258 | value-max | |
259 | value-lognot | |
260 | value-logand | |
261 | value-logior | |
262 | value-logxor | |
263 | value=? | |
264 | value<? | |
265 | value<=? | |
266 | value>? | |
267 | value>=? | |
268 | ||
269 | ;; scm-objfile.c | |
270 | ||
271 | objfile? | |
272 | objfile-valid? | |
273 | objfile-filename | |
274 | objfile-pretty-printers | |
275 | set-objfile-pretty-printers! | |
276 | current-objfile | |
277 | objfiles | |
278 | ||
06eb1586 DE |
279 | ;; scm-param.c |
280 | ||
281 | PARAM_BOOLEAN | |
282 | PARAM_AUTO_BOOLEAN | |
283 | PARAM_ZINTEGER | |
284 | PARAM_UINTEGER | |
285 | PARAM_ZUINTEGER | |
286 | PARAM_ZUINTEGER_UNLIMITED | |
287 | PARAM_STRING | |
288 | PARAM_STRING_NOESCAPE | |
289 | PARAM_OPTIONAL_FILENAME | |
290 | PARAM_FILENAME | |
291 | PARAM_ENUM | |
292 | ||
293 | make-parameter | |
294 | register-parameter! | |
295 | parameter? | |
296 | parameter-value | |
297 | set-parameter-value! | |
298 | ||
ed3ef339 DE |
299 | ;; scm-ports.c |
300 | ||
301 | input-port | |
302 | output-port | |
303 | error-port | |
304 | stdio-port? | |
305 | open-memory | |
306 | memory-port? | |
307 | memory-port-range | |
308 | memory-port-read-buffer-size | |
309 | set-memory-port-read-buffer-size! | |
310 | memory-port-write-buffer-size | |
311 | set-memory-port-write-buffer-size! | |
312 | ;; with-gdb-output-to-port, with-gdb-error-to-port are in experimental.scm. | |
313 | ||
314 | ;; scm-pretty-print.c | |
315 | ||
316 | make-pretty-printer | |
317 | pretty-printer? | |
318 | pretty-printer-enabled? | |
319 | set-pretty-printer-enabled! | |
320 | make-pretty-printer-worker | |
321 | pretty-printer-worker? | |
ee7333ae DE |
322 | pretty-printers |
323 | set-pretty-printers! | |
ed3ef339 | 324 | |
ded03782 DE |
325 | ;; scm-progspace.c |
326 | ||
327 | progspace? | |
328 | progspace-valid? | |
329 | progspace-filename | |
330 | progspace-objfiles | |
331 | progspace-pretty-printers | |
332 | set-progspace-pretty-printers! | |
333 | current-progspace | |
334 | progspaces | |
335 | ||
b2715b27 | 336 | ;; scm-gsmob.c |
ed3ef339 | 337 | |
b2715b27 | 338 | gdb-object-kind |
ed3ef339 DE |
339 | |
340 | ;; scm-string.c | |
341 | ||
342 | string->argv | |
343 | ||
344 | ;; scm-symbol.c | |
345 | ||
346 | SYMBOL_LOC_UNDEF | |
347 | SYMBOL_LOC_CONST | |
348 | SYMBOL_LOC_STATIC | |
349 | SYMBOL_LOC_REGISTER | |
350 | SYMBOL_LOC_ARG | |
351 | SYMBOL_LOC_REF_ARG | |
352 | SYMBOL_LOC_LOCAL | |
353 | SYMBOL_LOC_TYPEDEF | |
354 | SYMBOL_LOC_LABEL | |
355 | SYMBOL_LOC_BLOCK | |
356 | SYMBOL_LOC_CONST_BYTES | |
357 | SYMBOL_LOC_UNRESOLVED | |
358 | SYMBOL_LOC_OPTIMIZED_OUT | |
359 | SYMBOL_LOC_COMPUTED | |
360 | SYMBOL_LOC_REGPARM_ADDR | |
361 | ||
362 | SYMBOL_UNDEF_DOMAIN | |
363 | SYMBOL_VAR_DOMAIN | |
364 | SYMBOL_STRUCT_DOMAIN | |
365 | SYMBOL_LABEL_DOMAIN | |
366 | SYMBOL_VARIABLES_DOMAIN | |
367 | SYMBOL_FUNCTIONS_DOMAIN | |
368 | SYMBOL_TYPES_DOMAIN | |
369 | ||
370 | symbol? | |
371 | symbol-valid? | |
372 | symbol-type | |
373 | symbol-symtab | |
374 | symbol-line | |
375 | symbol-name | |
376 | symbol-linkage-name | |
377 | symbol-print-name | |
378 | symbol-addr-class | |
379 | symbol-argument? | |
380 | symbol-constant? | |
381 | symbol-function? | |
382 | symbol-variable? | |
383 | symbol-needs-frame? | |
384 | symbol-value | |
385 | lookup-symbol | |
386 | lookup-global-symbol | |
387 | ||
388 | ;; scm-symtab.c | |
389 | ||
390 | symtab? | |
391 | symtab-valid? | |
392 | symtab-filename | |
393 | symtab-fullname | |
394 | symtab-objfile | |
395 | symtab-global-block | |
396 | symtab-static-block | |
397 | sal? | |
398 | sal-valid? | |
399 | sal-symtab | |
400 | sal-line | |
401 | sal-pc | |
402 | sal-last | |
403 | find-pc-line | |
404 | ||
405 | ;; scm-type.c | |
406 | ||
407 | TYPE_CODE_BITSTRING | |
408 | TYPE_CODE_PTR | |
409 | TYPE_CODE_ARRAY | |
410 | TYPE_CODE_STRUCT | |
411 | TYPE_CODE_UNION | |
412 | TYPE_CODE_ENUM | |
413 | TYPE_CODE_FLAGS | |
414 | TYPE_CODE_FUNC | |
415 | TYPE_CODE_INT | |
416 | TYPE_CODE_FLT | |
417 | TYPE_CODE_VOID | |
418 | TYPE_CODE_SET | |
419 | TYPE_CODE_RANGE | |
420 | TYPE_CODE_STRING | |
421 | TYPE_CODE_ERROR | |
422 | TYPE_CODE_METHOD | |
423 | TYPE_CODE_METHODPTR | |
424 | TYPE_CODE_MEMBERPTR | |
425 | TYPE_CODE_REF | |
426 | TYPE_CODE_CHAR | |
427 | TYPE_CODE_BOOL | |
428 | TYPE_CODE_COMPLEX | |
429 | TYPE_CODE_TYPEDEF | |
430 | TYPE_CODE_NAMESPACE | |
431 | TYPE_CODE_DECFLOAT | |
432 | TYPE_CODE_INTERNAL_FUNCTION | |
433 | ||
434 | type? | |
435 | lookup-type | |
436 | type-code | |
437 | type-fields | |
438 | type-tag | |
439 | type-sizeof | |
440 | type-strip-typedefs | |
441 | type-array | |
442 | type-vector | |
443 | type-pointer | |
444 | type-range | |
445 | type-reference | |
446 | type-target | |
447 | type-const | |
448 | type-volatile | |
449 | type-unqualified | |
450 | type-name | |
451 | type-num-fields | |
452 | type-fields | |
453 | make-field-iterator | |
454 | type-field | |
455 | type-has-field? | |
456 | field? | |
457 | field-name | |
458 | field-type | |
459 | field-enumval | |
460 | field-bitpos | |
461 | field-bitsize | |
462 | field-artificial? | |
463 | field-baseclass? | |
464 | ||
465 | ;; scm-value.c | |
466 | ||
467 | value? | |
468 | make-value | |
469 | value-optimized-out? | |
470 | value-address | |
471 | value-type | |
472 | value-dynamic-type | |
473 | value-cast | |
474 | value-dynamic-cast | |
475 | value-reinterpret-cast | |
476 | value-dereference | |
477 | value-referenced-value | |
478 | value-field | |
479 | value-subscript | |
480 | value-call | |
481 | value->bool | |
482 | value->integer | |
483 | value->real | |
484 | value->bytevector | |
485 | value->string | |
486 | value->lazy-string | |
487 | value-lazy? | |
488 | make-lazy-value | |
489 | value-fetch-lazy! | |
490 | value-print | |
491 | parse-and-eval | |
492 | history-ref | |
493 | ) | |
494 | ||
495 | ;; Load the rest of the Scheme side. | |
ed3ef339 | 496 | |
186fcde0 | 497 | (include "gdb/init.scm") |
ed3ef339 DE |
498 | |
499 | ;; These come from other files, but they're really part of this module. | |
500 | ||
186fcde0 | 501 | (export |
ed3ef339 DE |
502 | |
503 | ;; init.scm | |
504 | orig-input-port | |
505 | orig-output-port | |
506 | orig-error-port | |
e698b8c4 | 507 | throw-user-error |
ed3ef339 | 508 | ) |