This is gdbint.info, produced by makeinfo version 4.8 from
../.././gdb/doc/gdbint.texinfo.

INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Gdb-Internals: (gdbint).	The GNU debugger's internals.
END-INFO-DIR-ENTRY

   This file documents the internals of the GNU debugger GDB.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1998, 1999, 2000,
2001,    2002, 2003, 2004, 2005, 2006    Free Software Foundation, Inc.
Contributed by Cygnus Solutions.  Written by John Gilmore.  Second
Edition by Stan Shebs.

   Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the section entitled "GNU
Free Documentation License".


File: gdbint.info,  Node: Index,  Prev: GNU Free Documentation License,  Up: Top

Index
*****

 [index ]
* Menu:

* *gdbarch_address_class_type_flags_to_name: Address Classes. (line  25)
* *gdbarch_data:                         Coding.              (line 132)
* _initialize_language:                  Language Support.    (line  79)
* a.out format:                          Symbol Handling.     (line 199)
* abstract interpretation of function prologues: Algorithms.  (line  72)
* add_cmd:                               User Interface.      (line  21)
* add_com:                               User Interface.      (line  21)
* add_setshow_cmd:                       User Interface.      (line  26)
* add_setshow_cmd_full:                  User Interface.      (line  26)
* add_symtab_fns:                        Symbol Handling.     (line  23)
* adding a new host:                     Host Definition.     (line  13)
* adding a symbol-reading module:        Symbol Handling.     (line  23)
* adding a target:                       Adding a New Target. (line   6)
* adding debugging info reader:          Symbol Handling.     (line 319)
* adding source language:                Language Support.    (line  17)
* address classes:                       Address Classes.     (line   6)
* address representation:                Pointers and Addresses.
                                                              (line   6)
* address spaces, separate data and code: Pointers and Addresses.
                                                              (line   6)
* address_class_name_to_type_flags:      Target Conditionals. (line  27)
* address_class_name_to_type_flags_p:    Target Conditionals. (line  38)
* algorithms:                            Algorithms.          (line   6)
* allocate_symtab:                       Language Support.    (line  83)
* Array Containers:                      Support Libraries.   (line 131)
* assumptions about targets:             Coding.              (line 513)
* ATTR_NORETURN:                         Host Definition.     (line 172)
* BFD library:                           Support Libraries.   (line   9)
* BIG_BREAKPOINT:                        Target Conditionals. (line  99)
* BPT_VECTOR:                            Target Conditionals. (line 772)
* BREAKPOINT <1>:                        Target Conditionals. (line  87)
* BREAKPOINT:                            Algorithms.          (line 232)
* breakpoint address adjusted:           Target Conditionals. (line 136)
* breakpoints:                           Algorithms.          (line 175)
* bug-gdb mailing list:                  Getting Started.     (line  72)
* build script:                          Debugging GDB.       (line 114)
* C data types:                          Coding.              (line 388)
* call frame information:                Algorithms.          (line  38)
* call stack frame:                      Algorithms.          (line  14)
* CANNOT_STEP_HW_WATCHPOINTS:            Algorithms.          (line 429)
* CC_HAS_LONG_LONG:                      Host Definition.     (line 132)
* CFI (call frame information):          Algorithms.          (line  38)
* char:                                  OS ABI Variant Handling.
                                                              (line  97)
* checkpoints:                           Algorithms.          (line 629)
* CHILD_PREPARE_TO_STORE:                Native Debugging.    (line 134)
* cleanup:                               User Interface.      (line 223)
* cleanups:                              Coding.              (line  12)
* CLI:                                   User Interface.      (line  12)
* code pointers, word-addressed:         Pointers and Addresses.
                                                              (line   6)
* coding standards:                      Coding.              (line 214)
* COFF debugging info:                   Symbol Handling.     (line 294)
* COFF format:                           Symbol Handling.     (line 214)
* command implementation:                Getting Started.     (line  60)
* command interpreter:                   User Interface.      (line  12)
* comment formatting:                    Coding.              (line 362)
* compiler warnings:                     Coding.              (line 270)
* const char *gdbarch_name_of_malloc (GDBARCH): Target Conditionals.
                                                              (line 779)
* converting between pointers and addresses: Pointers and Addresses.
                                                              (line   6)
