gdbserver: add aarch64_create_target_description
[deliverable/binutils-gdb.git] / gdb / gdbserver / linux-aarch64-low.c
index b00d5c502d2be67daf0e7f48025647f191efef3b..dcce287974cb6afd2f530ce1257dbbf25ed25ddc 100644 (file)
 
 #include "gdb_proc_service.h"
 #include "arch/aarch64.h"
+#include "linux-aarch64-tdesc.h"
 
 /* Defined in auto-generated files.  */
 void init_registers_aarch64 (void);
-extern const struct target_desc *tdesc_aarch64;
 
 #ifdef HAVE_SYS_REG_H
 #include <sys/reg.h>
@@ -467,11 +467,10 @@ aarch64_linux_new_fork (struct process_info *parent,
   *child->priv->arch_private = *parent->priv->arch_private;
 }
 
-/* Return the right target description according to the ELF file of
-   current thread.  */
+/* Implementation of linux_target_ops method "arch_setup".  */
 
-static const struct target_desc *
-aarch64_linux_read_description (void)
+static void
+aarch64_arch_setup (void)
 {
   unsigned int machine;
   int is_elf64;
@@ -482,17 +481,9 @@ aarch64_linux_read_description (void)
   is_elf64 = linux_pid_exe_is_elf_64_file (tid, &machine);
 
   if (is_elf64)
-    return tdesc_aarch64;
+    current_process ()->tdesc = aarch64_linux_read_description ();
   else
-    return tdesc_arm_with_neon;
-}
-
-/* Implementation of linux_target_ops method "arch_setup".  */
-
-static void
-aarch64_arch_setup (void)
-{
-  current_process ()->tdesc = aarch64_linux_read_description ();
+    current_process ()->tdesc = tdesc_arm_with_neon;
 
   aarch64_linux_get_debug_reg_capacity (lwpid_of (current_thread));
 }
This page took 0.026447 seconds and 4 git commands to generate.