Consolidate x86 debug register code for BSD native targets.
[deliverable/binutils-gdb.git] / gdb / dwarf2expr.h
index 1b890dcf5704cc91c571db03d17300a8e9bb3e79..3d7ca002c5e7c6e9a2f1a67d7deeaacba245e269 100644 (file)
@@ -1,7 +1,6 @@
 /* DWARF 2 Expression Evaluator.
 
-   Copyright (C) 2001-2003, 2005, 2007-2012 Free Software Foundation,
-   Inc.
+   Copyright (C) 2001-2016 Free Software Foundation, Inc.
 
    Contributed by Daniel Berlin <dan@dberlin.org>.
 
@@ -32,8 +31,15 @@ struct dwarf_expr_context;
 
 struct dwarf_expr_context_funcs
 {
-  /* Return the value of register number REGNUM.  */
-  CORE_ADDR (*read_reg) (void *baton, int regnum);
+  /* Return the value of register number REGNUM (a DWARF register number),
+     read as an address.  */
+  CORE_ADDR (*read_addr_from_reg) (void *baton, int regnum);
+
+  /* Return a value of type TYPE, stored in register number REGNUM
+     of the frame associated to the given BATON.
+
+     REGNUM is a DWARF register number.  */
+  struct value *(*get_reg_value) (void *baton, struct type *type, int regnum);
 
   /* Read LENGTH bytes at ADDR into BUF.  */
   void (*read_mem) (void *baton, gdb_byte *buf, CORE_ADDR addr, size_t length);
@@ -78,12 +84,8 @@ struct dwarf_expr_context_funcs
      This can throw an exception if the index is out of range.  */
   CORE_ADDR (*get_addr_index) (void *baton, unsigned int index);
 
-#if 0
-  /* Not yet implemented.  */
-
   /* Return the `object address' for DW_OP_push_object_address.  */
   CORE_ADDR (*get_object_address) (void *baton);
-#endif
 };
 
 /* The location of a value.  */
This page took 0.025504 seconds and 4 git commands to generate.