* converting integers to addresses:      Target Conditionals. (line 412)
* CRLF_SOURCE_FILES:                     Host Definition.     (line  93)
* current_language:                      Language Support.    (line  75)
* D10V addresses:                        Pointers and Addresses.
                                                              (line   6)
* data output:                           User Interface.      (line 254)
* data-pointer, per-architecture/per-module: Coding.          (line 100)
* debugging GDB:                         Debugging GDB.       (line   6)
* DEFAULT_PROMPT:                        Host Definition.     (line 100)
* deprecate_cmd:                         User Interface.      (line  32)
* DEPRECATED_FP_REGNUM:                  Target Conditionals. (line 235)
* DEPRECATED_FRAME_CHAIN:                Target Conditionals. (line 279)
* DEPRECATED_FRAME_CHAIN_VALID:          Target Conditionals. (line 282)
* DEPRECATED_FRAME_INIT_SAVED_REGS:      Target Conditionals. (line 290)
* DEPRECATED_FRAME_SAVED_PC:             Target Conditionals. (line 303)
* DEPRECATED_FRAMELESS_FUNCTION_INVOCATION: Target Conditionals.
                                                              (line 243)
* DEPRECATED_FUNCTION_START_OFFSET:      Target Conditionals. (line 342)
* DEPRECATED_IBM6000_TARGET:             Target Conditionals. (line 374)
* DEPRECATED_PUSH_ARGUMENTS.:            Target Conditionals. (line 553)
* DEPRECATED_REGISTER_RAW_SIZE:          Raw and Virtual Registers.
                                                              (line  61)
* DEPRECATED_REGISTER_VIRTUAL_SIZE <1>:  Target Conditionals. (line 465)
* DEPRECATED_REGISTER_VIRTUAL_SIZE:      Raw and Virtual Registers.
                                                              (line  66)
* DEPRECATED_USE_STRUCT_CONVENTION:      Target Conditionals. (line 754)
* deprecating commands:                  User Interface.      (line  32)
* design:                                Coding.              (line 508)
* DEV_TTY:                               Host Definition.     (line 103)
* DIRNAME_SEPARATOR:                     Coding.              (line 578)
* DISABLE_UNSETTABLE_BREAK:              Target Conditionals. (line 198)
* discard_cleanups:                      Coding.              (line  39)
* do_cleanups:                           Coding.              (line  35)
* DOS text files:                        Host Definition.     (line  94)
* DW_AT_address_class:                   Address Classes.     (line   6)
* DW_AT_byte_size:                       Address Classes.     (line   6)
* DWARF 2 debugging info:                Symbol Handling.     (line 307)
* ECOFF debugging info:                  Symbol Handling.     (line 300)
* ECOFF format:                          Symbol Handling.     (line 228)
* ELF format:                            Symbol Handling.     (line 261)
* evaluate_subexp:                       Language Support.    (line  58)
* executable_changed:                    GDB Observers.       (line  82)
* execution state:                       Managing Execution State.
                                                              (line   6)
* experimental branches:                 Versions and Branches.
                                                              (line 116)
* expression evaluation routines:        Language Support.    (line  58)
* expression parser:                     Language Support.    (line  21)
* extract_typed_address:                 Pointers and Addresses.
                                                              (line  52)
* FDL, GNU Free Documentation License:   GNU Free Documentation License.
                                                              (line   6)
* fetch_core_registers:                  Native Debugging.    (line  63)
* FETCH_INFERIOR_REGISTERS:              Native Debugging.    (line 142)
* field output functions:                User Interface.      (line 254)
* file names, portability:               Coding.              (line 546)
* FILENAME_CMP:                          Coding.              (line 572)
* find_pc_function:                      Symbol Handling.     (line 122)
* find_pc_line:                          Symbol Handling.     (line 122)
* find_sym_fns:                          Symbol Handling.     (line  18)
* finding a symbol:                      Symbol Handling.     (line 119)
* fine-tuning gdbarch structure:         OS ABI Variant Handling.
                                                              (line  23)
