A set of values in struct gdbarch define how different data types are represented within the architecture.
short_bit
. Number of bits in a C/C++
short variable. Default is
2*TARGET_CHAR_BIT
.
TARGET_CHAR_BIT
is a defined constant, which
if not set explicitly defaults to 8.
int_bit
, long_bit
,
long_long_bit
, float_bit
,
double_bit
,
long_double_bit
. These are analogous to
short
and are the number of bits in a C/C++
variable of the corresponding time. Defaults are
4*TARGET_CHAR_BIT
for int,
long and float and
4*TARGET_CHAR_BIT
for long long,
double and long double.
ptr_bit
. Number of bits in a C/C++
pointer. Default is 4*TARGET_CHAR_BIT
.
addr_bit
. Number of bits in a C/C++
address. Almost always this is the same as the number of bits in
a pointer, but there are a small number of architectures for
which pointers cannot reach all addresses. Default is
4*TARGET_CHAR_BIT
.
float_format
,
double_format
and
long_double_format
. These point to an array
of C struct
s (one for each endianism),
defining the format for each of the floating point types. A
number of these arrays are predefined. They in turn are built on
top of a set of standard types defined by the library
libiberty.
char_signed
. 1 if char to be
treated as signed, 0 if char is to be treated as
unsigned. The default is -1 (undefined), so this should always
be set.