GDB (xrefs)
scm-arch.c
Go to the documentation of this file.
1 /* Scheme interface to architecture.
2 
3  Copyright (C) 2014-2015 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 /* See README file in this directory for implementation notes, coding
21  conventions, et.al. */
22 
23 #include "defs.h"
24 #include "charset.h"
25 #include "gdbarch.h"
26 #include "arch-utils.h"
27 #include "guile-internal.h"
28 
29 /* The <gdb:arch> smob.
30  The typedef for this struct is in guile-internal.h. */
31 
32 struct _arch_smob
33 {
34  /* This always appears first. */
36 
37  struct gdbarch *gdbarch;
38 };
39 
40 static const char arch_smob_name[] = "gdb:arch";
41 
42 /* The tag Guile knows the arch smob by. */
43 static scm_t_bits arch_smob_tag;
44 
45 static struct gdbarch_data *arch_object_data = NULL;
46 
47 static int arscm_is_arch (SCM);
48 
49 /* Administrivia for arch smobs. */
50 
51 /* The smob "print" function for <gdb:arch>. */
52 
53 static int
54 arscm_print_arch_smob (SCM self, SCM port, scm_print_state *pstate)
55 {
56  arch_smob *a_smob = (arch_smob *) SCM_SMOB_DATA (self);
57  struct gdbarch *gdbarch = a_smob->gdbarch;
58 
59  gdbscm_printf (port, "#<%s", arch_smob_name);
60  gdbscm_printf (port, " %s", gdbarch_bfd_arch_info (gdbarch)->printable_name);
61  scm_puts (">", port);
62 
63  scm_remember_upto_here_1 (self);
64 
65  /* Non-zero means success. */
66  return 1;
67 }
68 
69 /* Low level routine to create a <gdb:arch> object for GDBARCH. */
70 
71 static SCM
73 {
74  arch_smob *a_smob = (arch_smob *)
75  scm_gc_malloc (sizeof (arch_smob), arch_smob_name);
76  SCM a_scm;
77 
78  a_smob->gdbarch = gdbarch;
79  a_scm = scm_new_smob (arch_smob_tag, (scm_t_bits) a_smob);
80  gdbscm_init_gsmob (&a_smob->base);
81 
82  return a_scm;
83 }
84 
85 /* Return the gdbarch field of A_SMOB. */
86 
87 struct gdbarch *
89 {
90  return a_smob->gdbarch;
91 }
92 
93 /* Return non-zero if SCM is an architecture smob. */
94 
95 static int
96 arscm_is_arch (SCM scm)
97 {
98  return SCM_SMOB_PREDICATE (arch_smob_tag, scm);
99 }
100 
101 /* (arch? object) -> boolean */
102 
103 static SCM
104 gdbscm_arch_p (SCM scm)
105 {
106  return scm_from_bool (arscm_is_arch (scm));
107 }
108 
109 /* Associates an arch_object with GDBARCH as gdbarch_data via the gdbarch
110  post init registration mechanism (gdbarch_data_register_post_init). */
111 
112 static void *
114 {
115  SCM arch_scm = arscm_make_arch_smob (gdbarch);
116 
117  /* This object lasts the duration of the GDB session, so there is no
118  call to scm_gc_unprotect_object for it. */
119  scm_gc_protect_object (arch_scm);
120 
121  return (void *) arch_scm;
122 }
123 
124 /* Return the <gdb:arch> object corresponding to GDBARCH.
125  The object is cached in GDBARCH so this is simple. */
126 
127 SCM
129 {
130  SCM a_scm = (SCM) gdbarch_data (gdbarch, arch_object_data);
131 
132  return a_scm;
133 }
134 
135 /* Return the <gdb:arch> smob in SELF.
136  Throws an exception if SELF is not a <gdb:arch> object. */
137 
138 static SCM
139 arscm_get_arch_arg_unsafe (SCM self, int arg_pos, const char *func_name)
140 {
141  SCM_ASSERT_TYPE (arscm_is_arch (self), self, arg_pos, func_name,
143 
144  return self;
145 }
146 
147 /* Return a pointer to the arch smob of SELF.
148  Throws an exception if SELF is not a <gdb:arch> object. */
149 
150 arch_smob *
151 arscm_get_arch_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name)
152 {
153  SCM a_scm = arscm_get_arch_arg_unsafe (self, arg_pos, func_name);
154  arch_smob *a_smob = (arch_smob *) SCM_SMOB_DATA (a_scm);
155 
156  return a_smob;
157 }
158 
159 /* Arch methods. */
160 
161 /* (current-arch) -> <gdb:arch>
162  Return the architecture of the currently selected stack frame,
163  if there is one, or the current target if there isn't. */
164 
165 static SCM
167 {
169 }
170 
171 /* (arch-name <gdb:arch>) -> string
172  Return the name of the architecture as a string value. */
173 
174 static SCM
176 {
177  arch_smob *a_smob
178  = arscm_get_arch_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
179  struct gdbarch *gdbarch = a_smob->gdbarch;
180  const char *name;
181 
182  name = (gdbarch_bfd_arch_info (gdbarch))->printable_name;
183 
184  return gdbscm_scm_from_c_string (name);
185 }
186 
187 /* (arch-charset <gdb:arch>) -> string */
188 
189 static SCM
191 {
192  arch_smob *a_smob
193  =arscm_get_arch_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
194  struct gdbarch *gdbarch = a_smob->gdbarch;
195 
196  return gdbscm_scm_from_c_string (target_charset (gdbarch));
197 }
198 
199 /* (arch-wide-charset <gdb:arch>) -> string */
200 
201 static SCM
203 {
204  arch_smob *a_smob
205  = arscm_get_arch_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
206  struct gdbarch *gdbarch = a_smob->gdbarch;
207 
209 }
210 
211 /* Builtin types.
212 
213  The order the types are defined here follows the order in
214  struct builtin_type. */
215 
216 /* Helper routine to return a builtin type for <gdb:arch> object SELF.
217  OFFSET is offsetof (builtin_type, the_type).
218  Throws an exception if SELF is not a <gdb:arch> object. */
219 
220 static const struct builtin_type *
221 gdbscm_arch_builtin_type (SCM self, const char *func_name)
222 {
223  arch_smob *a_smob
224  = arscm_get_arch_smob_arg_unsafe (self, SCM_ARG1, func_name);
225  struct gdbarch *gdbarch = a_smob->gdbarch;
226 
227  return builtin_type (gdbarch);
228 }
229 
230 /* (arch-void-type <gdb:arch>) -> <gdb:type> */
231 
232 static SCM
234 {
235  struct type *type
237 
238  return tyscm_scm_from_type (type);
239 }
240 
241 /* (arch-char-type <gdb:arch>) -> <gdb:type> */
242 
243 static SCM
245 {
246  struct type *type
248 
249  return tyscm_scm_from_type (type);
250 }
251 
252 /* (arch-short-type <gdb:arch>) -> <gdb:type> */
253 
254 static SCM
256 {
257  struct type *type
259 
260  return tyscm_scm_from_type (type);
261 }
262 
263 /* (arch-int-type <gdb:arch>) -> <gdb:type> */
264 
265 static SCM
267 {
268  struct type *type
270 
271  return tyscm_scm_from_type (type);
272 }
273 
274 /* (arch-long-type <gdb:arch>) -> <gdb:type> */
275 
276 static SCM
278 {
279  struct type *type
281 
282  return tyscm_scm_from_type (type);
283 }
284 
285 /* (arch-schar-type <gdb:arch>) -> <gdb:type> */
286 
287 static SCM
289 {
290  struct type *type
292 
293  return tyscm_scm_from_type (type);
294 }
295 
296 /* (arch-uchar-type <gdb:arch>) -> <gdb:type> */
297 
298 static SCM
300 {
301  struct type *type
303 
304  return tyscm_scm_from_type (type);
305 }
306 
307 /* (arch-ushort-type <gdb:arch>) -> <gdb:type> */
308 
309 static SCM
311 {
312  struct type *type
314 
315  return tyscm_scm_from_type (type);
316 }
317 
318 /* (arch-uint-type <gdb:arch>) -> <gdb:type> */
319 
320 static SCM
322 {
323  struct type *type
325 
326  return tyscm_scm_from_type (type);
327 }
328 
329 /* (arch-ulong-type <gdb:arch>) -> <gdb:type> */
330 
331 static SCM
333 {
334  struct type *type
336 
337  return tyscm_scm_from_type (type);
338 }
339 
340 /* (arch-float-type <gdb:arch>) -> <gdb:type> */
341 
342 static SCM
344 {
345  struct type *type
347 
348  return tyscm_scm_from_type (type);
349 }
350 
351 /* (arch-double-type <gdb:arch>) -> <gdb:type> */
352 
353 static SCM
355 {
356  struct type *type
358 
359  return tyscm_scm_from_type (type);
360 }
361 
362 /* (arch-longdouble-type <gdb:arch>) -> <gdb:type> */
363 
364 static SCM
366 {
367  struct type *type
369 
370  return tyscm_scm_from_type (type);
371 }
372 
373 /* (arch-bool-type <gdb:arch>) -> <gdb:type> */
374 
375 static SCM
377 {
378  struct type *type
380 
381  return tyscm_scm_from_type (type);
382 }
383 
384 /* (arch-longlong-type <gdb:arch>) -> <gdb:type> */
385 
386 static SCM
388 {
389  struct type *type
391 
392  return tyscm_scm_from_type (type);
393 }
394 
395 /* (arch-ulonglong-type <gdb:arch>) -> <gdb:type> */
396 
397 static SCM
399 {
400  struct type *type
402 
403  return tyscm_scm_from_type (type);
404 }
405 
406 /* (arch-int8-type <gdb:arch>) -> <gdb:type> */
407 
408 static SCM
410 {
411  struct type *type
413 
414  return tyscm_scm_from_type (type);
415 }
416 
417 /* (arch-uint8-type <gdb:arch>) -> <gdb:type> */
418 
419 static SCM
421 {
422  struct type *type
424 
425  return tyscm_scm_from_type (type);
426 }
427 
428 /* (arch-int16-type <gdb:arch>) -> <gdb:type> */
429 
430 static SCM
432 {
433  struct type *type
435 
436  return tyscm_scm_from_type (type);
437 }
438 
439 /* (arch-uint16-type <gdb:arch>) -> <gdb:type> */
440 
441 static SCM
443 {
444  struct type *type
446 
447  return tyscm_scm_from_type (type);
448 }
449 
450 /* (arch-int32-type <gdb:arch>) -> <gdb:type> */
451 
452 static SCM
454 {
455  struct type *type
457 
458  return tyscm_scm_from_type (type);
459 }
460 
461 /* (arch-uint32-type <gdb:arch>) -> <gdb:type> */
462 
463 static SCM
465 {
466  struct type *type
468 
469  return tyscm_scm_from_type (type);
470 }
471 
472 /* (arch-int64-type <gdb:arch>) -> <gdb:type> */
473 
474 static SCM
476 {
477  struct type *type
479 
480  return tyscm_scm_from_type (type);
481 }
482 
483 /* (arch-uint64-type <gdb:arch>) -> <gdb:type> */
484 
485 static SCM
487 {
488  struct type *type
490 
491  return tyscm_scm_from_type (type);
492 }
493 
494 /* Initialize the Scheme architecture support. */
495 
496 static const scheme_function arch_functions[] =
497 {
498  { "arch?", 1, 0, 0, gdbscm_arch_p,
499  "\
500 Return #t if the object is a <gdb:arch> object." },
501 
502  { "current-arch", 0, 0, 0, gdbscm_current_arch,
503  "\
504 Return the <gdb:arch> object representing the architecture of the\n\
505 currently selected stack frame, if there is one, or the architecture of the\n\
506 current target if there isn't.\n\
507 \n\
508  Arguments: none" },
509 
510  { "arch-name", 1, 0, 0, gdbscm_arch_name,
511  "\
512 Return the name of the architecture." },
513 
514  { "arch-charset", 1, 0, 0, gdbscm_arch_charset,
515  "\
516 Return name of target character set as a string." },
517 
518  { "arch-wide-charset", 1, 0, 0, gdbscm_arch_wide_charset,
519  "\
520 Return name of target wide character set as a string." },
521 
522  { "arch-void-type", 1, 0, 0, gdbscm_arch_void_type,
523  "\
524 Return the <gdb:type> object for the \"void\" type\n\
525 of the architecture." },
526 
527  { "arch-char-type", 1, 0, 0, gdbscm_arch_char_type,
528  "\
529 Return the <gdb:type> object for the \"char\" type\n\
530 of the architecture." },
531 
532  { "arch-short-type", 1, 0, 0, gdbscm_arch_short_type,
533  "\
534 Return the <gdb:type> object for the \"short\" type\n\
535 of the architecture." },
536 
537  { "arch-int-type", 1, 0, 0, gdbscm_arch_int_type,
538  "\
539 Return the <gdb:type> object for the \"int\" type\n\
540 of the architecture." },
541 
542  { "arch-long-type", 1, 0, 0, gdbscm_arch_long_type,
543  "\
544 Return the <gdb:type> object for the \"long\" type\n\
545 of the architecture." },
546 
547  { "arch-schar-type", 1, 0, 0, gdbscm_arch_schar_type,
548  "\
549 Return the <gdb:type> object for the \"signed char\" type\n\
550 of the architecture." },
551 
552  { "arch-uchar-type", 1, 0, 0, gdbscm_arch_uchar_type,
553  "\
554 Return the <gdb:type> object for the \"unsigned char\" type\n\
555 of the architecture." },
556 
557  { "arch-ushort-type", 1, 0, 0, gdbscm_arch_ushort_type,
558  "\
559 Return the <gdb:type> object for the \"unsigned short\" type\n\
560 of the architecture." },
561 
562  { "arch-uint-type", 1, 0, 0, gdbscm_arch_uint_type,
563  "\
564 Return the <gdb:type> object for the \"unsigned int\" type\n\
565 of the architecture." },
566 
567  { "arch-ulong-type", 1, 0, 0, gdbscm_arch_ulong_type,
568  "\
569 Return the <gdb:type> object for the \"unsigned long\" type\n\
570 of the architecture." },
571 
572  { "arch-float-type", 1, 0, 0, gdbscm_arch_float_type,
573  "\
574 Return the <gdb:type> object for the \"float\" type\n\
575 of the architecture." },
576 
577  { "arch-double-type", 1, 0, 0, gdbscm_arch_double_type,
578  "\
579 Return the <gdb:type> object for the \"double\" type\n\
580 of the architecture." },
581 
582  { "arch-longdouble-type", 1, 0, 0, gdbscm_arch_longdouble_type,
583  "\
584 Return the <gdb:type> object for the \"long double\" type\n\
585 of the architecture." },
586 
587  { "arch-bool-type", 1, 0, 0, gdbscm_arch_bool_type,
588  "\
589 Return the <gdb:type> object for the \"bool\" type\n\
590 of the architecture." },
591 
592  { "arch-longlong-type", 1, 0, 0, gdbscm_arch_longlong_type,
593  "\
594 Return the <gdb:type> object for the \"long long\" type\n\
595 of the architecture." },
596 
597  { "arch-ulonglong-type", 1, 0, 0,
599  "\
600 Return the <gdb:type> object for the \"unsigned long long\" type\n\
601 of the architecture." },
602 
603  { "arch-int8-type", 1, 0, 0, gdbscm_arch_int8_type,
604  "\
605 Return the <gdb:type> object for the \"int8\" type\n\
606 of the architecture." },
607 
608  { "arch-uint8-type", 1, 0, 0, gdbscm_arch_uint8_type,
609  "\
610 Return the <gdb:type> object for the \"uint8\" type\n\
611 of the architecture." },
612 
613  { "arch-int16-type", 1, 0, 0, gdbscm_arch_int16_type,
614  "\
615 Return the <gdb:type> object for the \"int16\" type\n\
616 of the architecture." },
617 
618  { "arch-uint16-type", 1, 0, 0, gdbscm_arch_uint16_type,
619  "\
620 Return the <gdb:type> object for the \"uint16\" type\n\
621 of the architecture." },
622 
623  { "arch-int32-type", 1, 0, 0, gdbscm_arch_int32_type,
624  "\
625 Return the <gdb:type> object for the \"int32\" type\n\
626 of the architecture." },
627 
628  { "arch-uint32-type", 1, 0, 0, gdbscm_arch_uint32_type,
629  "\
630 Return the <gdb:type> object for the \"uint32\" type\n\
631 of the architecture." },
632 
633  { "arch-int64-type", 1, 0, 0, gdbscm_arch_int64_type,
634  "\
635 Return the <gdb:type> object for the \"int64\" type\n\
636 of the architecture." },
637 
638  { "arch-uint64-type", 1, 0, 0, gdbscm_arch_uint64_type,
639  "\
640 Return the <gdb:type> object for the \"uint64\" type\n\
641 of the architecture." },
642 
644 };
645 
646 void
648 {
650  scm_set_smob_print (arch_smob_tag, arscm_print_arch_smob);
651 
652  gdbscm_define_functions (arch_functions, 1);
653 
654  arch_object_data
656 }
const char * target_charset(struct gdbarch *gdbarch)
Definition: charset.c:407
static SCM gdbscm_arch_ushort_type(SCM self)
Definition: scm-arch.c:310
static SCM scm_new_smob(scm_t_bits tc, scm_t_bits data)
struct type * builtin_long_double
Definition: gdbtypes.h:1492
void gdbscm_define_functions(const scheme_function *, int is_public)
Definition: scm-utils.c:44
static int arscm_print_arch_smob(SCM self, SCM port, scm_print_state *pstate)
Definition: scm-arch.c:54
static const char arch_smob_name[]
Definition: scm-arch.c:40
static SCM gdbscm_arch_ulonglong_type(SCM self)
Definition: scm-arch.c:398
struct type * builtin_unsigned_int
Definition: gdbtypes.h:1488
static SCM gdbscm_arch_short_type(SCM self)
Definition: scm-arch.c:255
static SCM gdbscm_arch_int_type(SCM self)
Definition: scm-arch.c:266
SCM tyscm_scm_from_type(struct type *type)
Definition: scm-type.c:303
static SCM arscm_get_arch_arg_unsafe(SCM self, int arg_pos, const char *func_name)
Definition: scm-arch.c:139
static SCM gdbscm_arch_uint_type(SCM self)
Definition: scm-arch.c:321
static const struct builtin_type * gdbscm_arch_builtin_type(SCM self, const char *func_name)
Definition: scm-arch.c:221
static SCM gdbscm_arch_float_type(SCM self)
Definition: scm-arch.c:343
static SCM gdbscm_arch_p(SCM scm)
Definition: scm-arch.c:104
const struct builtin_type * builtin_type(struct gdbarch *gdbarch)
Definition: gdbtypes.c:4766
#define FUNC_NAME
struct type * builtin_uint8
Definition: gdbtypes.h:1515
static SCM gdbscm_arch_name(SCM self)
Definition: scm-arch.c:175
struct type * builtin_uint16
Definition: gdbtypes.h:1517
static SCM gdbscm_arch_longlong_type(SCM self)
Definition: scm-arch.c:387
static SCM gdbscm_arch_int8_type(SCM self)
Definition: scm-arch.c:409
scm_t_bits gdbscm_make_smob_type(const char *name, size_t size)
Definition: scm-gsmob.c:102
static SCM gdbscm_current_arch(void)
Definition: scm-arch.c:166
arch_smob * arscm_get_arch_smob_arg_unsafe(SCM self, int arg_pos, const char *func_name)
Definition: scm-arch.c:151
struct type * builtin_int32
Definition: gdbtypes.h:1518
struct type * builtin_short
Definition: gdbtypes.h:1482
static SCM gdbscm_arch_wide_charset(SCM self)
Definition: scm-arch.c:202
static SCM gdbscm_arch_bool_type(SCM self)
Definition: scm-arch.c:376
struct gdbarch * gdbarch
Definition: scm-arch.c:37
const char *const name
Definition: aarch64-tdep.c:68
void gdbscm_init_gsmob(gdb_smob *base)
Definition: scm-gsmob.c:113
struct type * builtin_unsigned_long
Definition: gdbtypes.h:1489
static struct parser_state * pstate
Definition: ada-exp.c:149
SCM gdbscm_scm_from_c_string(const char *string)
Definition: scm-string.c:44
const char * target_wide_charset(struct gdbarch *gdbarch)
Definition: charset.c:415
static scm_t_bits arch_smob_tag
Definition: scm-arch.c:43
static SCM arscm_make_arch_smob(struct gdbarch *gdbarch)
Definition: scm-arch.c:72
gdb_smob base
Definition: scm-arch.c:35
struct type * builtin_int16
Definition: gdbtypes.h:1516
static void * arscm_object_data_init(struct gdbarch *gdbarch)
Definition: scm-arch.c:113
void gdbscm_initialize_arches(void)
Definition: scm-arch.c:647
static SCM gdbscm_arch_uint64_type(SCM self)
Definition: scm-arch.c:486
static SCM gdbscm_arch_void_type(SCM self)
Definition: scm-arch.c:233
Definition: gdbtypes.h:749
static SCM gdbscm_arch_longdouble_type(SCM self)
Definition: scm-arch.c:365
struct type * builtin_uint32
Definition: gdbtypes.h:1519
struct gdbarch * get_current_arch(void)
Definition: arch-utils.c:781
struct type * builtin_long
Definition: gdbtypes.h:1484
static SCM gdbscm_arch_int32_type(SCM self)
Definition: scm-arch.c:453
struct type * builtin_unsigned_char
Definition: gdbtypes.h:1486
static int arscm_is_arch(SCM)
Definition: scm-arch.c:96
struct type * builtin_bool
Definition: gdbtypes.h:1496
struct type * builtin_unsigned_long_long
Definition: gdbtypes.h:1498
struct type * builtin_signed_char
Definition: gdbtypes.h:1485
void gdbscm_printf(SCM port, const char *format,...) ATTRIBUTE_PRINTF(2
static SCM gdbscm_arch_ulong_type(SCM self)
Definition: scm-arch.c:332
static SCM gdbscm_arch_double_type(SCM self)
Definition: scm-arch.c:354
struct type * builtin_unsigned_short
Definition: gdbtypes.h:1487
static SCM gdbscm_arch_char_type(SCM self)
Definition: scm-arch.c:244
#define END_FUNCTIONS
static SCM gdbscm_arch_uint16_type(SCM self)
Definition: scm-arch.c:442
struct type * builtin_char
Definition: gdbtypes.h:1481
struct type * builtin_double
Definition: gdbtypes.h:1491
static SCM gdbscm_arch_uint8_type(SCM self)
Definition: scm-arch.c:420
static SCM gdbscm_arch_uint32_type(SCM self)
Definition: scm-arch.c:464
struct gdbarch * arscm_get_gdbarch(arch_smob *a_smob)
Definition: scm-arch.c:88
static SCM gdbscm_arch_long_type(SCM self)
Definition: scm-arch.c:277
static SCM gdbscm_arch_int64_type(SCM self)
Definition: scm-arch.c:475
static SCM gdbscm_arch_uchar_type(SCM self)
Definition: scm-arch.c:299
static SCM gdbscm_arch_schar_type(SCM self)
Definition: scm-arch.c:288
struct type * builtin_long_long
Definition: gdbtypes.h:1497
static SCM gdbscm_arch_int16_type(SCM self)
Definition: scm-arch.c:431
struct type * builtin_int64
Definition: gdbtypes.h:1520
const struct bfd_arch_info * gdbarch_bfd_arch_info(struct gdbarch *gdbarch)
Definition: gdbarch.c:1411
struct type * builtin_uint64
Definition: gdbtypes.h:1521
struct type * builtin_int8
Definition: gdbtypes.h:1514
struct type * builtin_void
Definition: gdbtypes.h:1480
struct gdbarch_data * gdbarch_data_register_post_init(gdbarch_data_post_init_ftype *post_init)
Definition: gdbarch.c:4812
SCM arscm_scm_from_arch(struct gdbarch *gdbarch)
Definition: scm-arch.c:128
struct type * builtin_float
Definition: gdbtypes.h:1490
struct type * builtin_int
Definition: gdbtypes.h:1483
static SCM gdbscm_arch_charset(SCM self)
Definition: scm-arch.c:190