* FOPEN_RB:                              Host Definition.     (line 106)
* frame:                                 Algorithms.          (line  14)
* frame, unwind:                         Algorithms.          (line  17)
* frame_align:                           Target Conditionals. (line 248)
* frame_register_unwind:                 Algorithms.          (line  23)
* full symbol table:                     Symbol Handling.     (line  90)
* function prototypes:                   Coding.              (line 410)
* function usage:                        Coding.              (line 392)
* FUNCTION_EPILOGUE_SIZE:                Target Conditionals. (line 336)
* fundamental types:                     Symbol Handling.     (line 164)
* GCC2_COMPILED_FLAG_SYMBOL:             Target Conditionals. (line 357)
* GCC_COMPILED_FLAG_SYMBOL:              Target Conditionals. (line 357)
* GDB source tree structure:             Overall Structure.   (line  82)
* gdb_osabi:                             OS ABI Variant Handling.
                                                              (line 119)
* GDB_OSABI_AIX:                         OS ABI Variant Handling.
                                                              (line  90)
* GDB_OSABI_CYGWIN:                      OS ABI Variant Handling.
                                                              (line  87)
* GDB_OSABI_FREEBSD_AOUT:                OS ABI Variant Handling.
                                                              (line  51)
* GDB_OSABI_FREEBSD_ELF:                 OS ABI Variant Handling.
                                                              (line  54)
* GDB_OSABI_GO32:                        OS ABI Variant Handling.
                                                              (line  69)
* GDB_OSABI_HPUX_ELF:                    OS ABI Variant Handling.
                                                              (line  78)
* GDB_OSABI_HPUX_SOM:                    OS ABI Variant Handling.
                                                              (line  81)
* GDB_OSABI_HURD:                        OS ABI Variant Handling.
                                                              (line  39)
* GDB_OSABI_INTERIX:                     OS ABI Variant Handling.
                                                              (line  75)
* GDB_OSABI_IRIX:                        OS ABI Variant Handling.
                                                              (line  72)
* GDB_OSABI_LINUX:                       OS ABI Variant Handling.
                                                              (line  48)
* GDB_OSABI_NETBSD_AOUT:                 OS ABI Variant Handling.
                                                              (line  57)
* GDB_OSABI_NETBSD_ELF:                  OS ABI Variant Handling.
                                                              (line  60)
* GDB_OSABI_OPENBSD_ELF:                 OS ABI Variant Handling.
                                                              (line  63)
* GDB_OSABI_OSF1:                        OS ABI Variant Handling.
                                                              (line  45)
* GDB_OSABI_QNXNTO:                      OS ABI Variant Handling.
                                                              (line  84)
* GDB_OSABI_SOLARIS:                     OS ABI Variant Handling.
                                                              (line  42)
* GDB_OSABI_SVR4:                        OS ABI Variant Handling.
                                                              (line  36)
* GDB_OSABI_UNINITIALIZED:               OS ABI Variant Handling.
                                                              (line  29)
* GDB_OSABI_UNKNOWN:                     OS ABI Variant Handling.
                                                              (line  32)
* GDB_OSABI_WINCE:                       OS ABI Variant Handling.
                                                              (line  66)
* gdbarch_addr_bits_remove:              Target Conditionals. (line  10)
* gdbarch_address_class_name_to_type_flags: Address Classes.  (line  30)
* gdbarch_address_class_type_flags <1>:  Target Conditionals. (line  42)
* gdbarch_address_class_type_flags:      Address Classes.     (line  18)
* gdbarch_address_class_type_flags_p:    Target Conditionals. (line  51)
* gdbarch_address_class_type_flags_to_name: Target Conditionals.
                                                              (line  55)
* gdbarch_address_class_type_flags_to_name_p: Target Conditionals.
                                                              (line  59)
* gdbarch_address_to_pointer <1>:        Target Conditionals. (line  64)
* gdbarch_address_to_pointer:            Pointers and Addresses.
                                                              (line 115)
* gdbarch_adjust_breakpoint_address:     Target Conditionals. (line 136)
* gdbarch_believe_pcc_promotion:         Target Conditionals. (line  71)
* gdbarch_bits_big_endian:               Target Conditionals. (line  76)
* gdbarch_breakpoint_from_pc:            Target Conditionals. (line 105)
* gdbarch_call_dummy_location:           Target Conditionals. (line 169)
* gdbarch_cannot_fetch_register:         Target Conditionals. (line 175)
* gdbarch_cannot_store_register:         Target Conditionals. (line 180)
* gdbarch_char_signed:                   Target Conditionals. (line 670)
* gdbarch_convert_register_p <1>:        Target Conditionals. (line 187)
* gdbarch_convert_register_p:            Register and Memory Data.
                                                              (line  37)
