#include "floatformat.h"
-/* Implementation of extract return value that grubs around in the
- register cache. */
-void
-legacy_extract_return_value (struct type *type, struct regcache *regcache,
- gdb_byte *valbuf)
-{
- gdb_byte *registers = deprecated_grub_regcache_for_registers (regcache);
- gdb_byte *buf = valbuf;
- DEPRECATED_EXTRACT_RETURN_VALUE (type, registers, buf); /* OK */
-}
-
-/* Implementation of store return value that grubs the register cache.
- Takes a local copy of the buffer to avoid const problems. */
-void
-legacy_store_return_value (struct type *type, struct regcache *regcache,
- const gdb_byte *buf)
-{
- gdb_byte *b = alloca (TYPE_LENGTH (type));
- gdb_assert (regcache == current_regcache);
- memcpy (b, buf, TYPE_LENGTH (type));
- DEPRECATED_STORE_RETURN_VALUE (type, b);
-}
-
int
always_use_struct_convention (int gcc_p, struct type *value_type)
{
return (lhs > rhs);
}
-
-/* Helper functions for TARGET_{FLOAT,DOUBLE}_FORMAT */
-
-const struct floatformat *
-default_float_format (struct gdbarch *gdbarch)
-{
- int byte_order = gdbarch_byte_order (gdbarch);
- switch (byte_order)
- {
- case BFD_ENDIAN_BIG:
- return &floatformat_ieee_single_big;
- case BFD_ENDIAN_LITTLE:
- return &floatformat_ieee_single_little;
- default:
- internal_error (__FILE__, __LINE__,
- _("default_float_format: bad byte order"));
- }
-}
-
-
-const struct floatformat *
-default_double_format (struct gdbarch *gdbarch)
-{
- int byte_order = gdbarch_byte_order (gdbarch);
- switch (byte_order)
- {
- case BFD_ENDIAN_BIG:
- return &floatformat_ieee_double_big;
- case BFD_ENDIAN_LITTLE:
- return &floatformat_ieee_double_little;
- default:
- internal_error (__FILE__, __LINE__,
- _("default_double_format: bad byte order"));
- }
-}
-
/* Misc helper functions for targets. */
CORE_ADDR
generic_register_size (int regnum)
{
gdb_assert (regnum >= 0 && regnum < NUM_REGS + NUM_PSEUDO_REGS);
- return TYPE_LENGTH (gdbarch_register_type (current_gdbarch, regnum));
+ return TYPE_LENGTH (register_type (current_gdbarch, regnum));
}
/* Assume all registers are adjacent. */
int
default_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
{
- if (DEPRECATED_REG_STRUCT_HAS_ADDR_P ()
- && DEPRECATED_REG_STRUCT_HAS_ADDR (processing_gcc_compilation, type))
- {
- CHECK_TYPEDEF (type);
-
- return (TYPE_CODE (type) == TYPE_CODE_STRUCT
- || TYPE_CODE (type) == TYPE_CODE_UNION
- || TYPE_CODE (type) == TYPE_CODE_SET
- || TYPE_CODE (type) == TYPE_CODE_BITSTRING);
- }
-
return 0;
}
show_endian (struct ui_file *file, int from_tty, struct cmd_list_element *c,
const char *value)
{
- if (target_byte_order_user != BFD_ENDIAN_UNKNOWN)
+ if (target_byte_order_user == BFD_ENDIAN_UNKNOWN)
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
fprintf_unfiltered (file, _("The target endianness is set automatically "
"(currently big endian)\n"));