]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
get_Form_contents: handle DW_FORM_block2.
authorJulian Seward <jseward@acm.org>
Thu, 23 Oct 2008 11:13:05 +0000 (11:13 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 23 Oct 2008 11:13:05 +0000 (11:13 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8701

coregrind/m_debuginfo/readdwarf3.c

index e67d2ec7e14eab618d03acf53f1544d065f02851..48e8dbe68ed61d785b7133a1f4c1625697b63681 100644 (file)
@@ -1129,6 +1129,19 @@ void get_Form_contents ( /*OUT*/ULong* cts,
          *ctsMemSzB = (UWord)u64;
          break;
       }
+      case DW_FORM_block2: {
+         ULong  u64b;
+         ULong  u64 = (ULong)get_UShort(c);
+         UChar* block = get_address_of_Cursor(c);
+         TRACE_D3("%llu byte block: ", u64);
+         for (u64b = u64; u64b > 0; u64b--) {
+            UChar u8 = get_UChar(c);
+            TRACE_D3("%x ", (UInt)u8);
+         }
+         *cts = (ULong)(UWord)block;
+         *ctsMemSzB = (UWord)u64;
+         break;
+      }
       default:
          VG_(printf)("get_Form_contents: unhandled %d (%s)\n",
                      form, ML_(pp_DW_FORM)(form));