* gdbarch_data:                          Coding.              (line 108)
* gdbarch_decr_pc_after_break:           Target Conditionals. (line 192)
* gdbarch_double_bit:                    Target Conditionals. (line 680)
* gdbarch_dwarf2_reg_to_regnum:          Target Conditionals. (line 227)
* gdbarch_dwarf_reg_to_regnum:           Target Conditionals. (line 223)
* gdbarch_ecoff_reg_to_regnum:           Target Conditionals. (line 231)
* gdbarch_float_bit:                     Target Conditionals. (line 684)
* gdbarch_fp0_regnum:                    Native Debugging.    (line 149)
* gdbarch_frame_num_args:                Target Conditionals. (line 298)
* gdbarch_frame_red_zone_size:           Target Conditionals. (line 263)
* gdbarch_get_longjmp_target <1>:        Native Debugging.    (line 156)
* gdbarch_get_longjmp_target <2>:        Target Conditionals. (line 363)
* gdbarch_get_longjmp_target:            Algorithms.          (line 290)
* gdbarch_have_nonsteppable_watchpoint:  Algorithms.          (line 417)
* gdbarch_in_function_epilogue_p:        Target Conditionals. (line 391)
* gdbarch_in_solib_return_trampoline:    Target Conditionals. (line 397)
* gdbarch_init_osabi:                    OS ABI Variant Handling.
                                                              (line 125)
* gdbarch_inner_than:                    Target Conditionals. (line 385)
* gdbarch_int_bit:                       Target Conditionals. (line 687)
* gdbarch_integer_to_address:            Target Conditionals. (line 412)
* gdbarch_long_bit:                      Target Conditionals. (line 690)
* gdbarch_long_double_bit:               Target Conditionals. (line 694)
* gdbarch_long_long_bit:                 Target Conditionals. (line 698)
* gdbarch_memory_insert_breakpoint:      Target Conditionals. (line 121)
* gdbarch_memory_remove_breakpoint:      Target Conditionals. (line 121)
* gdbarch_name_of_malloc:                Target Conditionals. (line 780)
* gdbarch_pc_regnum:                     Target Conditionals. (line 533)
* gdbarch_pointer_to_address <1>:        Target Conditionals. (line 433)
* gdbarch_pointer_to_address:            Pointers and Addresses.
                                                              (line 105)
* gdbarch_print_float_info:              Target Conditionals. (line 203)
* gdbarch_print_insn:                    Target Conditionals. (line 736)
* gdbarch_print_registers_info:          Target Conditionals. (line 207)
* gdbarch_print_vector_info:             Target Conditionals. (line 216)
* gdbarch_ps_regnum:                     Target Conditionals. (line 548)
* gdbarch_ptr_bit:                       Target Conditionals. (line 702)
* gdbarch_push_dummy_call:               Target Conditionals. (line 553)
* gdbarch_push_dummy_code:               Target Conditionals. (line 567)
* gdbarch_read_pc:                       Target Conditionals. (line 710)
* gdbarch_register_name:                 Target Conditionals. (line 583)
* gdbarch_register_osabi:                OS ABI Variant Handling.
                                                              (line 103)
* gdbarch_register_osabi_sniffer:        OS ABI Variant Handling.
                                                              (line 112)
* gdbarch_register_to_value <1>:         Target Conditionals. (line 439)
* gdbarch_register_to_value:             Register and Memory Data.
                                                              (line  49)
* gdbarch_return_value:                  Target Conditionals. (line 598)
* gdbarch_sdb_reg_to_regnum:             Target Conditionals. (line 594)
* gdbarch_short_bit:                     Target Conditionals. (line 706)
* gdbarch_skip_permanent_breakpoint:     Target Conditionals. (line 634)
* gdbarch_skip_prologue:                 Target Conditionals. (line 645)
* gdbarch_skip_trampoline_code:          Target Conditionals. (line 649)
* gdbarch_sp_regnum:                     Target Conditionals. (line 654)
* gdbarch_stab_reg_to_regnum:            Target Conditionals. (line 659)
* gdbarch_stabs_argument_has_addr:       Target Conditionals. (line 541)
* gdbarch_unwind_dummy_id:               Target Conditionals. (line 748)
* gdbarch_unwind_pc:                     Target Conditionals. (line 309)
* gdbarch_unwind_sp:                     Target Conditionals. (line 323)
* gdbarch_value_to_register <1>:         Target Conditionals. (line 765)
* gdbarch_value_to_register:             Register and Memory Data.
                                                              (line  63)
