Next: Target Architecture Definition, Previous: Language Support, Up: Top
With the advent of Autoconf, it's rarely necessary to have host definition machinery anymore. The following information is provided, mainly, as an historical reference.
gdb's host configuration support normally happens via Autoconf. New host-specific definitions should not be needed. Older hosts gdb still use the host-specific definitions and files listed below, but these mostly exist for historical reasons, and will eventually disappear.
Host configuration information included a definition of
XM_FILE=xm-xyz.h and possibly definitions for CC,
SYSV_DEFINE, XM_CFLAGS, XM_ADD_FILES,
XM_CLIBS, XM_CDEPS, etc.; see Makefile.in.
New host only configurations do not need this file.
New host and native configurations do not need this file.
Maintainer's note: Some hosts continue to use the xm-xyz.h file to define the macros HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT and HOST_LONG_DOUBLE_FORMAT. That code also needs to be replaced with either an Autoconf or run-time test.
There are some “generic” versions of routines that can be used by
various systems. These can be customized in various ways by macros
defined in your xm-xyz.h file. If these routines work for
the xyz host, you can just include the generic file's name (with
`.o', not `.c') in XDEPFILES.
Otherwise, if your machine needs custom support routines, you will need
to write routines that perform the same functions as the generic file.
Put them into xyz-xdep.c, and put xyz-xdep.o
into XDEPFILES.
SER_HARDWIRE; override this
variable in the .mh file to avoid it.
When gdb is configured and compiled, various macros are defined or left undefined, to control compilation based on the attributes of the host system. These macros and their meanings (or if the meaning is not documented here, then one of the source files where they are used is indicated) are:
INIT_FILENAMENO_STD_REGSSIGWINCH_HANDLERSIGWINCH, you can define this to be the name
of a function to be called if SIGWINCH is received.
SIGWINCH_HANDLER_BODYSIGWINCH_HANDLER.
CRLF_SOURCE_FILES\r\n rather than \n as a
line terminator. This will cause source file listings to omit \r
characters when printing and it will allow \r\n line endings of files
which are “sourced” by gdb. It must be possible to open files in binary
mode using O_BINARY or, for fopen, "rb".
DEFAULT_PROMPT"(gdb) ").
DEV_TTY"/dev/tty".
FOPEN_RBHAVE_MMAPmmap for reading symbol
tables. For some machines this allows for sharing and quick updates.
HAVE_TERMIOtermio.h.
INT_MAXINT_MINLONG_MAXUINT_MAXULONG_MAXLONGESTlong long or long, depending on
CC_HAS_LONG_LONG.
CC_HAS_LONG_LONGlong long. This is set
by the configure script.
PRINTF_HAS_LONG_LONGll. This is set by the
configure script.
HAVE_LONG_DOUBLElong double. This is
set by the configure script.
PRINTF_HAS_LONG_DOUBLELg. This is
set by the configure script.
SCANF_HAS_LONG_DOUBLELg. This is set by the configure script.
LSEEK_NOT_LINEARlseek (n) does not necessarily move to byte number
n in the file. This is only used when reading source files. It
is normally faster to define CRLF_SOURCE_FILES when possible.
L_SETlseek (or, most commonly,
bfd_seek). FIXME, should be replaced by SEEK_SET instead,
which is the POSIX equivalent.
NORETURNvolatile,
that can be used in both the declaration and definition of functions to
indicate that they never return. The default is already set correctly
if compiling with GCC. This will almost never need to be defined.
ATTR_NORETURN__attribute__ ((noreturn)), that can be used in the declarations
of functions to indicate that they never return. The default is already
set correctly if compiling with GCC. This will almost never need to be
defined.
SEEK_CURSEEK_SETlseek, if not already
defined.
STOP_SIGNALSIGTSTP. (Only redefined for the Convex.)
USGlintlint in some situations.
volatile__volatile__ or
/**/.