> --28301-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x6
> --28301-- warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0x6

Try the patch below.  It would be good if you could put a VG_(printf)
in both the then- and else- branch of the if, to check that it 
does go in the then- branch and not the else- branch.

J


Index: coregrind/m_debuginfo/d3basics.c
===================================================================
--- coregrind/m_debuginfo/d3basics.c    (revision 7588)
+++ coregrind/m_debuginfo/d3basics.c    (working copy)
@@ -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 )
@@ -578,6 +581,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