minor xcoff changes
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 15 Apr 1993 00:33:51 +0000 (00:33 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 15 Apr 1993 00:33:51 +0000 (00:33 +0000)
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo

index fb472ba2cca6857f47ba71e009a159a0ac4193de..5fba6c864cf2911817195cf709a028a3fa776156 100644 (file)
@@ -1,3 +1,7 @@
+Wed Apr 14 17:31:00 1993  Jim Kingdon  (kingdon@cygnus.com)
+
+       * gdbint.texinfo: Minor xcoff stuff.
+
 Wed Apr  7 14:11:07 1993  Fred Fish  (fnf@cygnus.com)
 
        * gdbint.texinfo:  Update for new config directory structure.
index 3578ef14a9230985b97ba8ef939c743bcdcf7124..708b5d2622bb02a018a0c69a1d59fb56ec8a0233 100644 (file)
@@ -76,6 +76,7 @@ GDB as you discover it (or as you design changes to GDB).
 * Languages::                  Defining New Source Languages
 * Releases::                   Configuring GDB for Release
 * Partial Symbol Tables::      How GDB reads symbols quickly at startup
+* Types::                      How GDB keeps track of types
 * BFD support for GDB::                How BFD and GDB interface
 * Symbol Reading::             Defining New Symbol Readers
 * Cleanups::                   Cleanups
@@ -147,9 +148,9 @@ conventions.
 
 Host-Dependent Files
 @table @file
-@item  config/*.mh
+@item  config/*/*.mh
 Sets Makefile parameters
-@item  xm-*.h
+@item  config/*/xm-*.h
 Global #include's and #define's and definitions
 @item  *-xdep.c
 Global variables and functions
@@ -157,9 +158,9 @@ Global variables and functions
 
 Native-Dependent Files
 @table @file
-@item  config/*.mh
+@item  config/*/*.mh
 Sets Makefile parameters (for @emph{both} host and native)
-@item  nm-*.h
+@item  config/*/nm-*.h
 #include's and #define's and definitions.  This file
 is only included by the small number of modules that need it,
 so beware of doing feature-test #define's from its macros.
@@ -169,9 +170,9 @@ global variables and functions
 
 Target-Dependent Files
 @table @file
-@item  config/*.mt
+@item  config/*/*.mt
 Sets Makefile parameters
-@item  tm-*.h
+@item  config/*/tm-*.h
 Global #include's and #define's and definitions
 @item  *-tdep.c
 Global variables and functions
@@ -180,7 +181,7 @@ Global variables and functions
 At this writing, most supported hosts have had their host and native
 dependencies sorted out properly.  There are a few stragglers, which
 can be recognized by the absence of NATDEPFILES lines in their
-@file{config/*.mh}.
+@file{config/*/*.mh}.
 
 @node Config
 @chapter Adding a New Configuration
@@ -277,7 +278,7 @@ and @pxref{Native,,Adding a New Native Configuration}
 Several files control GDB's configuration for host systems:
 
 @table @file
-@item gdb/config/mh-@var{xxx}
+@item gdb/config/@var{arch}/@var{xxx}.mh
 Specifies Makefile fragments needed when hosting on machine @var{xxx}.
 In particular, this lists the required machine-dependent object files,
 by defining @samp{XDEPFILES=@dots{}}.  Also
@@ -287,7 +288,7 @@ specifies the header file which describes host @var{xxx}, by defining
 @samp{XM_ADD_FILES}, @samp{XM_CLIBS}, @samp{XM_CDEPS},
 etc.; see @file{Makefile.in}.
 
-@item gdb/xm-@var{xxx}.h
+@item gdb/config/@var{arch}/xm-@var{xxx}.h
 (@file{xm.h} is a link to this file, created by configure).
 Contains C macro definitions describing the host system environment,
 such as byte order, host C compiler and library, ptrace support,