* gdbarch_virtual_frame_pointer:         Target Conditionals. (line 725)
* gdbarch_write_pc:                      Target Conditionals. (line 711)
* GDBINIT_FILENAME:                      Host Definition.     (line  78)
* generic host support:                  Host Definition.     (line  46)
* generic_elf_osabi_sniff_abi_tag_sections: OS ABI Variant Handling.
                                                              (line 133)
* get_frame_register:                    Algorithms.          (line  23)
* get_frame_type:                        Algorithms.          (line  30)
* hardware breakpoints:                  Algorithms.          (line 182)
* hardware watchpoints:                  Algorithms.          (line 306)
* HAVE_CONTINUABLE_WATCHPOINT:           Algorithms.          (line 423)
* HAVE_DOS_BASED_FILE_SYSTEM:            Coding.              (line 555)
* HAVE_LONG_DOUBLE:                      Host Definition.     (line 141)
* HAVE_MMAP:                             Host Definition.     (line 109)
* HAVE_STEPPABLE_WATCHPOINT:             Algorithms.          (line 407)
* HAVE_TERMIO:                           Host Definition.     (line 114)
* host:                                  Overall Structure.   (line  50)
* host, adding:                          Host Definition.     (line  13)
* i386_cleanup_dregs:                    Algorithms.          (line 605)
* I386_DR_LOW_GET_STATUS:                Algorithms.          (line 512)
* I386_DR_LOW_RESET_ADDR:                Algorithms.          (line 508)
* I386_DR_LOW_SET_ADDR:                  Algorithms.          (line 505)
* I386_DR_LOW_SET_CONTROL:               Algorithms.          (line 502)
* i386_insert_hw_breakpoint:             Algorithms.          (line 587)
* i386_insert_watchpoint:                Algorithms.          (line 559)
* i386_region_ok_for_watchpoint:         Algorithms.          (line 537)
* i386_remove_hw_breakpoint:             Algorithms.          (line 587)
* i386_remove_watchpoint:                Algorithms.          (line 559)
* i386_stopped_by_hwbp:                  Algorithms.          (line 599)
* i386_stopped_by_watchpoint:            Algorithms.          (line 551)
* i386_stopped_data_address:             Algorithms.          (line 544)
* I386_USE_GENERIC_WATCHPOINTS:          Algorithms.          (line 483)
* IN_SOLIB_DYNSYM_RESOLVE_CODE:          Target Conditionals. (line 401)
* inferior_created:                      GDB Observers.       (line  89)
* insert or remove hardware breakpoint:  Algorithms.          (line 261)
* insert or remove hardware watchpoint:  Algorithms.          (line 376)
* insert or remove software breakpoint:  Algorithms.          (line 238)
* INT_MAX:                               Host Definition.     (line 117)
* INT_MIN:                               Host Definition.     (line 118)
* IS_ABSOLUTE_PATH:                      Coding.              (line 566)
* IS_DIR_SEPARATOR:                      Coding.              (line 561)
* ISATTY:                                Host Definition.     (line 124)
* item output functions:                 User Interface.      (line 254)
* L_SET:                                 Host Definition.     (line 160)
* language parser:                       Language Support.    (line  25)
* language support:                      Language Support.    (line   6)
* legal papers for code contributions:   Debugging GDB.       (line  42)
* length_of_subexp:                      Language Support.    (line  58)
* libgdb:                                libgdb.              (line   9)
* libiberty library:                     Support Libraries.   (line  52)
* line wrap in output:                   Coding.              (line 190)
* lint:                                  Host Definition.     (line 193)
* list output functions:                 User Interface.      (line 131)
* LITTLE_BREAKPOINT:                     Target Conditionals. (line  99)
* long long data type:                   Host Definition.     (line 133)
* LONG_MAX:                              Host Definition.     (line 119)
* LONGEST:                               Host Definition.     (line 127)
* longjmp debugging:                     Algorithms.          (line 285)
* lookup_symbol:                         Symbol Handling.     (line 128)
* LSEEK_NOT_LINEAR:                      Host Definition.     (line 155)
* make_cleanup:                          Coding.              (line  28)
* making a new release of gdb:           Releasing GDB.       (line   6)
* memory representation:                 Register and Memory Data.
                                                              (line   6)
