gdb: remove SYMBOL_DOMAIN macro
[binutils-gdb.git] / gdb / ia64-tdep.h
index df0b4bb1ffee99c3013cb782d892d682adfd9b18..675d0d871b2ae87db109b36c65e71c48755878cd 100644 (file)
@@ -1,7 +1,6 @@
 /* Target-dependent code for the ia64.
 
-   Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 2004-2022 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef IA64_TDEP_H
 #define IA64_TDEP_H
 
+#include "gdbarch.h"
+
+#ifdef HAVE_LIBUNWIND_IA64_H
+#include "libunwind-ia64.h"
+#include "ia64-libunwind-tdep.h"
+#endif
+
 /* Register numbers of various important registers.  */
 
 /* General registers; there are 128 of these 64 bit wide registers.
@@ -215,7 +221,7 @@ struct ia64_infcall_ops
   /* Store the argument stored in BUF into the appropriate location
      given the BSP and the SLOTNUM.  */
   void (*store_argument_in_slot) (struct regcache *regcache, CORE_ADDR bsp,
-                                  int slotnum, gdb_byte *buf);
+                                 int slotnum, gdb_byte *buf);
 
   /* For targets where we cannot call the function directly, store
      the address of the function we want to call at the location
@@ -223,17 +229,19 @@ struct ia64_infcall_ops
   void (*set_function_addr) (struct regcache *regcache, CORE_ADDR func_addr);
 };
 
-struct gdbarch_tdep
+struct ia64_gdbarch_tdep : gdbarch_tdep
 {
-  CORE_ADDR (*sigcontext_register_address) (struct gdbarch *, CORE_ADDR, int);
-  int (*pc_in_sigtramp) (CORE_ADDR);
+  CORE_ADDR (*sigcontext_register_address) (struct gdbarch *, CORE_ADDR, int)
+    = nullptr;
+  int (*pc_in_sigtramp) (CORE_ADDR) = nullptr;
 
   /* Return the total size of THIS_FRAME's register frame.
      CFM is THIS_FRAME's cfm register value.
 
      Normally, the size of the register frame is always obtained by
      extracting the lowest 7 bits ("cfm & 0x7f").  */
-  int (*size_of_register_frame) (struct frame_info *this_frame, ULONGEST cfm);
+  int (*size_of_register_frame) (struct frame_info *this_frame, ULONGEST cfm)
+    = nullptr;
 
   /* Determine the function address FADDR belongs to a shared library.
      If it does, then return the associated global pointer.  If no shared
@@ -241,14 +249,20 @@ struct gdbarch_tdep
 
      This pointer may be NULL.  */
   CORE_ADDR (*find_global_pointer_from_solib) (struct gdbarch *gdbarch,
-                                              CORE_ADDR faddr);
+                                              CORE_ADDR faddr) = nullptr;
 
   /* ISA-specific data types.  */
-  struct type *ia64_ext_type;
+  struct type *ia64_ext_type = nullptr;
 
-  struct ia64_infcall_ops infcall_ops;
+  struct ia64_infcall_ops infcall_ops {};
 };
 
 extern void ia64_write_pc (struct regcache *, CORE_ADDR);
 
+#ifdef HAVE_LIBUNWIND_IA64_H
+extern unw_accessors_t ia64_unw_accessors;
+extern unw_accessors_t ia64_unw_rse_accessors;
+extern struct libunwind_descr ia64_libunwind_descr;
+#endif
+
 #endif /* ia64-tdep.h */