Update subzero bitcode parser to use new API for bitstream reading.

Dependent on https://codereview.chromium.org/1122423005
being committed first.

BUG=https://code.google.com/p/nativeclient/issues/detail?id=4164
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/1130313002
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp
index 42a207b..8c15807 100644
--- a/src/PNaClTranslator.cpp
+++ b/src/PNaClTranslator.cpp
@@ -2988,14 +2988,22 @@
 
   // Read header and verify it is good.
   NaClBitcodeHeader Header;
-  if (Header.Read(MemObj.get()) || !Header.IsSupported()) {
+  if (Header.Read(MemObj.get())) {
     errs() << "Invalid PNaCl bitcode header.\n";
     ErrorStatus.assign(EC_Bitcode);
     return;
   }
+  if (!Header.IsSupported()) {
+    errs() << Header.Unsupported();
+    if (!Header.IsReadable()) {
+      errs() << "Invalid PNaCl bitcode header.\n";
+      ErrorStatus.assign(EC_Bitcode);
+      return;
+    }
+  }
 
   // Create a bitstream reader to read the bitcode file.
-  NaClBitstreamReader InputStreamFile(MemObj.release(), Header.getHeaderSize());
+  NaClBitstreamReader InputStreamFile(MemObj.release(), Header);
   NaClBitstreamCursor InputStream(InputStreamFile);
 
   TopLevelParser Parser(*this, InputStream, ErrorStatus);