@@ -360,7 +361,7 @@ plenty more work to do.  Several files control GDB's configuration for
 native support:
 
 @table @file
-@item gdb/config/@var{xxx}.mh
+@item gdb/config/@var{xarch}/@var{xxx}.mh
 Specifies Makefile fragments needed when hosting @emph{or native}
 on machine @var{xxx}.
 In particular, this lists the required native-dependent object files,
@@ -371,7 +372,7 @@ You can also define @samp{NAT_CFLAGS},
 @samp{NAT_ADD_FILES}, @samp{NAT_CLIBS}, @samp{NAT_CDEPS},
 etc.; see @file{Makefile.in}.
 
-@item gdb/nm-@var{xxx}.h
+@item gdb/config/@var{arch}/nm-@var{xxx}.h
 (@file{nm.h} is a link to this file, created by configure).
 Contains C macro definitions describing the native system environment,
 such as child process control and core file support.
@@ -479,7 +480,7 @@ target is the same as your new host, you've probably already done that.
 A variety of files specify attributes of the GDB target environment:
 
 @table @file
-@item gdb/config/@var{ttt}.mt
+@item gdb/config/@var{arch}/@var{ttt}.mt
 Contains a Makefile fragment specific to this target.
 Specifies what object files are needed for target @var{ttt}, by
 defining @samp{TDEPFILES=@dots{}}.
@@ -488,7 +489,7 @@ Also specifies the header file which describes @var{ttt}, by defining
 @samp{TM_CLIBS}, @samp{TM_CDEPS},
 and other Makefile variables here; see @file{Makefile.in}.
 
-@item gdb/tm-@var{ttt}.h
+@item gdb/config/@var{arch}/tm-@var{ttt}.h
 (@file{tm.h} is a link to this file, created by configure).
 Contains macro definitions about the target machine's
 registers, stack frame format and instructions.
@@ -523,7 +524,7 @@ it is only included in one place.  @file{@var{arch}-opcode.h} is shared
 between the debugger and the assembler, if the GNU assembler has been
 ported to the target machine.
 
-@item gdb/tm-@var{arch}.h
+@item gdb/config/@var{arch}/tm-@var{arch}.h
 This often exists to describe the basic layout of the target machine's
 processor chip (registers, stack, etc).
 If used, it is included by @file{tm-@var{xxx}.h}.  It can
@@ -806,6 +807,37 @@ are allocated in a pair of large arrays on an obstack, so there is
 little to be gained by trying to free them unless you want to do a lot
 more work.
 
+@node Types
+@chapter Types
+
+Fundamental Types (e.g., FT_VOID, FT_BOOLEAN).
+
+These are the fundamental types that gdb uses internally.  Fundamental
+types from the various debugging formats (stabs, ELF, etc) are mapped into
+one of these.  They are basically a union of all fundamental types that
+gdb knows about for all the languages that gdb knows about.
+
+Type Codes (e.g., TYPE_CODE_PTR, TYPE_CODE_ARRAY).
+
+Each time gdb builds an internal type, it marks it with one of these
+types.  The type may be a fundamental type, such as TYPE_CODE_INT, or
+a derived type, such as TYPE_CODE_PTR which is a pointer to another
+type.  Typically, several FT_* types map to one TYPE_CODE_* type, and
+are distinguished by other members of the type struct, such as whether
+the type is signed or unsigned, and how many bits it uses.
+
+Builtin Types (e.g., builtin_type_void, builtin_type_char).
+
+These are instances of type structs that roughly correspond to fundamental
+types and are created as global types for gdb to use for various ugly
+historical reasons.  We eventually want to eliminate these.  Note for
+example that builtin_type_int initialized in gdbtypes.c is basically the
+same as a TYPE_CODE_INT type that is initialized in c-lang.c for an
+FT_INTEGER fundamental type.  The difference is that the builtin_type is
+not associated with any particular objfile, and only one instance exists,
+while c-lang.c builds as many TYPE_CODE_INT types as needed, with each
+one associated with some particular objfile.
+
 @node BFD support for GDB
 @chapter Binary File Descriptor Library Support for GDB
 
