merge from gcc
[deliverable/binutils-gdb.git] / gdb / hppa-tdep.h
index 0b4185a47ccf5be3ca8d97064a6b932dbcda6150..35cca4d6560124e49254601f096f13c352378536 100644 (file)
@@ -22,6 +22,8 @@
 #define HPPA_TDEP_H
 
 struct trad_frame_saved_reg;
+struct objfile;
+struct so_list;
 
 /* Register numbers of various important registers.
    Note that some of these values are "real" register numbers,
@@ -38,6 +40,9 @@ enum hppa_regnum
   HPPA_FLAGS_REGNUM = 0,       /* Various status flags */
   HPPA_RP_REGNUM = 2,          /* return pointer */
   HPPA_FP_REGNUM = 3,          /* The ABI's frame pointer, when used */
+  HPPA_DP_REGNUM = 27,
+  HPPA_RET0_REGNUM = 28,
+  HPPA_RET1_REGNUM = 29,
   HPPA_SP_REGNUM = 30,         /* Stack pointer.  */
   HPPA_R31_REGNUM = 31,
   HPPA_SAR_REGNUM = 32,                /* Shift Amount Register */
@@ -61,6 +66,7 @@ enum hppa_regnum
   HPPA_CR27_REGNUM = 60,       /* Base register for thread-local storage, cr27 */
   HPPA_FP0_REGNUM = 64,                /* First floating-point.  */
   HPPA_FP4_REGNUM = 72,
+  HPPA64_FP4_REGNUM = 68,
 
   HPPA_ARG0_REGNUM = 26,       /* The first argument of a callee. */
   HPPA_ARG1_REGNUM = 25,       /* The second argument of a callee. */
@@ -97,6 +103,12 @@ struct gdbarch_tdep
   void (*unwind_adjust_stub) (struct frame_info *next_frame, CORE_ADDR base,
                              struct trad_frame_saved_reg *saved_regs);
 
+  /* These are solib-dependent methods.  They are really HPUX only, but
+     we don't have a HPUX-specific tdep vector at the moment.  */
+  CORE_ADDR (*solib_thread_start_addr) (struct so_list *so);
+  CORE_ADDR (*solib_get_got_by_pc) (CORE_ADDR addr);
+  CORE_ADDR (*solib_get_solib_by_pc) (CORE_ADDR addr);
+  CORE_ADDR (*solib_get_text_base) (struct objfile *objfile);
 };
 
 /*
@@ -196,6 +208,9 @@ struct hppa_objfile_private
     struct hppa_unwind_info *unwind_info;      /* a pointer */
     struct so_list *so_info;   /* a pointer  */
     CORE_ADDR dp;
+
+    int dummy_call_sequence_reg;
+    CORE_ADDR dummy_call_sequence_addr;
   };
 
 extern const struct objfile_data *hppa_objfile_priv_data;
@@ -223,4 +238,11 @@ extern void hppa_write_pc (CORE_ADDR pc, ptid_t ptid);
 extern CORE_ADDR hppa_unwind_pc (struct gdbarch *gdbarch,
                                 struct frame_info *next_frame);
 
+extern struct minimal_symbol *
+  hppa_lookup_stub_minimal_symbol (const char *name,
+                                   enum unwind_stub_types stub_type);
+
+extern struct hppa_objfile_private *
+hppa_init_objfile_priv_data (struct objfile *objfile);
+
 #endif  /* HPPA_TDEP_H */
This page took 0.026675 seconds and 4 git commands to generate.