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