@@ -1361,9 +1393,9 @@ solib.c
 @item BLOCK_ADDRESS_ABSOLUTE
 dbxread.c
 @item BPT_VECTOR
-tm-68k.h
+tm-m68k.h
 @item BREAKPOINT
-tm-68k.h
+tm-m68k.h
 @item BREAKPOINT_DEBUG
 breakpoint.c
 @item BROKEN_LARGE_ALLOCA
@@ -1406,8 +1438,6 @@ infrun.c
 regex.c
 @item C_GLBLREG
 coffread.c
-@item DAMON
-xcoffexec.c
 @item DBXREAD_ONLY
 partial-stab.h
 @item DBX_PARM_SYMBOL_CLASS
@@ -1441,7 +1471,7 @@ dbxread.c
 @item EXTERN
 buildsym.h
 @item EXTRACT_RETURN_VALUE
-tm-68k.h
+tm-m68k.h
 @item EXTRACT_STRUCT_VALUE_ADDRESS
 values.c
 @item EXTRA_FRAME_INFO
@@ -1477,7 +1507,7 @@ stack.c
 @item FRAME_GET_BASEREG_VALUE
 frame.h
 @item FRAME_NUM_ARGS
-tm-68k.h
+tm-m68k.h
 @item FRAME_SPECIFICATION_DYADIC
 stack.c
 @item FUNCTION_EPILOGUE_SIZE
@@ -1637,8 +1667,6 @@ remote-adapt.c
 remote-mm.c
 @item NOTICE_SIGNAL_HANDLING_CHANGE
 infrun.c
-@item NO_DEFINE_SYMBOL
-xcoffread.c
 @item NO_HIF_SUPPORT
 remote-mm.c
 @item NO_JOB_CONTROL
@@ -1652,7 +1680,7 @@ library can't cope with our redefinition of @code{malloc} to call
 @code{mmalloc}.  When defining @code{NO_MMALLOC}, you will also have
 to override the setting of @code{MMALLOC_LIB} to empty, in the Makefile.
 Therefore, this define is usually set on the command line by overriding
-@code{MMALLOC_DISABLE} in @file{config/*.mh}, rather than by defining
+@code{MMALLOC_DISABLE} in @file{config/*/*.mh}, rather than by defining
 it in @file{xm-*.h}.
 @item NO_MMALLOC_CHECK
 Define this if you are using @code{mmalloc}, but don't want the overhead
@@ -1661,10 +1689,6 @@ of checking the heap with @code{mmcheck}.
 remote-adapt.c
 @item NO_SINGLE_STEP
 infptrace.c
-@item NO_TYPEDEFS
-xcoffread.c
-@item NO_TYPEDEFS
-xcoffread.c
 @item NPC_REGNUM
 infcmd.c
 @item NS32K_SVC_IMMED_OPERANDS
@@ -1755,7 +1779,7 @@ regex.c
 @item SIGTRAP_STOP_AFTER_LOAD
 infrun.c
 @item SKIP_PROLOGUE
-tm-68k.h
+tm-m68k.h
 @item SKIP_PROLOGUE_FRAMELESS_P
 blockframe.c
 @item SKIP_TRAMPOLINE_CODE
@@ -1777,7 +1801,7 @@ infrun.c
 @item STOP_SIGNAL
 main.c
 @item STORE_RETURN_VALUE
-tm-68k.h
+tm-m68k.h
 @item SUN4_COMPILER_FEATURE
 infrun.c
 @item SUN_FIXED_LBRAC_BUG
@@ -1964,9 +1988,9 @@ solib.c
 @item BLOCK_ADDRESS_ABSOLUTE
 dbxread.c
 @item BPT_VECTOR
-tm-68k.h
+tm-m68k.h
 @item BREAKPOINT
