tconfig and xconfig => config
This commit is contained in:
parent
6cf7ab940a
commit
8cc1c08ffc
|
@ -73,6 +73,7 @@ are preserved on all copies.
|
||||||
* Symbol Reading:: Defining New Symbol Readers
|
* Symbol Reading:: Defining New Symbol Readers
|
||||||
* Cleanups:: Cleanups
|
* Cleanups:: Cleanups
|
||||||
* Wrapping:: Wrapping Output Lines
|
* Wrapping:: Wrapping Output Lines
|
||||||
|
* Frames:: Keeping track of function calls
|
||||||
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
@ -102,8 +103,8 @@ executes. In most cases they are the same machine; unfortunately, that
|
||||||
means you must add @emph{both} host and target support for new machines
|
means you must add @emph{both} host and target support for new machines
|
||||||
in this category.
|
in this category.
|
||||||
|
|
||||||
The @file{xconfig/*}, @file{xm-*.h} and @file{*-xdep.c} files are for
|
The @file{config/mh-*}, @file{xm-*.h} and @file{*-xdep.c} files are for
|
||||||
host support. Similarly, the @file{tconfig/*}, @file{tm-*.h} and
|
host support. Similarly, the @file{config/mt-*}, @file{tm-*.h} and
|
||||||
@file{*-tdep.c} files are for target support. The question is, what
|
@file{*-tdep.c} files are for target support. The question is, what
|
||||||
features or aspects of a debugging or cross-debugging environment are
|
features or aspects of a debugging or cross-debugging environment are
|
||||||
considered to be ``host'' support?
|
considered to be ``host'' support?
|
||||||
|
@ -170,17 +171,17 @@ file @file{h-@var{xxx}.h} to be linked to @file{sysdep.h} at configuration
|
||||||
time.
|
time.
|
||||||
|
|
||||||
Also, if this host requires any changes to the Makefile, create a file
|
Also, if this host requires any changes to the Makefile, create a file
|
||||||
@file{bfd/config/hm-@var{xxx}}, which includes the required lines.
|
@file{bfd/config/mh-@var{xxx}}, which includes the required lines.
|
||||||
|
|
||||||
(If you have the binary utilities and/or GNU ld in the same tree,
|
(If you have the binary utilities and/or GNU ld in the same tree,
|
||||||
you'll also have to edit @file{binutils/configure.in} or
|
you'll also have to edit @file{binutils/configure.in} or
|
||||||
@file{ld/configure.in} to match what you've done in the @file{bfd}
|
@file{ld/configure.in} to match what you've done in the @file{bfd}
|
||||||
directory.)
|
directory.)
|
||||||
|
|
||||||
It's likely that the @file{libiberty} and @file{readline} directories
|
It's possible that the @file{libiberty} and @file{readline} directories
|
||||||
won't need any changes for your configuration, but if they do, you can
|
won't need any changes for your configuration, but if they do, you can
|
||||||
change the @file{configure.in} file there to recognize your system and
|
change the @file{configure.in} file there to recognize your system and
|
||||||
map to an @file{hm-@var{xxx}} file. Then add @file{hm-@var{xxx}}
|
map to an @file{mh-@var{xxx}} file. Then add @file{mh-@var{xxx}}
|
||||||
to the @file{config/} subdirectory, to set any makefile variables you
|
to the @file{config/} subdirectory, to set any makefile variables you
|
||||||
need. The only current options in there are things like @samp{-DSYSV}.
|
need. The only current options in there are things like @samp{-DSYSV}.
|
||||||
|
|
||||||
|
@ -195,8 +196,8 @@ per-target}.
|
||||||
@c *scripts*, and call them from {configure} ?
|
@c *scripts*, and call them from {configure} ?
|
||||||
|
|
||||||
Finally, you'll need to specify and define GDB's host- and
|
Finally, you'll need to specify and define GDB's host- and
|
||||||
target-dependent files used for your configuration; the next two
|
target-dependent @file{.h} and @file{.c} files used for your
|
||||||
chapters discuss those.
|
configuration; the next two chapters discuss those.
|
||||||
|
|
||||||
|
|
||||||
@node Host, Target, Config, Top
|
@node Host, Target, Config, Top
|
||||||
|
@ -216,10 +217,11 @@ files, and interfaces to processes. @pxref{Target,,Adding a New Target}
|
||||||
Several files control GDB's configuration for host systems:
|
Several files control GDB's configuration for host systems:
|
||||||
|
|
||||||
@table @file
|
@table @file
|
||||||
@item gdb/xconfig/@var{xxx}
|
@item gdb/config/mh-@var{xxx}
|
||||||
Specifies what object files are needed when hosting on machine @var{xxx},
|
Specifies Makefile fragments needed when hosting on machine @var{xxx}.
|
||||||
by defining the makefile macro @samp{XDEPFILES=@dots{}}. Also
|
In particular, this lists the required machine-dependent object files,
|
||||||
specifies the header file which describes @var{xxx}, by defining
|
by defining @samp{XDEPFILES=@dots{}}. Also
|
||||||
|
specifies the header file which describes host @var{xxx}, by defining
|
||||||
@samp{XM_FILE= xm-@var{xxx}.h}. You can also define @samp{CC},
|
@samp{XM_FILE= xm-@var{xxx}.h}. You can also define @samp{CC},
|
||||||
@samp{REGEX} and @samp{REGEX1}, @samp{SYSV_DEFINE}, @samp{XM_CFLAGS},
|
@samp{REGEX} and @samp{REGEX1}, @samp{SYSV_DEFINE}, @samp{XM_CFLAGS},
|
||||||
@samp{XM_ADD_FILES}, @samp{XM_CLIBS}, @samp{XM_CDEPS},
|
@samp{XM_ADD_FILES}, @samp{XM_CLIBS}, @samp{XM_CDEPS},
|
||||||
|
@ -279,10 +281,10 @@ implementations simply locate the registers themselves.@refill
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
Object files needed when the target system is an @var{xxx} are listed
|
Object files needed when the target system is an @var{xxx} are listed
|
||||||
in the file @file{tconfig/@var{xxx}}, in the makefile macro
|
in the file @file{config/mt-@var{xxx}}, in the makefile macro
|
||||||
@samp{TDEPFILES = }@dots{}. The header file that defines the target
|
@samp{TDEPFILES = }@dots{}. The header file that defines the target
|
||||||
system should be called @file{tm-@var{xxx}.h}, and should be specified
|
system should be called @file{tm-@var{xxx}.h}, and should be specified
|
||||||
as the value of @samp{TM_FILE} in @file{tconfig/@var{xxx}}. You can
|
as the value of @samp{TM_FILE} in @file{config/mt-@var{xxx}}. You can
|
||||||
also define @samp{TM_CFLAGS}, @samp{TM_CLIBS}, and @samp{TM_CDEPS} in
|
also define @samp{TM_CFLAGS}, @samp{TM_CLIBS}, and @samp{TM_CDEPS} in
|
||||||
there; see @file{Makefile.in}.
|
there; see @file{Makefile.in}.
|
||||||
|
|
||||||
|
@ -341,15 +343,15 @@ For a new target called @var{ttt}, first specify the configuration as
|
||||||
described in @ref{Config,,Adding a New Configuration}. If your new
|
described in @ref{Config,,Adding a New Configuration}. If your new
|
||||||
target is the same as your new host, you've probably already done that.
|
target is the same as your new host, you've probably already done that.
|
||||||
|
|
||||||
A variety of files specify attributes of the target environment:
|
A variety of files specify attributes of the GDB target environment:
|
||||||
|
|
||||||
@table @file
|
@table @file
|
||||||
@item gdb/tconfig/@var{ttt}
|
@item gdb/config/mt-@var{ttt}
|
||||||
|
Contains a Makefile fragment specific to this target.
|
||||||
Specifies what object files are needed for target @var{ttt}, by
|
Specifies what object files are needed for target @var{ttt}, by
|
||||||
defining the makefile macro @samp{TDEPFILES=@dots{}}.
|
defining @samp{TDEPFILES=@dots{}}.
|
||||||
Also specifies the header file which describes @var{ttt}, by defining
|
Also specifies the header file which describes @var{ttt}, by defining
|
||||||
@samp{TM_FILE= tm-@var{ttt}.h}. You can also define @samp{CC},
|
@samp{TM_FILE= tm-@var{ttt}.h}. You can also define @samp{TM_CFLAGS},
|
||||||
@samp{REGEX} and @samp{REGEX1}, @samp{SYSV_DEFINE}, @samp{TM_CFLAGS},
|
|
||||||
and other Makefile variables here; see @file{Makefile.in}.
|
and other Makefile variables here; see @file{Makefile.in}.
|
||||||
|
|
||||||
@item gdb/tm-@var{ttt}.h
|
@item gdb/tm-@var{ttt}.h
|
||||||
|
@ -771,13 +773,15 @@ unfiltered (``@code{printf}'') output. Symbol reading routines that print
|
||||||
warnings are a good example.
|
warnings are a good example.
|
||||||
|
|
||||||
|
|
||||||
@node Frames, , Cleanups, Top
|
@node Frames, , Wrapping, Top
|
||||||
@chapter Frames
|
@chapter Frames
|
||||||
|
|
||||||
A frame is a construct that GDB uses to keep track of calling and called
|
A frame is a construct that GDB uses to keep track of calling and called
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
FRAME_FP in the machine description has no meaning to the machine-independent
|
@table @code
|
||||||
|
@item FRAME_FP
|
||||||
|
in the machine description has no meaning to the machine-independent
|
||||||
part of GDB, except that it is used when setting up a new frame from
|
part of GDB, except that it is used when setting up a new frame from
|
||||||
scratch, as follows:
|
scratch, as follows:
|
||||||
|
|
||||||
|
@ -785,17 +789,18 @@ scratch, as follows:
|
||||||
create_new_frame (read_register (FP_REGNUM), read_pc ()));
|
create_new_frame (read_register (FP_REGNUM), read_pc ()));
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Other than that, all the meaning imparted to FP_REGNUM is imparted by
|
Other than that, all the meaning imparted to @code{FP_REGNUM} is imparted by
|
||||||
the machine-dependent code. So, FP_REGNUM can have any value that
|
the machine-dependent code. So, @code{FP_REGNUM} can have any value that
|
||||||
is convenient for the code that creates new frames. (create_new_frame
|
is convenient for the code that creates new frames. (@code{create_new_frame}
|
||||||
calls INIT_EXTRA_FRAME_INFO if it is defined; that is where you should
|
calls @code{INIT_EXTRA_FRAME_INFO} if it is defined; that is where you should
|
||||||
use the FP_REGNUM value, if your frames are nonstandard.)
|
use the @code{FP_REGNUM} value, if your frames are nonstandard.)
|
||||||
|
|
||||||
FRAME_CHAIN:
|
@item FRAME_CHAIN
|
||||||
|
Given a GDB frame, determine the address of the calling function's
|
||||||
Given a GDB frame, determine the address of the calling function's frame.
|
frame. This will be used to create a new GDB frame struct, and then
|
||||||
This will be used to create a new GDB frame struct, and then
|
@code{INIT_EXTRA_FRAME_INFO} and @code{INIT_FRAME_PC} will be called for
|
||||||
INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame.
|
the new frame.
|
||||||
|
@end table
|
||||||
|
|
||||||
@contents
|
@contents
|
||||||
@bye
|
@bye
|
||||||
|
|
Loading…
Reference in New Issue