19#include "gdbsupport/common-defs.h"
22#include <unordered_map>
32#define STATIC_IN_GDB static
43#ifndef IN_PROCESS_AGENT
44 std::string arch_name;
49 arch_name =
"arc:ARC700";
51 arch_name =
"arc:ARCv2";
54 std::string msg = string_printf
55 (
"Cannot determine architecture: ISA=%d; bitness=%d",
57 gdb_assert_not_reached (
"%s", msg.c_str ());
76 std::string msg = string_printf
77 (
"Cannot choose target description XML: %d", features.
isa);
78 gdb_assert_not_reached (
"%s", msg.c_str ());
92 return features.hash ();
112 return it->second.get ();
STATIC_IN_GDB target_desc_up arc_create_target_description(const struct arc_arch_features &features)
static std::unordered_map< arc_arch_features, const target_desc_up, arc_arch_features_hasher > arc_tdesc_cache
const target_desc * arc_lookup_target_description(const struct arc_arch_features &features)
std::size_t operator()(const arc_arch_features &features) const noexcept
void set_tdesc_architecture(struct target_desc *target_desc, const char *name)
target_desc_up allocate_target_description(void)
static int create_feature_arc_v1_aux(struct target_desc *result, long regnum)
static int create_feature_arc_v1_core(struct target_desc *result, long regnum)
static int create_feature_arc_v2_aux(struct target_desc *result, long regnum)
static int create_feature_arc_v2_core(struct target_desc *result, long regnum)