-tm-68k.h
+tm-m68k.h
 @item BREAKPOINT_DEBUG
 breakpoint.c
 @item BSTRING
@@ -2003,8 +2027,6 @@ infrun.c
 regex.c
 @item C_GLBLREG
 coffread.c
-@item DAMON
-xcoffexec.c
 @item DBXREAD_ONLY
 partial-stab.h
 @item DBX_PARM_SYMBOL_CLASS
@@ -2038,7 +2060,7 @@ dbxread.c
 @item EXTERN
 buildsym.h
 @item EXTRACT_RETURN_VALUE
-tm-68k.h
+tm-m68k.h
 @item EXTRACT_STRUCT_VALUE_ADDRESS
 values.c
 @item EXTRA_FRAME_INFO
@@ -2076,7 +2098,7 @@ stack.c
 @item FRAME_GET_BASEREG_VALUE
 frame.h
 @item FRAME_NUM_ARGS
-tm-68k.h
+tm-m68k.h
 @item FRAME_SPECIFICATION_DYADIC
 stack.c
 @item FUNCTION_EPILOGUE_SIZE
@@ -2228,8 +2250,6 @@ remote-adapt.c
 remote-mm.c
 @item NOTICE_SIGNAL_HANDLING_CHANGE
 infrun.c
-@item NO_DEFINE_SYMBOL
-xcoffread.c
 @item NO_HIF_SUPPORT
 remote-mm.c
 @item NO_SIGINTERRUPT
@@ -2237,9 +2257,8 @@ remote-adapt.c
 @item NO_SINGLE_STEP
 infptrace.c
 @item NO_TYPEDEFS
-xcoffread.c
-@item NO_TYPEDEFS
-xcoffread.c
+xcoffread.c--This causes types not to be read, to save memory and speed
+things up.
 @item NPC_REGNUM
 infcmd.c
 @item NS32K_SVC_IMMED_OPERANDS
@@ -2313,7 +2332,7 @@ regex.c
 @item SIGTRAP_STOP_AFTER_LOAD
 infrun.c
 @item SKIP_PROLOGUE
-tm-68k.h
+tm-m68k.h
 @item SKIP_PROLOGUE_FRAMELESS_P
 blockframe.c
 @item SKIP_TRAMPOLINE_CODE
@@ -2335,7 +2354,7 @@ infrun.c
 @item STOP_SIGNAL
 main.c
 @item STORE_RETURN_VALUE
-tm-68k.h
+tm-m68k.h
 @item SUN4_COMPILER_FEATURE
 infrun.c
 @item SUN_FIXED_LBRAC_BUG
@@ -2535,12 +2554,13 @@ symbols are dbx-style stabs whose strings are located in the
 indicated with a @samp{C_FILE} symbol (.file) which is analogous to
 @samp{N_SO}; include files are delimited with @samp{C_BINCL} (.bi) and
 @samp{C_EINCL} (.ei) which correspond to @samp{N_SOL} rather than Sun's
-@samp{N_BINCL}.  The values of the @samp{C_BINCL} and @samp{C_EINCL}
-symbols are offsets into the executable file which point to the
-beginning and the end of the portion of the linetable which correspond
-to this include file (warning: C_EINCL is @emph{inclusive} not exclusive
-like most end of something pointers).  Other differences from standard
-stabs include the use of negative type numbers for builtin types.
+@samp{N_BINCL} (that is, they don't nest and there is no equivalent to
+N_EXCL).  The values of the @samp{C_BINCL} and @samp{C_EINCL} symbols
+are offsets into the executable file which point to the beginning and
+the end of the portion of the linetable which correspond to this include
+file (warning: C_EINCL is inclusive not exclusive like most end of
+something pointers).  Other differences from standard stabs include the
+use of negative type numbers for builtin types.
 
 The shared library scheme has a nice clean interface for figuring out
 what shared libraries are in use, but the catch is that everything which