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.
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.
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:
GDBINIT_FILENAME
NO_STD_REGS
SIGWINCH_HANDLER
SIGWINCH
, you can define this to be the name
of a function to be called if SIGWINCH
is received.
SIGWINCH_HANDLER_BODY
SIGWINCH_HANDLER
.
ALIGN_STACK_ON_STARTUP
tgetent
if the stack happens not to be longword-aligned when
main
is called. This is a rare situation, but is known to occur
on several different types of systems.
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_RB
HAVE_MMAP
mmap
for reading symbol
tables. For some machines this allows for sharing and quick updates.
HAVE_TERMIO
termio.h
.
INT_MAX
INT_MIN
LONG_MAX
UINT_MAX
ULONG_MAX
ISATTY
LONGEST
long long
or long
, depending on
CC_HAS_LONG_LONG
.
CC_HAS_LONG_LONG
long long
. This is set
by the configure
script.
PRINTF_HAS_LONG_LONG
ll
. This is set by the
configure
script.
HAVE_LONG_DOUBLE
long double
. This is
set by the configure
script.
PRINTF_HAS_LONG_DOUBLE
Lg
. This is
set by the configure
script.
SCANF_HAS_LONG_DOUBLE
Lg
. This is set by the configure
script.
LSEEK_NOT_LINEAR
lseek (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_SET
lseek
(or, most commonly,
bfd_seek
). FIXME, should be replaced by SEEK_SET instead,
which is the POSIX equivalent.
NORETURN
volatile
,
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_CUR
SEEK_SET
lseek
, if not already
defined.
STOP_SIGNAL
SIGTSTP
. (Only redefined for the Convex.)
USG
lint
lint
in some situations.
volatile
__volatile__
or
/**/
.
Go to the first, previous, next, last section, table of contents.