Author: sewardj
Date: 2008-03-08 10:44:39 +0000 (Sat, 08 Mar 2008)
New Revision: 7597

Log:
Handle DW_OP_deref.


Modified:
   trunk/coregrind/m_debuginfo/d3basics.c


Modified: trunk/coregrind/m_debuginfo/d3basics.c
===================================================================
--- trunk/coregrind/m_debuginfo/d3basics.c      2008-03-08 08:33:41 UTC (rev 
7596)
+++ trunk/coregrind/m_debuginfo/d3basics.c      2008-03-08 10:44:39 UTC (rev 
7597)
@@ -39,6 +39,9 @@
 #include "pub_core_libcprint.h"
 #include "pub_core_options.h"
 
+#include "pub_core_vki.h"       /* VKI_PROT_READ */
+#include "pub_core_aspacemgr.h" /* VG_(is_valid_for_client) */
+
 #include "priv_d3basics.h"      /* self */
 
 HChar* ML_(pp_DW_children) ( DW_children hashch )
@@ -582,6 +585,17 @@
             FAIL("warning: evaluate_Dwarf3_Expr: unhandled "         
                  "DW_OP_GNU_push_tls_address");
             /*NOTREACHED*/
+         case DW_OP_deref:
+            POP(uw1);
+            if (VG_(am_is_valid_for_client)( (Addr)uw1, sizeof(Addr),
+                                             VKI_PROT_READ )) {
+               uw1 = *(UWord*)uw1;
+               PUSH(uw1);
+            } else {
+               FAIL("warning: evaluate_Dwarf3_Expr: DW_OP_deref: "
+                    "address not valid for client");
+            }
+            break;
          default:
             if (!VG_(clo_xml))
                VG_(message)(Vg_DebugMsg, 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to