* minimal symbol table:                  Symbol Handling.     (line  97)
* minsymtabs:                            Symbol Handling.     (line  97)
* mmap:                                  Host Definition.     (line 110)
* multi-arch data:                       Coding.              (line 100)
* NATDEPFILES:                           Native Debugging.    (line   8)
* native conditionals:                   Native Debugging.    (line 128)
* native core files:                     Native Debugging.    (line  63)
* native debugging:                      Native Debugging.    (line   6)
* nesting level in ui_out functions:     User Interface.      (line 143)
* new year procedure:                    Start of New Year Procedure.
                                                              (line   6)
* new_objfile:                           GDB Observers.       (line 104)
* NO_STD_REGS:                           Host Definition.     (line  82)
* NORETURN:                              Host Definition.     (line 165)
* normal_stop:                           GDB Observers.       (line  76)
* normal_stop observer:                  GDB Observers.       (line  48)
* notification about inferior execution stop: GDB Observers.  (line  48)
* notifications about changes in internals: Algorithms.       (line 659)
* object file formats:                   Symbol Handling.     (line 196)
* observer pattern interface:            Algorithms.          (line 659)
* observers implementation rationale:    GDB Observers.       (line   9)
* obsolete code:                         Debugging GDB.       (line  94)
* obstacks:                              Support Libraries.   (line  69)
* ONE_PROCESS_WRITETEXT:                 Native Debugging.    (line 172)
* op_print_tab:                          Language Support.    (line  91)
* opcodes library:                       Support Libraries.   (line  39)
* OS ABI variants:                       OS ABI Variant Handling.
                                                              (line   6)
* parse_exp_1:                           Language Support.    (line  97)
* partial symbol table:                  Symbol Handling.     (line 100)
* PE-COFF format:                        Symbol Handling.     (line 252)
* per-architecture module data:          Coding.              (line 100)
* pointer representation:                Pointers and Addresses.
                                                              (line   6)
* portability:                           Coding.              (line 529)
* portable file name handling:           Coding.              (line 546)
* porting to new machines:               Porting GDB.         (line   6)
* prefixify_subexp:                      Language Support.    (line  58)
* print_subexp:                          Language Support.    (line  91)
* PRINTF_HAS_LONG_DOUBLE:                Host Definition.     (line 145)
* PRINTF_HAS_LONG_LONG:                  Host Definition.     (line 136)
* PROC_NAME_FMT:                         Native Debugging.    (line 177)
* PROCESS_LINENUMBER_HOOK:               Target Conditionals. (line 545)
* program counter:                       Algorithms.          (line 182)
* prologue analysis:                     Algorithms.          (line  38)
* prologue-value.c:                      Algorithms.          (line  72)
* prompt:                                Host Definition.     (line 101)
* pseudo-evaluation of function prologues: Algorithms.        (line  72)
* psymtabs:                              Symbol Handling.     (line  93)
* raw register representation:           Raw and Virtual Registers.
                                                              (line   6)
* read_fp:                               Target Conditionals. (line 713)
* read_sp:                               Target Conditionals. (line 713)
* reading of symbols:                    Symbol Handling.     (line  12)
* readline library:                      Support Libraries.   (line  45)
* red zone:                              Target Conditionals. (line 276)
* register data formats, converting:     Register and Memory Data.
                                                              (line   6)
* register groups:                       Target Conditionals. (line 444)
* register representation:               Register and Memory Data.
                                                              (line   6)
* REGISTER_CONVERT_TO_RAW <1>:           Target Conditionals. (line 485)
* REGISTER_CONVERT_TO_RAW:               Raw and Virtual Registers.
                                                              (line  94)
* REGISTER_CONVERT_TO_TYPE:              Register and Memory Data.
                                                              (line  76)
* REGISTER_CONVERT_TO_VIRTUAL <1>:       Target Conditionals. (line 480)
* REGISTER_CONVERT_TO_VIRTUAL:           Raw and Virtual Registers.
                                                              (line  79)
* REGISTER_CONVERTIBLE:                  Raw and Virtual Registers.
                                                              (line  54)
