OSDN Git Service

Revert rL341509 to fix massive failures on buildbots
authorMax Kazantsev <max.kazantsev@azul.com>
Thu, 6 Sep 2018 04:40:49 +0000 (04:40 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Thu, 6 Sep 2018 04:40:49 +0000 (04:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341515 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-dwp/X86/merge.test
tools/llvm-dwp/llvm-dwp.cpp

index ea0adcc..c9ba6d1 100644 (file)
@@ -1,5 +1,7 @@
-RUN: llvm-dwp %p/../Inputs/merge/notypes/c.dwo %p/../Inputs/merge/notypes/ab.dwp -o - | \
-RUN:   llvm-dwarfdump -v - | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
+RUN: llvm-dwp %p/../Inputs/merge/notypes/c.dwo %p/../Inputs/merge/notypes/ab.dwp -o %t
+RUN: llvm-dwarfdump -v %t | FileCheck --check-prefix=CHECK --check-prefix=NOTYP %s
+
+FIXME: For some reason, piping straight from llvm-dwp to llvm-dwarfdump -v doesn't behave well - looks like dwarfdump is reading/closes before dwp has finished.
 
 DWP from a DWO (c.dwo) and a DWP (ab.dwp, created from a.dwo and b.dwo)
 Make sure the entries for A and B are updated correctly when read/processed from ab.dwp
index 4a1835a..d3380b5 100644 (file)
@@ -697,21 +697,13 @@ int main(int argc, char **argv) {
   // Create the output file.
   std::error_code EC;
   raw_fd_ostream OutFile(OutputFilename, EC, sys::fs::F_None);
-  Optional<buffer_ostream> BOS;
-  raw_pwrite_stream *OS;
   if (EC)
     return error(Twine(OutputFilename) + ": " + EC.message(), Context);
-  if (OutFile.supportsSeeking()) {
-    OS = &OutFile;
-  } else {
-    BOS.emplace(OutFile);
-    OS = BOS.getPointer();
-  }
 
   MCTargetOptions MCOptions = InitMCTargetOptionsFromFlags();
   std::unique_ptr<MCStreamer> MS(TheTarget->createMCObjectStreamer(
       TheTriple, MC, std::unique_ptr<MCAsmBackend>(MAB),
-      MAB->createObjectWriter(*OS), std::unique_ptr<MCCodeEmitter>(MCE),
+      MAB->createObjectWriter(OutFile), std::unique_ptr<MCCodeEmitter>(MCE),
       *MSTI, MCOptions.MCRelaxAll, MCOptions.MCIncrementalLinkerCompatible,
       /*DWARFMustBeAtTheEnd*/ false));
   if (!MS)