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; }
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; }