minor xcoff changes

This commit is contained in:
Jim Kingdon 1993-04-15 00:33:51 +00:00
parent 486b440e04
commit 3a8bc841b0
2 changed files with 72 additions and 48 deletions

View 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.

View 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