* register_reggroup_p:                   Target Conditionals. (line 444)
* register_type:                         Target Conditionals. (line 475)
* REGISTER_VIRTUAL_TYPE:                 Target Conditionals. (line 471)
* regset_from_core_section:              Target Conditionals. (line 490)
* regular expressions library:           Support Libraries.   (line 110)
* Release Branches:                      Versions and Branches.
                                                              (line  93)
* remote debugging support:              Host Definition.     (line  57)
* REMOTE_BPT_VECTOR:                     Target Conditionals. (line 776)
* representations, raw and virtual registers: Raw and Virtual Registers.
                                                              (line   6)
* representations, register and memory:  Register and Memory Data.
                                                              (line   6)
* requirements for GDB:                  Requirements.        (line   6)
* restart:                               Algorithms.          (line 629)
* running the test suite:                Testsuite.           (line  19)
* SAVE_DUMMY_FRAME_TOS:                  Target Conditionals. (line 587)
* SCANF_HAS_LONG_DOUBLE:                 Host Definition.     (line 150)
* secondary symbol file:                 Symbol Handling.     (line  33)
* SEEK_CUR:                              Host Definition.     (line 179)
* SEEK_SET:                              Host Definition.     (line 180)
* sentinel frame:                        Algorithms.          (line  30)
* SENTINEL_FRAME:                        Algorithms.          (line  30)
* separate data and code address spaces: Pointers and Addresses.
                                                              (line   6)
* serial line support:                   Host Definition.     (line  57)
* set_gdbarch_bits_big_endian:           Target Conditionals. (line  82)
* set_gdbarch_sofun_address_maybe_missing: Target Conditionals.
                                                              (line 504)
* SIGWINCH_HANDLER:                      Host Definition.     (line  85)
* SIGWINCH_HANDLER_BODY:                 Host Definition.     (line  89)
* SKIP_SOLIB_RESOLVER:                   Target Conditionals. (line 405)
* SLASH_STRING:                          Coding.              (line 583)
* software breakpoints:                  Algorithms.          (line 208)
* software watchpoints:                  Algorithms.          (line 306)
* SOFTWARE_SINGLE_STEP:                  Target Conditionals. (line 498)
* SOFTWARE_SINGLE_STEP_P:                Target Conditionals. (line 494)
* SOLIB_ADD:                             Native Debugging.    (line 182)
* SOLIB_CREATE_INFERIOR_HOOK:            Native Debugging.    (line 188)
* solib_loaded:                          GDB Observers.       (line  96)
* solib_unloaded:                        GDB Observers.       (line 101)
* SOM debugging info:                    Symbol Handling.     (line 314)
* SOM format:                            Symbol Handling.     (line 270)
* source code formatting:                Coding.              (line 322)
* spaces, separate data and code address: Pointers and Addresses.
                                                              (line   6)
* stabs debugging info:                  Symbol Handling.     (line 284)
* START_INFERIOR_TRAPS_EXPECTED:         Native Debugging.    (line 192)
* STOP_SIGNAL:                           Host Definition.     (line 184)
* STOPPED_BY_WATCHPOINT:                 Algorithms.          (line 433)
* store_typed_address:                   Pointers and Addresses.
                                                              (line  70)
* struct:                                GDB Observers.       (line  62)
* struct value, converting register contents to: Register and Memory Data.
                                                              (line   6)
* submitting patches:                    Debugging GDB.       (line  30)
* sym_fns structure:                     Symbol Handling.     (line  23)
* symbol files:                          Symbol Handling.     (line  12)
* symbol lookup:                         Symbol Handling.     (line 119)
* symbol reading:                        Symbol Handling.     (line  12)
* SYMBOL_RELOADING_DEFAULT:              Target Conditionals. (line 663)
* symtabs:                               Symbol Handling.     (line  90)
* system dependencies:                   Coding.              (line 533)
* table output functions:                User Interface.      (line 131)
* target:                                Overall Structure.   (line  50)
* target architecture definition:        Target Architecture Definition.
                                                              (line   6)
* target descriptions:                   Target Descriptions. (line   6)
* target descriptions, adding register support: Adding Target Described Register Support.
                                                              (line   6)
* target descriptions, implementation:   Target Descriptions Implementation.
                                                              (line   6)
* target vector:                         Target Vector Definition.
                                                              (line   6)
