[llvm] r252859 - Mostly revert 252842 due to failures on some buildbots.

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 11 22:33:14 PST 2015


Author: dblaikie
Date: Thu Nov 12 00:33:14 2015
New Revision: 252859

URL: http://llvm.org/viewvc/llvm-project?rev=252859&view=rev
Log:
Mostly revert 252842 due to failures on some buildbots.

I imagine there's some UB in here somewhere, though Valgrind doesn't
seem to have picked it up (not sure if I have a working asan build right
now to test there).

GDB bot seems to be crashing:
http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/26267/steps/check-all/logs/FAIL%3A%20LLVM%3A%3Adwarfdump-dwp.test

Hexagon ELF bot is, presumably, just getting different output:
http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/32927/steps/check-all/logs/FAIL%3A%20LLVM%3A%3Adwarfdump-dwp.test

Modified:
    llvm/trunk/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
    llvm/trunk/test/DebugInfo/dwarfdump-dwp.test

Modified: llvm/trunk/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp?rev=252859&r1=252858&r2=252859&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp (original)
+++ llvm/trunk/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp Thu Nov 12 00:33:14 2015
@@ -26,7 +26,10 @@ bool DWARFUnitIndex::Header::parse(DataE
 }
 
 void DWARFUnitIndex::Header::dump(raw_ostream &OS) const {
-  OS << format("version = %u slots = %u\n\n", Version, NumBuckets);
+  OS << "Index header:\n" << format("   version: %u\n", Version)
+     << format("   columns: %u\n", NumColumns)
+     << format("     units: %u\n", NumUnits)
+     << format("   buckets: %u\n", NumBuckets);
 }
 
 bool DWARFUnitIndex::parse(DataExtractor IndexData) {
@@ -39,45 +42,6 @@ bool DWARFUnitIndex::parse(DataExtractor
                       (2 * Header.NumUnits + 1) * 4 * Header.NumColumns))
     return false;
 
-  Rows = llvm::make_unique<HashRow[]>(Header.NumBuckets);
-  auto Contribs =
-      llvm::make_unique<HashRow::SectionContribution *[]>(Header.NumUnits);
-  ColumnKinds = llvm::make_unique<DwarfSection[]>(Header.NumColumns);
-
-  // Read Hash Table of Signatures
-  for (unsigned i = 0; i != Header.NumBuckets; ++i)
-    Rows[i].Signature = IndexData.getU64(&Offset);
-
-  // Read Parallel Table of Indexes
-  for (unsigned i = 0; i != Header.NumBuckets; ++i) {
-    auto Index = IndexData.getU32(&Offset);
-    if (!Index)
-      continue;
-    Rows[i].Contributions =
-        llvm::make_unique<HashRow::SectionContribution[]>(Header.NumColumns);
-    Contribs[Index - 1] = Rows[i].Contributions.get();
-  }
-
-  // Read the Column Headers
-  for (unsigned i = 0; i != Header.NumColumns; ++i)
-    ColumnKinds[i] = static_cast<DwarfSection>(IndexData.getU32(&Offset));
-
-  // Read Table of Section Offsets
-  for (unsigned i = 0; i != Header.NumUnits; ++i) {
-    auto *Contrib = Contribs[i];
-    for (unsigned i = 0; i != Header.NumColumns; ++i) {
-      Contrib[i].Offset = IndexData.getU32(&Offset);
-    }
-  }
-
-  // Read Table of Section Sizes
-  for (unsigned i = 0; i != Header.NumUnits; ++i) {
-    auto *Contrib = Contribs[i];
-    for (unsigned i = 0; i != Header.NumColumns; ++i) {
-      Contrib[i].Size = IndexData.getU32(&Offset);
-    }
-  }
-
   return true;
 }
 
@@ -100,24 +64,6 @@ StringRef DWARFUnitIndex::getColumnHeade
 
 void DWARFUnitIndex::dump(raw_ostream &OS) const {
   Header.dump(OS);
-  OS << "Index Signature         ";
-  for (unsigned i = 0; i != Header.NumColumns; ++i)
-    OS << format(" %-24s", getColumnHeader(ColumnKinds[i]));
-  OS << "\n----- ------------------";
-  for (unsigned i = 0; i != Header.NumColumns; ++i)
-    OS << " ------------------------";
-  OS << '\n';
-  for (unsigned i = 0; i != Header.NumBuckets; ++i) {
-    auto &Row = Rows[i];
-    if (auto *Contribs = Row.Contributions.get()) {
-      OS << format("%5u 0x%016" PRIx64 " ", i, Row.Signature);
-      for (unsigned i = 0; i != Header.NumColumns; ++i) {
-        auto &Contrib = Contribs[i];
-        OS << format("[0x%08u, 0x%08u) ", Contrib.Offset,
-                     Contrib.Offset + Contrib.Size);
-      }
-      OS << '\n';
-    }
-  }
 }
+
 }

Modified: llvm/trunk/test/DebugInfo/dwarfdump-dwp.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/dwarfdump-dwp.test?rev=252859&r1=252858&r2=252859&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/dwarfdump-dwp.test (original)
+++ llvm/trunk/test/DebugInfo/dwarfdump-dwp.test Thu Nov 12 00:33:14 2015
@@ -9,17 +9,17 @@ RUN: llvm-dwarfdump %p/Inputs/dwarfdump-
 ;   bar b;
 
 ; CHECK: .debug_cu_index contents:
-; CHECK-NEXT: version = 2 slots = 16
-; CHECK:      Index Signature          INFO                     ABBREV                   LINE                     STR_OFFSETS            
-; CHECK-NEXT: ----- ------------------ ------------------------ ------------------------ ------------------------ ------------------------
-; CHECK-NEXT:     8 0x03c30756e2d45008 [0x00000000, 0x00000045) [0x00000000, 0x00000067) [0x00000000, 0x00000026) [0x00000000, 0x00000016)
-; CHECK-NEXT:    12 0x9aeb3a61ed48510c [0x00000045, 0x00000090) [0x00000067, 0x00000134) [0x00000026, 0x00000052) [0x00000016, 0x00000032)
+; CHECK-NEXT: Index header:
+; CHECK-NEXT: version: 2
+; CHECK-NEXT: columns: 4
+; CHECK-NEXT:   units: 2
+; CHECK-NEXT: buckets: 16
 
 ; CHECK: .debug_tu_index contents:
-; CHECK-NEXT: version = 2 slots = 16
-; CHECK:      Index Signature          TYPES                    ABBREV                   LINE                     STR_OFFSETS
-; CHECK-NEXT: ----- ------------------ ------------------------ ------------------------ ------------------------ ------------------------
-; CHECK-NEXT:     8 0x1d02f3be30cc5688 [0x00000036, 0x00000072) [0x00000067, 0x00000134) [0x00000026, 0x00000052) [0x00000016, 0x00000032)
-; CHECK-NEXT:    12 0x3875c0e21cda63fc [0x00000000, 0x00000036) [0x00000000, 0x00000067) [0x00000000, 0x00000026) [0x00000000, 0x00000016)
+; CHECK-NEXT: Index header:
+; CHECK-NEXT: version: 2
+; CHECK-NEXT: columns: 4
+; CHECK-NEXT:   units: 2
+; CHECK-NEXT: buckets: 16
 
 ; TODO: use the index section offset info to correctly dump debug_info




More information about the llvm-commits mailing list