+/* See arc-tdep.h. */
+
+const target_desc *
+arc_read_description (arc_sys_type sys_type)
+{
+ if (arc_debug)
+ debug_printf ("arc: Reading target description for \"%s\".\n",
+ arc_sys_type_to_str (sys_type));
+
+ gdb_assert ((sys_type >= 0) && (sys_type < ARC_SYS_TYPE_NUM));
+ struct target_desc *tdesc = tdesc_arc_list[sys_type];
+
+ if (tdesc == nullptr)
+ {
+ tdesc = arc_create_target_description (sys_type);
+ tdesc_arc_list[sys_type] = tdesc;
+
+ if (arc_debug)
+ {
+ const char *arch = tdesc_architecture_name (tdesc);
+ const char *abi = tdesc_osabi_name (tdesc);
+ arch = arch != NULL ? arch : "";
+ abi = abi != NULL ? abi : "";
+ debug_printf ("arc: Created target description for "
+ "\"%s\": arch=\"%s\", ABI=\"%s\"\n",
+ arc_sys_type_to_str (sys_type), arch, abi);
+ }
+ }
+
+ return tdesc;
+}
+
+void _initialize_arc_tdep ();