* TARGET_CAN_USE_HARDWARE_WATCHPOINT:    Algorithms.          (line 362)
* target_changed:                        GDB Observers.       (line  79)
* TARGET_CHAR_BIT:                       Target Conditionals. (line 667)
* TARGET_HAS_HARDWARE_WATCHPOINTS:       Algorithms.          (line 359)
* target_insert_breakpoint:              Algorithms.          (line 238)
* target_insert_hw_breakpoint:           Algorithms.          (line 261)
* target_insert_watchpoint:              Algorithms.          (line 376)
* TARGET_READ_FP:                        Target Conditionals. (line 713)
* TARGET_READ_SP:                        Target Conditionals. (line 712)
* TARGET_REGION_OK_FOR_HW_WATCHPOINT:    Algorithms.          (line 372)
* target_remove_breakpoint:              Algorithms.          (line 238)
* target_remove_hw_breakpoint:           Algorithms.          (line 261)
* target_remove_watchpoint:              Algorithms.          (line 376)
* target_stopped_data_address:           Algorithms.          (line 393)
* targets:                               Existing Targets.    (line   6)
* TCP remote support:                    Host Definition.     (line  66)
* TDEPFILES:                             Adding a New Target. (line   8)
* terminal device:                       Host Definition.     (line 104)
* test suite:                            Testsuite.           (line   6)
* test suite organization:               Testsuite.           (line  79)
* trimming language-dependent code:      Language Support.    (line 101)
* tuple output functions:                User Interface.      (line 131)
* type:                                  Raw and Virtual Registers.
                                                              (line  72)
* type codes:                            Symbol Handling.     (line 172)
* types:                                 Coding.              (line 404)
* ui_out functions:                      User Interface.      (line  47)
* ui_out functions, usage examples:      User Interface.      (line 397)
* ui_out_field_core_addr:                User Interface.      (line 287)
* ui_out_field_fmt:                      User Interface.      (line 261)
* ui_out_field_fmt_int:                  User Interface.      (line 280)
* ui_out_field_int:                      User Interface.      (line 273)
* ui_out_field_skip:                     User Interface.      (line 351)
* ui_out_field_stream:                   User Interface.      (line 319)
* ui_out_field_string:                   User Interface.      (line 291)
* ui_out_flush:                          User Interface.      (line 391)
* ui_out_list_begin:                     User Interface.      (line 234)
* ui_out_list_end:                       User Interface.      (line 240)
* ui_out_message:                        User Interface.      (line 375)
* ui_out_spaces:                         User Interface.      (line 370)
* ui_out_stream_delete:                  User Interface.      (line 314)
* ui_out_table_begin:                    User Interface.      (line 165)
* ui_out_table_body:                     User Interface.      (line 191)
* ui_out_table_end:                      User Interface.      (line 194)
* ui_out_table_header:                   User Interface.      (line 178)
* ui_out_text:                           User Interface.      (line 357)
* ui_out_tuple_begin:                    User Interface.      (line 210)
* ui_out_tuple_end:                      User Interface.      (line 216)
* ui_out_wrap_hint:                      User Interface.      (line 381)
* ui_stream:                             User Interface.      (line 308)
* UINT_MAX:                              Host Definition.     (line 120)
* ULONG_MAX:                             Host Definition.     (line 121)
* USG:                                   Host Definition.     (line 188)
* using ui_out functions:                User Interface.      (line 397)
* value_as_address:                      Pointers and Addresses.
                                                              (line  84)
* value_from_pointer:                    Pointers and Addresses.
                                                              (line  93)
* VEC:                                   Support Libraries.   (line 131)
* vendor branches:                       Versions and Branches.
                                                              (line 108)
* virtual register representation:       Raw and Virtual Registers.
                                                              (line   6)
* void:                                  GDB Observers.       (line  67)
* volatile:                              Host Definition.     (line 196)
* watchpoints:                           Algorithms.          (line 300)
* watchpoints, on x86:                   Algorithms.          (line 474)
* watchpoints, with threads:             Algorithms.          (line 450)
* word-addressed machines:               Pointers and Addresses.
                                                              (line   6)
* wrap_here:                             Coding.              (line 190)
* writing tests:                         Testsuite.           (line 131)
* x86 debug registers:                   Algorithms.          (line 474)
* XCOFF format:                          Symbol Handling.     (line 236)


