[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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
NO_SYS_FILE
<sys/file.h>
.
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"
.
FCLOSE_PROVIDED
fclose
in the headers included
in defs.h
. This isn't needed unless your compiler is unusually
anal.
FOPEN_RB
GETENV_PROVIDED
getenv
in its headers included
in defs.h
. This isn't needed unless your compiler is unusually
anal.
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.
MMAP_BASE_ADDRESS
MMAP_INCREMENT
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.
USE_GENERIC_DUMMY_FRAMES
blockframe.c
for more information.
USE_MMALLOC
mmalloc
library for memory allocation
for symbol reading if this symbol is defined. Be careful defining it
since there are systems on which mmalloc
does not work for some
reason. One example is the DECstation, where its RPC library can't
cope with our redefinition of malloc
to call mmalloc
.
When defining USE_MMALLOC
, you will also have to set
MMALLOC
in the Makefile, to point to the mmalloc
library. This
define is set when you configure with `--with-mmalloc'.
NO_MMCHECK
mmalloc
, but don't want the overhead
of checking the heap with mmcheck
. Note that on some systems,
the C runtime makes calls to malloc
prior to calling main
, and if
free
is ever called with these pointers after calling
mmcheck
to enable checking, a memory corruption abort is certain
to occur. These systems can still use mmalloc
, but must define
NO_MMCHECK
.
MMCHECK_FORCE
mmcheck
being called, but that memory is never freed so we don't
have to worry about it triggering a memory corruption abort. The
default is 0, which means that mmcheck
will only install the heap
checking functions if there has not yet been any memory allocation
calls, and if it fails to install the functions, GDB will issue a
warning. This is currently defined if you configure using
`--with-mmalloc'.
NO_SIGINTERRUPT
siginterrupt
is not available.
SEEK_CUR
SEEK_SET
lseek
, if not already
defined.
STOP_SIGNAL
SIGTSTP
. (Only redefined for the Convex.)
USE_O_NOCTTY
O_NOCTTY
flag. (FIXME: This should be a native-only flag, but `inflow.c' is
always linked in.)
USG
lint
lint
in some situations.
volatile
__volatile__
or
/**/
.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
These pages are maintained by the GDB developers.
Copyright Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
This document was generated by GDB Administrator on October, 18 2002 using texi2html