fix typo, added @table
[deliverable/binutils-gdb.git] / gdb / defs.h
1 /* Basic, host-specific, and target-specific definitions for GDB.
2 Copyright (C) 1986, 1989, 1991 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20 #if !defined (DEFS_H)
21 #define DEFS_H 1
22
23 #include <stdio.h>
24
25 /* First include ansidecl.h so we can use the various macro definitions
26 here and in all subsequent file inclusions. */
27
28 #include "ansidecl.h"
29
30 /* An address in the program being debugged. Host byte order. */
31 typedef unsigned int CORE_ADDR;
32
33 #define min(a, b) ((a) < (b) ? (a) : (b))
34 #define max(a, b) ((a) > (b) ? (a) : (b))
35
36 /* The character C++ uses to build identifiers that must be unique from
37 the program's identifiers (such as $this and $$vptr). */
38 #define CPLUS_MARKER '$' /* May be overridden to '.' for SysV */
39
40 #include <errno.h> /* System call error return status */
41
42 extern int quit_flag;
43 extern int immediate_quit;
44
45 extern void
46 quit PARAMS ((void));
47
48 #define QUIT { if (quit_flag) quit (); }
49
50 /* Notes on classes: class_alias is for alias commands which are not
51 abbreviations of the original command. */
52
53 enum command_class
54 {
55 /* Special args to help_list */
56 all_classes = -2, all_commands = -1,
57 /* Classes of commands */
58 no_class = -1, class_run = 0, class_vars, class_stack,
59 class_files, class_support, class_info, class_breakpoint,
60 class_alias, class_obscure, class_user, class_maintenance
61 };
62
63 /* the cleanup list records things that have to be undone
64 if an error happens (descriptors to be closed, memory to be freed, etc.)
65 Each link in the chain records a function to call and an
66 argument to give it.
67
68 Use make_cleanup to add an element to the cleanup chain.
69 Use do_cleanups to do all cleanup actions back to a given
70 point in the chain. Use discard_cleanups to remove cleanups
71 from the chain back to a given point, not doing them. */
72
73 struct cleanup
74 {
75 struct cleanup *next;
76 void (*function) PARAMS ((PTR));
77 PTR arg;
78 };
79
80 /* From blockframe.c */
81
82 extern int
83 inside_entry_func PARAMS ((CORE_ADDR));
84
85 extern int
86 inside_entry_file PARAMS ((CORE_ADDR addr));
87
88 extern int
89 inside_main_func PARAMS ((CORE_ADDR pc));
90
91 /* From cplus-dem.c */
92
93 extern char *
94 cplus_demangle PARAMS ((const char *, int));
95
96 extern char *
97 cplus_mangle_opname PARAMS ((char *, int));
98
99 /* From libmmalloc.a (memory mapped malloc library) */
100
101 extern PTR
102 mmalloc_attach PARAMS ((int, PTR));
103
104 extern PTR
105 mmalloc_detach PARAMS ((PTR));
106
107 extern PTR
108 mmalloc PARAMS ((PTR, long));
109
110 extern PTR
111 mrealloc PARAMS ((PTR, PTR, long));
112
113 extern void
114 mfree PARAMS ((PTR, PTR));
115
116 extern int
117 mmalloc_setkey PARAMS ((PTR, int, PTR));
118
119 extern PTR
120 mmalloc_getkey PARAMS ((PTR, int));
121
122 /* From utils.c */
123
124 extern char *
125 demangle_and_match PARAMS ((const char *, const char *, int));
126
127 extern int
128 strcmp_iw PARAMS ((const char *, const char *));
129
130 extern char *
131 safe_strerror PARAMS ((int));
132
133 extern char *
134 safe_strsignal PARAMS ((int));
135
136 extern void
137 init_malloc PARAMS ((PTR));
138
139 extern void
140 request_quit PARAMS ((int));
141
142 extern void
143 do_cleanups PARAMS ((struct cleanup *));
144
145 extern void
146 discard_cleanups PARAMS ((struct cleanup *));
147
148 /* The bare make_cleanup function is one of those rare beasts that
149 takes almost any type of function as the first arg and anything that
150 will fit in a "void *" as the second arg.
151
152 Should be, once all calls and called-functions are cleaned up:
153 extern struct cleanup *
154 make_cleanup PARAMS ((void (*function) (PTR), PTR));
155
156 Until then, lint and/or various type-checking compiler options will
157 complain about make_cleanup calls. It'd be wrong to just cast things,
158 since the type actually passed when the function is called would be
159 wrong. */
160
161 extern struct cleanup *
162 make_cleanup ();
163
164 extern struct cleanup *
165 save_cleanups PARAMS ((void));
166
167 extern void
168 restore_cleanups PARAMS ((struct cleanup *));
169
170 extern void
171 free_current_contents PARAMS ((char **));
172
173 extern void
174 null_cleanup PARAMS ((char **));
175
176 extern int
177 myread PARAMS ((int, char *, int));
178
179 extern int
180 query ();
181
182 extern void
183 wrap_here PARAMS ((char *));
184
185 extern void
186 reinitialize_more_filter PARAMS ((void));
187
188 extern int
189 print_insn PARAMS ((CORE_ADDR, FILE *));
190
191 extern void
192 fputs_filtered PARAMS ((const char *, FILE *));
193
194 extern void
195 puts_filtered PARAMS ((char *));
196
197 extern void
198 vfprintf_filtered ();
199
200 extern void
201 fprintf_filtered ();
202
203 extern void
204 fprintfi_filtered ();
205
206 extern void
207 printf_filtered ();
208
209 extern void
210 printfi_filtered ();
211
212 extern void
213 print_spaces PARAMS ((int, FILE *));
214
215 extern void
216 print_spaces_filtered PARAMS ((int, FILE *));
217
218 extern char *
219 n_spaces PARAMS ((int));
220
221 extern void
222 printchar PARAMS ((int, FILE *, int));
223
224 extern char *
225 strdup_demangled PARAMS ((const char *));
226
227 extern void
228 fprint_symbol PARAMS ((FILE *, char *));
229
230 extern void
231 fputs_demangled PARAMS ((char *, FILE *, int));
232
233 extern void
234 perror_with_name PARAMS ((char *));
235
236 extern void
237 print_sys_errmsg PARAMS ((char *, int));
238
239 /* From regex.c */
240
241 extern char *
242 re_comp PARAMS ((char *));
243
244 /* From symfile.c */
245
246 extern void
247 symbol_file_command PARAMS ((char *, int));
248
249 /* From main.c */
250
251 extern char *
252 skip_quoted PARAMS ((char *));
253
254 extern char *
255 gdb_readline PARAMS ((char *));
256
257 extern char *
258 command_line_input PARAMS ((char *, int));
259
260 extern void
261 print_prompt PARAMS ((void));
262
263 extern int
264 batch_mode PARAMS ((void));
265
266 extern int
267 input_from_terminal_p PARAMS ((void));
268
269 extern int
270 catch_errors PARAMS ((int (*) (char *), char *, char *));
271
272 /* From printcmd.c */
273
274 extern void
275 set_next_address PARAMS ((CORE_ADDR));
276
277 extern void
278 print_address_symbolic PARAMS ((CORE_ADDR, FILE *, int, char *));
279
280 extern void
281 print_address PARAMS ((CORE_ADDR, FILE *));
282
283 /* From source.c */
284
285 extern int
286 openp PARAMS ((char *, int, char *, int, int, char **));
287
288 extern void
289 mod_path PARAMS ((char *, char **));
290
291 extern void
292 directory_command PARAMS ((char *, int));
293
294 extern void
295 init_source_path PARAMS ((void));
296
297 /* From findvar.c */
298
299 extern int
300 read_relative_register_raw_bytes PARAMS ((int, char *));
301
302 /* From readline (but not in any readline .h files). */
303
304 extern char *
305 tilde_expand PARAMS ((char *));
306
307 /* Structure for saved commands lines
308 (for breakpoints, defined commands, etc). */
309
310 struct command_line
311 {
312 struct command_line *next;
313 char *line;
314 };
315
316 extern struct command_line *
317 read_command_lines PARAMS ((void));
318
319 extern void
320 free_command_lines PARAMS ((struct command_line **));
321
322 /* String containing the current directory (what getwd would return). */
323
324 extern char *current_directory;
325
326 /* Default radixes for input and output. Only some values supported. */
327 extern unsigned input_radix;
328 extern unsigned output_radix;
329
330 /* Baud rate specified for communication with serial target systems. */
331 extern char *baud_rate;
332
333 /* Languages represented in the symbol table and elsewhere. */
334
335 enum language
336 {
337 language_unknown, /* Language not known */
338 language_auto, /* Placeholder for automatic setting */
339 language_c, /* C */
340 language_cplus, /* C++ */
341 language_m2 /* Modula-2 */
342 };
343
344 /* Return a format string for printf that will print a number in the local
345 (language-specific) hexadecimal format. Result is static and is
346 overwritten by the next call. local_hex_format_custom takes printf
347 options like "08" or "l" (to produce e.g. %08x or %lx). */
348
349 #define local_hex_format() (current_language->la_hex_format)
350
351 extern char *
352 local_hex_format_custom PARAMS ((char *)); /* language.c */
353
354 /* Return a string that contains a number formatted in the local
355 (language-specific) hexadecimal format. Result is static and is
356 overwritten by the next call. local_hex_string_custom takes printf
357 options like "08" or "l". */
358
359 extern char *
360 local_hex_string PARAMS ((int)); /* language.c */
361
362 extern char *
363 local_hex_string_custom PARAMS ((int, char *)); /* language.c */
364
365 \f
366 /* Host machine definition. This will be a symlink to one of the
367 xm-*.h files, built by the `configure' script. */
368
369 #include "xm.h"
370
371 /* If the xm.h file did not define the mode string used to open the
372 files, assume that binary files are opened the same way as text
373 files */
374 #ifndef FOPEN_RB
375 #include "fopen-same.h"
376 #endif
377
378 /*
379 * Allow things in gdb to be declared "const". If compiling ANSI, it
380 * just works. If compiling with gcc but non-ansi, redefine to __const__.
381 * If non-ansi, non-gcc, then eliminate "const" entirely, making those
382 * objects be read-write rather than read-only.
383 */
384
385 #ifndef const
386 #ifndef __STDC__
387 # ifdef __GNUC__
388 # define const __const__
389 # else
390 # define const /*nothing*/
391 # endif /* GNUC */
392 #endif /* STDC */
393 #endif /* const */
394
395 #ifndef volatile
396 #ifndef __STDC__
397 # ifdef __GNUC__
398 # define volatile __volatile__
399 # else
400 # define volatile /*nothing*/
401 # endif /* GNUC */
402 #endif /* STDC */
403 #endif /* volatile */
404
405 /* Some compilers (many AT&T SVR4 compilers for instance), do not accept
406 declarations of functions that never return (exit for instance) as
407 "volatile void". For such compilers "NORETURN" can be defined away
408 to keep them happy */
409
410 #ifndef NORETURN
411 # ifdef __lucid
412 # define NORETURN /*nothing*/
413 # else
414 # define NORETURN volatile
415 # endif
416 #endif
417
418 /* Defaults for system-wide constants (if not defined by xm.h, we fake it). */
419
420 #if !defined (UINT_MAX)
421 #define UINT_MAX 0xffffffff
422 #endif
423
424 #if !defined (LONG_MAX)
425 #define LONG_MAX 0x7fffffff
426 #endif
427
428 #if !defined (INT_MAX)
429 #define INT_MAX 0x7fffffff
430 #endif
431
432 #if !defined (INT_MIN)
433 /* Two's complement, 32 bit. */
434 #define INT_MIN -0x80000000
435 #endif
436
437 /* Number of bits in a char or unsigned char for the target machine.
438 Just like CHAR_BIT in <limits.h> but describes the target machine. */
439 #if !defined (TARGET_CHAR_BIT)
440 #define TARGET_CHAR_BIT 8
441 #endif
442
443 /* Number of bits in a short or unsigned short for the target machine. */
444 #if !defined (TARGET_SHORT_BIT)
445 #define TARGET_SHORT_BIT (sizeof (short) * TARGET_CHAR_BIT)
446 #endif
447
448 /* Number of bits in an int or unsigned int for the target machine. */
449 #if !defined (TARGET_INT_BIT)
450 #define TARGET_INT_BIT (sizeof (int) * TARGET_CHAR_BIT)
451 #endif
452
453 /* Number of bits in a long or unsigned long for the target machine. */
454 #if !defined (TARGET_LONG_BIT)
455 #define TARGET_LONG_BIT (sizeof (long) * TARGET_CHAR_BIT)
456 #endif
457
458 /* Number of bits in a long long or unsigned long long for the target machine. */
459 #if !defined (TARGET_LONG_LONG_BIT)
460 #define TARGET_LONG_LONG_BIT (2 * TARGET_LONG_BIT)
461 #endif
462
463 /* Number of bits in a float for the target machine. */
464 #if !defined (TARGET_FLOAT_BIT)
465 #define TARGET_FLOAT_BIT (sizeof (float) * TARGET_CHAR_BIT)
466 #endif
467
468 /* Number of bits in a double for the target machine. */
469 #if !defined (TARGET_DOUBLE_BIT)
470 #define TARGET_DOUBLE_BIT (sizeof (double) * TARGET_CHAR_BIT)
471 #endif
472
473 /* Number of bits in a long double for the target machine. */
474 #if !defined (TARGET_LONG_DOUBLE_BIT)
475 #define TARGET_LONG_DOUBLE_BIT (2 * TARGET_DOUBLE_BIT)
476 #endif
477
478 /* Number of bits in a "complex" for the target machine. */
479 #if !defined (TARGET_COMPLEX_BIT)
480 #define TARGET_COMPLEX_BIT (2 * TARGET_FLOAT_BIT)
481 #endif
482
483 /* Number of bits in a "double complex" for the target machine. */
484 #if !defined (TARGET_DOUBLE_COMPLEX_BIT)
485 #define TARGET_DOUBLE_COMPLEX_BIT (2 * TARGET_DOUBLE_BIT)
486 #endif
487
488 /* Number of bits in a pointer for the target machine */
489 #if !defined (TARGET_PTR_BIT)
490 #define TARGET_PTR_BIT TARGET_INT_BIT
491 #endif
492
493 /* Convert a LONGEST to an int. This is used in contexts (e.g. number
494 of arguments to a function, number in a value history, register
495 number, etc.) where the value must not be larger than can fit
496 in an int. */
497 #if !defined (longest_to_int)
498 #if defined (LONG_LONG)
499 #define longest_to_int(x) (((x) > INT_MAX || (x) < INT_MIN) \
500 ? (error ("Value out of range."),0) : (int) (x))
501 #else /* No LONG_LONG. */
502 /* Assume sizeof (int) == sizeof (long). */
503 #define longest_to_int(x) ((int) (x))
504 #endif /* No LONG_LONG. */
505 #endif /* No longest_to_int. */
506
507 /* This should not be a typedef, because "unsigned LONGEST" needs
508 to work. LONG_LONG is defined if the host has "long long". */
509
510 #ifndef LONGEST
511 # ifdef LONG_LONG
512 # define LONGEST long long
513 # else
514 # define LONGEST long
515 # endif
516 #endif
517
518 /* Assorted functions we can declare, now that const and volatile are
519 defined. */
520
521 extern char *
522 savestring PARAMS ((const char *, int));
523
524 extern char *
525 msavestring PARAMS ((void *, const char *, int));
526
527 extern char *
528 strsave PARAMS ((const char *));
529
530 extern char *
531 mstrsave PARAMS ((void *, const char *));
532
533 extern char *
534 concat PARAMS ((char *, ...));
535
536 extern PTR
537 xmalloc PARAMS ((long));
538
539 extern PTR
540 xrealloc PARAMS ((PTR, long));
541
542 extern PTR
543 xmmalloc PARAMS ((PTR, long));
544
545 extern PTR
546 xmrealloc PARAMS ((PTR, PTR, long));
547
548 extern PTR
549 mmalloc PARAMS ((PTR, long));
550
551 extern PTR
552 mrealloc PARAMS ((PTR, PTR, long));
553
554 extern void
555 mfree PARAMS ((PTR, PTR));
556
557 extern int
558 mmcheck PARAMS ((PTR, void (*) (void)));
559
560 extern int
561 mmtrace PARAMS ((void));
562
563 extern int
564 parse_escape PARAMS ((char **));
565
566 extern const char * const reg_names[];
567
568 extern NORETURN void /* Does not return to the caller. */
569 error ();
570
571 extern NORETURN void /* Does not return to the caller. */
572 fatal ();
573
574 extern NORETURN void /* Not specified as volatile in ... */
575 exit PARAMS ((int)); /* 4.10.4.3 */
576
577 extern NORETURN void /* Does not return to the caller. */
578 nomem PARAMS ((long));
579
580 extern NORETURN void /* Does not return to the caller. */
581 return_to_top_level PARAMS ((void));
582
583 extern void
584 warning_setup PARAMS ((void));
585
586 extern void
587 warning ();
588
589 /* Global functions from other, non-gdb GNU thingies (libiberty for
590 instance) */
591
592 extern char *
593 basename PARAMS ((char *));
594
595 extern char *
596 getenv PARAMS ((const char *));
597
598 extern char **
599 buildargv PARAMS ((char *));
600
601 extern void
602 freeargv PARAMS ((char **));
603
604 extern char *
605 strerrno PARAMS ((int));
606
607 extern char *
608 strsigno PARAMS ((int));
609
610 extern int
611 errno_max PARAMS ((void));
612
613 extern int
614 signo_max PARAMS ((void));
615
616 extern int
617 strtoerrno PARAMS ((char *));
618
619 extern int
620 strtosigno PARAMS ((char *));
621
622 extern char *
623 strsignal PARAMS ((int));
624
625 /* From other system libraries */
626
627 #ifndef PSIGNAL_IN_SIGNAL_H
628 extern void
629 psignal PARAMS ((unsigned, char *));
630 #endif
631
632 /* For now, we can't include <stdlib.h> because it conflicts with
633 "../include/getopt.h". (FIXME)
634
635 However, if a function is defined in the ANSI C standard and a prototype
636 for that function is defined and visible in any header file in an ANSI
637 conforming environment, then that prototype must match the definition in
638 the ANSI standard. So we can just duplicate them here without conflict,
639 since they must be the same in all conforming ANSI environments. If
640 these cause problems, then the environment is not ANSI conformant. */
641
642 #ifdef __STDC__
643 #include <stddef.h>
644 #endif
645
646 extern int
647 fclose PARAMS ((FILE *stream)); /* 4.9.5.1 */
648
649 extern void
650 perror PARAMS ((const char *)); /* 4.9.10.4 */
651
652 extern double
653 atof PARAMS ((const char *nptr)); /* 4.10.1.1 */
654
655 extern int
656 atoi PARAMS ((const char *)); /* 4.10.1.2 */
657
658 #ifndef MALLOC_INCOMPATIBLE
659
660 extern PTR
661 malloc PARAMS ((size_t size)); /* 4.10.3.3 */
662
663 extern PTR
664 realloc PARAMS ((void *ptr, size_t size)); /* 4.10.3.4 */
665
666 extern void
667 free PARAMS ((void *)); /* 4.10.3.2 */
668
669 #endif /* MALLOC_INCOMPATIBLE */
670
671 extern void
672 qsort PARAMS ((void *base, size_t nmemb, /* 4.10.5.2 */
673 size_t size,
674 int (*comp)(const void *, const void *)));
675
676 #ifndef MEM_FNS_DECLARED /* Some non-ANSI use void *, not char *. */
677 extern PTR
678 memcpy PARAMS ((void *, const void *, size_t)); /* 4.11.2.1 */
679 #endif
680
681 extern int
682 memcmp PARAMS ((const void *, const void *, size_t)); /* 4.11.4.1 */
683
684 extern char *
685 strchr PARAMS ((const char *, int)); /* 4.11.5.2 */
686
687 extern char *
688 strrchr PARAMS ((const char *, int)); /* 4.11.5.5 */
689
690 extern char *
691 strstr PARAMS ((const char *, const char *)); /* 4.11.5.7 */
692
693 extern char *
694 strtok PARAMS ((char *, const char *)); /* 4.11.5.8 */
695
696 #ifndef MEM_FNS_DECLARED /* Some non-ANSI use void *, not char *. */
697 extern PTR
698 memset PARAMS ((void *, int, size_t)); /* 4.11.6.1 */
699 #endif
700
701 extern char *
702 strerror PARAMS ((int)); /* 4.11.6.2 */
703
704 /* Various possibilities for alloca. */
705 #ifndef alloca
706 # ifdef __GNUC__
707 # define alloca __builtin_alloca
708 # else
709 # ifdef sparc
710 # include <alloca.h> /* NOTE: Doesn't declare alloca() */
711 # endif
712 # ifdef __STDC__
713 extern void *alloca (size_t);
714 # else /* __STDC__ */
715 extern char *alloca ();
716 # endif
717 # endif
718 #endif
719
720 /* TARGET_BYTE_ORDER and HOST_BYTE_ORDER must be defined to one of these. */
721
722 #if !defined (BIG_ENDIAN)
723 #define BIG_ENDIAN 4321
724 #endif
725
726 #if !defined (LITTLE_ENDIAN)
727 #define LITTLE_ENDIAN 1234
728 #endif
729
730 /* Target-system-dependent parameters for GDB.
731
732 The standard thing is to include defs.h. However, files that are
733 specific to a particular target can define TM_FILE_OVERRIDE before
734 including defs.h, then can include any particular tm-file they desire. */
735
736 /* Target machine definition. This will be a symlink to one of the
737 tm-*.h files, built by the `configure' script. */
738
739 #ifndef TM_FILE_OVERRIDE
740 #include "tm.h"
741 #endif
742
743 /* The bit byte-order has to do just with numbering of bits in
744 debugging symbols and such. Conceptually, it's quite separate
745 from byte/word byte order. */
746
747 #if !defined (BITS_BIG_ENDIAN)
748 #if TARGET_BYTE_ORDER == BIG_ENDIAN
749 #define BITS_BIG_ENDIAN 1
750 #endif /* Big endian. */
751
752 #if TARGET_BYTE_ORDER == LITTLE_ENDIAN
753 #define BITS_BIG_ENDIAN 0
754 #endif /* Little endian. */
755 #endif /* BITS_BIG_ENDIAN not defined. */
756
757 /* Swap LEN bytes at BUFFER between target and host byte-order. */
758 #if TARGET_BYTE_ORDER == HOST_BYTE_ORDER
759 #define SWAP_TARGET_AND_HOST(buffer,len)
760 #else /* Target and host byte order differ. */
761 #define SWAP_TARGET_AND_HOST(buffer,len) \
762 { \
763 char tmp; \
764 char *p = (char *)(buffer); \
765 char *q = ((char *)(buffer)) + len - 1; \
766 for (; p < q; p++, q--) \
767 { \
768 tmp = *q; \
769 *q = *p; \
770 *p = tmp; \
771 } \
772 }
773 #endif /* Target and host byte order differ. */
774
775 /* On some machines there are bits in addresses which are not really
776 part of the address, but are used by the kernel, the hardware, etc.
777 for special purposes. ADDR_BITS_REMOVE takes out any such bits
778 so we get a "real" address such as one would find in a symbol
779 table. ADDR_BITS_SET sets those bits the way the system wants
780 them. */
781 #if !defined (ADDR_BITS_REMOVE)
782 #define ADDR_BITS_REMOVE(addr) (addr)
783 #define ADDR_BITS_SET(addr) (addr)
784 #endif /* No ADDR_BITS_REMOVE. */
785
786 /* From valops.c */
787
788 extern CORE_ADDR
789 push_bytes PARAMS ((CORE_ADDR, char *, int));
790
791 /* In some modules, we don't have a definition of REGISTER_TYPE yet, so we
792 must avoid prototyping this function for now. FIXME. Should be:
793 extern CORE_ADDR
794 push_word PARAMS ((CORE_ADDR, REGISTER_TYPE));
795 */
796 extern CORE_ADDR
797 push_word ();
798
799 /* Some parts of gdb might be considered optional, in the sense that they
800 are not essential for being able to build a working, usable debugger
801 for a specific environment. For example, the maintenance commands
802 are there for the benefit of gdb maintainers. As another example,
803 some environments really don't need gdb's that are able to read N
804 different object file formats. In order to make it possible (but
805 not necessarily recommended) to build "stripped down" versions of
806 gdb, the following defines control selective compilation of those
807 parts of gdb which can be safely left out when necessary. Note that
808 the default is to include everything. */
809
810 #ifndef MAINTENANCE_CMDS
811 #define MAINTENANCE_CMDS 1
812 #endif
813
814 #include "energize.h"
815
816 #endif /* !defined (DEFS_H) */
This page took 0.051837 seconds and 4 git commands to generate.