Blob Blame History Raw
--- valgrind-3.7.0/coregrind/m_debuginfo/readdwarf3.c	(revision 12418)
+++ valgrind-3.7.0/coregrind/m_debuginfo/readdwarf3.c	(revision 12419)
@@ -3644,9 +3644,6 @@ void new_dwarf3_reader_wrk (
          cu_amount_used = cu_offset_now - cc.cu_start_offset;
       }
 
-      if (cu_offset_now == debug_info_sz)
-         break;
-
       /* Preen to level -2.  DIEs have level >= 0 so -2 cannot occur
          anywhere else at all.  Our fake the-entire-address-space
          range is at level -1, so preening to -2 should completely
@@ -3655,6 +3652,9 @@ void new_dwarf3_reader_wrk (
       varstack_preen( &varparser, td3, -2 );
       /* Similarly, empty the type stack out. */
       typestack_preen( &typarser, td3, -2 );
+
+      if (cu_offset_now == debug_info_sz)
+         break;
       /* else keep going */
 
       TRACE_D3("set_abbv_Cursor cache: %lu queries, %lu misses\n",