diff --git a/bridge/go-backend.cpp b/bridge/go-backend.cpp
index 496c87f..cf3a7ef 100644
--- a/bridge/go-backend.cpp
+++ b/bridge/go-backend.cpp
@@ -69,19 +69,20 @@
       break;
     if (sname == GO_EXPORT_SECTION_NAME) {
       // Extract section of interest
-      llvm::StringRef bytes;
-      if (sref.getContents(bytes)) {
+      llvm::Expected<llvm::StringRef> bytes = sref.getContents();
+      if (! bytes) {
+        consumeError(bytes.takeError());
         *perr = errno;
         return "get section contents";
       }
-      char *buf = new char[bytes.size()];
+      char *buf = new char[bytes->size()];
       if (! buf) {
         *perr = errno;
         return "malloc";
       }
-      memcpy(buf, bytes.data(), bytes.size());
+      memcpy(buf, bytes->data(), bytes->size());
       *pbuf = buf;
-      *plen = bytes.size();
+      *plen = bytes->size();
       return nullptr;
     }
   }
diff --git a/driver/CompileGo.cpp b/driver/CompileGo.cpp
index d7cecd8..6b65955 100644
--- a/driver/CompileGo.cpp
+++ b/driver/CompileGo.cpp
@@ -439,7 +439,8 @@
         return false;
       }
       context_.setRemarkStreamer(llvm::make_unique<llvm::RemarkStreamer>(
-          fname, optRecordFile_->os()));
+          fname,
+          llvm::make_unique<llvm::remarks::YAMLSerializer>(optRecordFile_->os())));
       if (! sampleProfileFile_.empty())
         context_.setDiagnosticsHotnessRequested(true);
       optRecordFile_->keep();
