Exemple #1
0
static CORE_ADDR
iq2000_pointer_to_address (struct type * type, const void * buf)
{
    enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
    CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));

    if (target == TYPE_CODE_FUNC
            || target == TYPE_CODE_METHOD
            || (TYPE_FLAGS (TYPE_TARGET_TYPE (type)) & TYPE_FLAG_CODE_SPACE) != 0)
        addr = insn_addr_from_ptr (addr);

    return addr;
}
Exemple #2
0
static CORE_ADDR
iq2000_pointer_to_address (struct gdbarch *gdbarch,
			   struct type * type, const gdb_byte * buf)
{
  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
  enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
  CORE_ADDR addr
    = extract_unsigned_integer (buf, TYPE_LENGTH (type), byte_order);

  if (target == TYPE_CODE_FUNC
      || target == TYPE_CODE_METHOD
      || TYPE_CODE_SPACE (TYPE_TARGET_TYPE (type)))
    addr = insn_addr_from_ptr (addr);

  return addr;
}