gdb/
[deliverable/binutils-gdb.git] / gdb / dwarf2expr.h
index c014ce20abd0b5e4ecc880f20d731628c11e6785..a319ca328122a2df505e304cf591c9921916e434 100644 (file)
@@ -67,9 +67,11 @@ struct dwarf_expr_context_funcs
      number DWARF_REG specifying the push_dwarf_reg_entry_value parameter is
      not -1 FB_OFFSET is ignored.  Otherwise FB_OFFSET specifies stack
      parameter offset against caller's stack pointer (which equals the callee's
-     frame base).  */
+     frame base).  If DEREF_SIZE is not -1 then use
+     DW_AT_GNU_call_site_data_value instead of DW_AT_GNU_call_site_value.  */
   void (*push_dwarf_reg_entry_value) (struct dwarf_expr_context *ctx,
-                                     int dwarf_reg, CORE_ADDR fb_offset);
+                                     int dwarf_reg, CORE_ADDR fb_offset,
+                                     int deref_size);
 
 #if 0
   /* Not yet implemented.  */
@@ -277,10 +279,15 @@ CORE_ADDR ctx_no_get_tls_address (void *baton, CORE_ADDR offset);
 void ctx_no_dwarf_call (struct dwarf_expr_context *ctx, size_t die_offset);
 struct type *ctx_no_get_base_type (struct dwarf_expr_context *ctx, size_t die);
 void ctx_no_push_dwarf_reg_entry_value (struct dwarf_expr_context *ctx,
-                                       int dwarf_reg, CORE_ADDR fb_offset);
+                                       int dwarf_reg, CORE_ADDR fb_offset,
+                                       int deref_size);
 
 int dwarf_block_to_dwarf_reg (const gdb_byte *buf, const gdb_byte *buf_end);
 
+int dwarf_block_to_dwarf_reg_deref (const gdb_byte *buf,
+                                   const gdb_byte *buf_end,
+                                   CORE_ADDR *deref_size_return);
+
 int dwarf_block_to_fb_offset (const gdb_byte *buf, const gdb_byte *buf_end,
                              CORE_ADDR *fb_offset_return);
 
This page took 0.023961 seconds and 4 git commands to generate.