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 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.
(Files named gdb/config/arch/xm-xyz.h were once used to define host-specific macros, but were no longer needed and have all been removed.)
There are some “generic” versions of routines that can be used by various systems.
When gdb is configured and compiled, various macros are
defined or left undefined, to control compilation based on the
attributes of the host system. While formerly they could be set in
host-specific header files, at present they can be changed only by
setting CFLAGS
when building, or by editing the source code.
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_FILENAME
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
.
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"
.
ISATTY
FOPEN_RB
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.
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.
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.
lint
lint
in some situations.
volatile
__volatile__
or
/**/
.