ec739c7e30c7179d272096642d55c2a494b695ec
[deliverable/binutils-gdb.git] / gdb / guile / lib / gdb.scm
1 ;; Scheme side of the gdb module.
2 ;;
3 ;; Copyright (C) 2014 Free Software Foundation, Inc.
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
117 breakpoint-delete!
118 breakpoints
119 breakpoint?
120 breakpoint-valid?
121 breakpoint-number
122 breakpoint-type
123 brekapoint-visible?
124 breakpoint-location
125 breakpoint-expression
126 breakpoint-enabled?
127 set-breakpoint-enabled!
128 breakpoint-silent?
129 set-breakpoint-silent!
130 breakpoint-ignore-count
131 set-breakpoint-ignore-count!
132 breakpoint-hit-count
133 set-breakpoint-hit-count!
134 breakpoint-thread
135 set-breakpoint-thread!
136 breakpoint-task
137 set-breakpoint-task!
138 breakpoint-condition
139 set-breakpoint-condition!
140 breakpoint-stop
141 set-breakpoint-stop!
142 breakpoint-commands
143
144 ;; scm-disasm.c
145
146 arch-disassemble
147
148 ;; scm-exception.c
149
150 make-exception
151 exception?
152 exception-key
153 exception-args
154
155 ;; scm-frame.c
156
157 NORMAL_FRAME
158 DUMMY_FRAME
159 INLINE_FRAME
160 TAILCALL_FRAME
161 SIGTRAMP_FRAME
162 ARCH_FRAME
163 SENTINEL_FRAME
164
165 FRAME_UNWIND_NO_REASON
166 FRAME_UNWIND_NULL_ID
167 FRAME_UNWIND_OUTERMOST
168 FRAME_UNWIND_UNAVAILABLE
169 FRAME_UNWIND_INNER_ID
170 FRAME_UNWIND_SAME_ID
171 FRAME_UNWIND_NO_SAVED_PC
172
173 frame?
174 frame-valid?
175 frame-name
176 frame-type
177 frame-arch
178 frame-unwind-stop-reason
179 frame-pc
180 frame-block
181 frame-function
182 frame-older
183 frame-newer
184 frame-sal
185 frame-read-var
186 frame-select
187 newest-frame
188 selected-frame
189 unwind-stop-reason-string
190
191 ;; scm-iterator.c
192
193 make-iterator
194 iterator?
195 iterator-object
196 iterator-progress
197 set-iterator-progress!
198 iterator-next!
199 end-of-iteration
200 end-of-iteration?
201
202 ;; scm-lazy-string.c
203 ;; FIXME: Where's the constructor?
204
205 lazy-string?
206 lazy-string-address
207 lazy-string-length
208 lazy-string-encoding
209 lazy-string-type
210 lazy-string->value
211
212 ;; scm-math.c
213
214 valid-add
215 value-sub
216 value-mul
217 value-div
218 value-rem
219 value-mod
220 value-pow
221 value-not
222 value-neg
223 value-pos
224 value-abs
225 value-lsh
226 value-rsh
227 value-min
228 value-max
229 value-lognot
230 value-logand
231 value-logior
232 value-logxor
233 value=?
234 value<?
235 value<=?
236 value>?
237 value>=?
238
239 ;; scm-objfile.c
240
241 objfile?
242 objfile-valid?
243 objfile-filename
244 objfile-pretty-printers
245 set-objfile-pretty-printers!
246 current-objfile
247 objfiles
248
249 ;; scm-ports.c
250
251 input-port
252 output-port
253 error-port
254 stdio-port?
255 open-memory
256 memory-port?
257 memory-port-range
258 memory-port-read-buffer-size
259 set-memory-port-read-buffer-size!
260 memory-port-write-buffer-size
261 set-memory-port-write-buffer-size!
262 ;; with-gdb-output-to-port, with-gdb-error-to-port are in experimental.scm.
263
264 ;; scm-pretty-print.c
265
266 make-pretty-printer
267 pretty-printer?
268 pretty-printer-enabled?
269 set-pretty-printer-enabled!
270 make-pretty-printer-worker
271 pretty-printer-worker?
272
273 ;; scm-gsmob.c
274
275 gdb-object-kind
276
277 ;; scm-string.c
278
279 string->argv
280
281 ;; scm-symbol.c
282
283 SYMBOL_LOC_UNDEF
284 SYMBOL_LOC_CONST
285 SYMBOL_LOC_STATIC
286 SYMBOL_LOC_REGISTER
287 SYMBOL_LOC_ARG
288 SYMBOL_LOC_REF_ARG
289 SYMBOL_LOC_LOCAL
290 SYMBOL_LOC_TYPEDEF
291 SYMBOL_LOC_LABEL
292 SYMBOL_LOC_BLOCK
293 SYMBOL_LOC_CONST_BYTES
294 SYMBOL_LOC_UNRESOLVED
295 SYMBOL_LOC_OPTIMIZED_OUT
296 SYMBOL_LOC_COMPUTED
297 SYMBOL_LOC_REGPARM_ADDR
298
299 SYMBOL_UNDEF_DOMAIN
300 SYMBOL_VAR_DOMAIN
301 SYMBOL_STRUCT_DOMAIN
302 SYMBOL_LABEL_DOMAIN
303 SYMBOL_VARIABLES_DOMAIN
304 SYMBOL_FUNCTIONS_DOMAIN
305 SYMBOL_TYPES_DOMAIN
306
307 symbol?
308 symbol-valid?
309 symbol-type
310 symbol-symtab
311 symbol-line
312 symbol-name
313 symbol-linkage-name
314 symbol-print-name
315 symbol-addr-class
316 symbol-argument?
317 symbol-constant?
318 symbol-function?
319 symbol-variable?
320 symbol-needs-frame?
321 symbol-value
322 lookup-symbol
323 lookup-global-symbol
324
325 ;; scm-symtab.c
326
327 symtab?
328 symtab-valid?
329 symtab-filename
330 symtab-fullname
331 symtab-objfile
332 symtab-global-block
333 symtab-static-block
334 sal?
335 sal-valid?
336 sal-symtab
337 sal-line
338 sal-pc
339 sal-last
340 find-pc-line
341
342 ;; scm-type.c
343
344 TYPE_CODE_BITSTRING
345 TYPE_CODE_PTR
346 TYPE_CODE_ARRAY
347 TYPE_CODE_STRUCT
348 TYPE_CODE_UNION
349 TYPE_CODE_ENUM
350 TYPE_CODE_FLAGS
351 TYPE_CODE_FUNC
352 TYPE_CODE_INT
353 TYPE_CODE_FLT
354 TYPE_CODE_VOID
355 TYPE_CODE_SET
356 TYPE_CODE_RANGE
357 TYPE_CODE_STRING
358 TYPE_CODE_ERROR
359 TYPE_CODE_METHOD
360 TYPE_CODE_METHODPTR
361 TYPE_CODE_MEMBERPTR
362 TYPE_CODE_REF
363 TYPE_CODE_CHAR
364 TYPE_CODE_BOOL
365 TYPE_CODE_COMPLEX
366 TYPE_CODE_TYPEDEF
367 TYPE_CODE_NAMESPACE
368 TYPE_CODE_DECFLOAT
369 TYPE_CODE_INTERNAL_FUNCTION
370
371 type?
372 lookup-type
373 type-code
374 type-fields
375 type-tag
376 type-sizeof
377 type-strip-typedefs
378 type-array
379 type-vector
380 type-pointer
381 type-range
382 type-reference
383 type-target
384 type-const
385 type-volatile
386 type-unqualified
387 type-name
388 type-num-fields
389 type-fields
390 make-field-iterator
391 type-field
392 type-has-field?
393 field?
394 field-name
395 field-type
396 field-enumval
397 field-bitpos
398 field-bitsize
399 field-artificial?
400 field-baseclass?
401
402 ;; scm-value.c
403
404 value?
405 make-value
406 value-optimized-out?
407 value-address
408 value-type
409 value-dynamic-type
410 value-cast
411 value-dynamic-cast
412 value-reinterpret-cast
413 value-dereference
414 value-referenced-value
415 value-field
416 value-subscript
417 value-call
418 value->bool
419 value->integer
420 value->real
421 value->bytevector
422 value->string
423 value->lazy-string
424 value-lazy?
425 make-lazy-value
426 value-fetch-lazy!
427 value-print
428 parse-and-eval
429 history-ref
430 )
431
432 ;; Load the rest of the Scheme side.
433 ;; data-directory is provided by the C code.
434
435 (add-to-load-path
436 (string-append (data-directory) file-name-separator-string "guile"))
437
438 (use-modules ((gdb init)))
439
440 ;; These come from other files, but they're really part of this module.
441
442 (re-export
443
444 ;; init.scm
445 orig-input-port
446 orig-output-port
447 orig-error-port
448 )
This page took 0.078346 seconds and 4 git commands to generate.