diff --git a/src/base/base.gyp b/src/base/base.gyp
index 9cbd82f..adce093 100644
--- a/src/base/base.gyp
+++ b/src/base/base.gyp
@@ -5,6 +5,7 @@
 {
   'variables': {
     'chromium_code': 1,
+    'optimize_target_for_speed': 1,
   },
   'targets': [
     {
diff --git a/src/cobalt/CHANGELOG.md b/src/cobalt/CHANGELOG.md
index 6bd4d82..1e75f4e 100644
--- a/src/cobalt/CHANGELOG.md
+++ b/src/cobalt/CHANGELOG.md
@@ -159,6 +159,15 @@
   that may be copied and queried on any thread to get a coherent view of
   attributes set by the the web app on the `MediaSession`.
 
+- **Add support for size vs speed compiler flags**
+
+  Performance-critical gyp targets now specify `optimize_target_for_speed`: 1.
+  For gold configs, these targets will use compiler flags `compiler_flags_gold`
+  and `compiler_flags_gold_speed`; other targets will use `compiler_flags_gold`
+  and `compiler_flags_gold_size`. For qa configs, the respective variables are
+  `compiler_flags_qa_speed` and `compiler_flags_qa_size`. Only the qa and gold
+  configs support these types of compiler flag gyp variables.
+
  - **Improvements and Bug Fixes**
 
    - Fix bug where Cobalt would not refresh the layout when the textContent
diff --git a/src/cobalt/browser/browser_module.cc b/src/cobalt/browser/browser_module.cc
index 1708028..18aeeca 100644
--- a/src/cobalt/browser/browser_module.cc
+++ b/src/cobalt/browser/browser_module.cc
@@ -1754,16 +1754,24 @@
 ViewportSize BrowserModule::GetViewportSize() {
   // We trust the renderer module for width and height the most, if it exists.
   if (renderer_module_) {
-    math::Size size = renderer_module_->render_target_size();
+    math::Size target_size = renderer_module_->render_target_size();
     // ...but get the diagonal from one of the other modules.
     float diagonal_inches = 0;
     if (system_window_) {
       diagonal_inches = system_window_->GetDiagonalSizeInches();
+      // For those platforms that can have a main window size smaller than the
+      // render target size, the system_window_ size (if exists) should be
+      // trusted over the renderer_module_ render target size.
+      math::Size window_size = system_window_->GetWindowSize();
+      if (window_size.width() <= target_size.width() &&
+          window_size.height() <= target_size.height()) {
+        target_size = window_size;
+      }
     } else if (options_.requested_viewport_size) {
       diagonal_inches = options_.requested_viewport_size->diagonal_inches();
     }
 
-    ViewportSize v(size.width(), size.height(), diagonal_inches);
+    ViewportSize v(target_size.width(), target_size.height(), diagonal_inches);
     return v;
   }
 
diff --git a/src/cobalt/build/build.id b/src/cobalt/build/build.id
index eb09812..2099216 100644
--- a/src/cobalt/build/build.id
+++ b/src/cobalt/build/build.id
@@ -1 +1 @@
-220857
\ No newline at end of file
+221008
\ No newline at end of file
diff --git a/src/cobalt/css_parser/css_parser.gyp b/src/cobalt/css_parser/css_parser.gyp
index 0aa3ed9..d3f2715 100644
--- a/src/cobalt/css_parser/css_parser.gyp
+++ b/src/cobalt/css_parser/css_parser.gyp
@@ -14,6 +14,7 @@
 
 {
   'variables': {
+    'optimize_target_for_speed': 1,
     'sb_pedantic_warnings': 1,
 
     # Define the platform specific Bison binary.
@@ -35,7 +36,7 @@
       'type': 'none',
       'sources': [
         'grammar.h',
-	'grammar.y'
+        'grammar.y'
       ],
       # Generated header files are stored in the intermediate directory
       # under their module sub-directory.
diff --git a/src/cobalt/cssom/cssom.gyp b/src/cobalt/cssom/cssom.gyp
index 3fdf9f1..b8278f9 100644
--- a/src/cobalt/cssom/cssom.gyp
+++ b/src/cobalt/cssom/cssom.gyp
@@ -14,6 +14,7 @@
 
 {
   'variables': {
+    'optimize_target_for_speed': 1,
     'sb_pedantic_warnings': 1,
   },
   'targets': [
diff --git a/src/cobalt/doc/performance_tuning.md b/src/cobalt/doc/performance_tuning.md
index e6d9994..e8336f3 100644
--- a/src/cobalt/doc/performance_tuning.md
+++ b/src/cobalt/doc/performance_tuning.md
@@ -273,6 +273,19 @@
 
 **Tags:** *framerate, startup, browse-to-watch, input latency*
 
+#### Optimize for size vs speed
+
+For qa and gold configs, different compiler flags can be used for gyp targets
+which should be optimized for size vs speed. This can be used to reduce the
+executable size with minimal impact on performance. On top of the base
+`compiler_flags_qa` and `compiler_flags_gold`, the gyp variables
+`compiler_flags_qa_size`, `compiler_flags_qa_speed`, `compiler_flags_gold_size`,
+and `compiler_flags_gold_speed` will be used. Performance-critical gyp targets
+specify `optimize_target_for_speed`: 1, and these will use compiler flags
+`compiler_flags_<config>` + `compiler_flags_<config>_speed`; other gyp targets
+will use `compiler_flags_<config>` + `compiler_flags_<config>_size`.
+
+**Tags:** *cpu memory, package size*
 
 #### Link Time Optimization (LTO)
 If your toolchain supports it, it is recommended that you enable the LTO
diff --git a/src/cobalt/network/cobalt_net_log.cc b/src/cobalt/network/cobalt_net_log.cc
index 6bfc35e..3df4117 100644
--- a/src/cobalt/network/cobalt_net_log.cc
+++ b/src/cobalt/network/cobalt_net_log.cc
@@ -16,6 +16,7 @@
 
 #include <algorithm>
 
+#include "base/callback.h"
 #include "base/logging.h"
 #include "base/values.h"
 
@@ -23,14 +24,15 @@
 namespace network {
 
 CobaltNetLog::CobaltNetLog(const base::FilePath& log_path,
-                           net::NetLogCaptureMode capture_mode) {
-  net_log_logger_.reset(new NetLogLogger(log_path));
+                           net::NetLogCaptureMode capture_mode)
+    : net_log_logger_(
+          net::FileNetLogObserver::CreateUnbounded(log_path, nullptr)) {
   net_log_logger_->StartObserving(this, capture_mode);
 }
 
 CobaltNetLog::~CobaltNetLog() {
   // Remove the observers we own before we're destroyed.
-  if (net_log_logger_.get()) RemoveObserver(net_log_logger_.get());
+  net_log_logger_->StopObserving(nullptr, base::OnceClosure());
 }
 
 }  // namespace network
diff --git a/src/cobalt/network/cobalt_net_log.h b/src/cobalt/network/cobalt_net_log.h
index 3838915..4ee6fa8 100644
--- a/src/cobalt/network/cobalt_net_log.h
+++ b/src/cobalt/network/cobalt_net_log.h
@@ -22,7 +22,7 @@
 #include "base/macros.h"
 #include "base/observer_list.h"
 #include "base/synchronization/lock.h"
-#include "cobalt/network/net_log_logger.h"
+#include "net/log/file_net_log_observer.h"
 #include "net/log/net_log.h"
 
 namespace cobalt {
@@ -35,7 +35,7 @@
   ~CobaltNetLog() override;
 
  private:
-  std::unique_ptr<NetLogLogger> net_log_logger_;
+  std::unique_ptr<net::FileNetLogObserver> net_log_logger_;
 
   DISALLOW_COPY_AND_ASSIGN(CobaltNetLog);
 };
diff --git a/src/cobalt/network/net_log_logger.cc b/src/cobalt/network/net_log_logger.cc
deleted file mode 100644
index 65e9839..0000000
--- a/src/cobalt/network/net_log_logger.cc
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright 2016 The Cobalt Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "cobalt/network/net_log_logger.h"
-
-#include <stdio.h>
-
-#include <limits>
-#include <memory>
-#include <string>
-
-#include "base/bind.h"
-#include "base/files/file_util.h"
-#include "base/json/json_writer.h"
-#include "base/logging.h"
-#include "base/threading/thread_restrictions.h"
-#include "base/time/time.h"
-#include "base/values.h"
-#include "cobalt/network/net_log_constants.h"
-
-namespace cobalt {
-namespace network {
-namespace {
-SbFile OpenFile(const base::FilePath& log_path) {
-  int creation_flags = kSbFileCreateAlways | kSbFileWrite;
-  return SbFileOpen(log_path.value().c_str(), creation_flags,
-                    NULL /* out_created */, NULL /* error */);
-}
-
-void AppendToFile(SbFile file, const std::string& data) {
-  DCHECK_LE(data.size(), static_cast<size_t>(std::numeric_limits<int>::max()));
-  int num_bytes_to_write = static_cast<int>(data.size());
-  int bytes_written = SbFileWrite(file, data.c_str(), num_bytes_to_write);
-  SB_UNREFERENCED_PARAMETER(bytes_written);
-  DLOG_IF(FATAL, bytes_written != num_bytes_to_write)
-      << "Did not write all bytes to file.";
-}
-
-void CloseFile(SbFile file) {
-  bool success = SbFileClose(file);
-  SB_UNREFERENCED_PARAMETER(success);
-  DLOG_IF(ERROR, !success) << "Failed to close file.";
-}
-}  // namespace
-
-NetLogLogger::NetLogLogger(const base::FilePath& log_path)
-    : log_writer_thread_("NetLogLogger IO"),
-      log_file_(base::kInvalidPlatformFile) {
-  if (!log_path.empty()) {
-    DLOG(INFO) << log_path;
-    base::ThreadRestrictions::ScopedAllowIO allow_io;
-    log_file_ = OpenFile(log_path);
-    if (log_file_ == base::kInvalidPlatformFile) {
-      LOG(ERROR) << "Could not open file " << log_path.value()
-                 << " for net logging";
-      return;
-    }
-
-    const int kDefaultStackSize = 0;
-    log_writer_thread_.StartWithOptions(
-        base::Thread::Options(base::MessageLoop::TYPE_IO, kDefaultStackSize));
-
-    // Write constants to the output file.  This allows loading files that have
-    // different source and event types, as they may be added and removed
-    // between Chrome versions.
-    std::unique_ptr<base::Value> value(NetLogConstants::GetConstants());
-    std::string json;
-    base::JSONWriter::Write(*value.get(), &json);
-    WriteToLog("{\"constants\": ");
-    WriteToLog(json);
-    WriteToLog(",\n");
-    WriteToLog("\"events\": [\n");
-  }
-}
-
-NetLogLogger::~NetLogLogger() {
-  if (log_file_ != base::kInvalidPlatformFile) {
-    log_writer_thread_.message_loop()->task_runner()->PostTask(
-        FROM_HERE, base::Bind(&CloseFile, log_file_));
-  }
-  log_writer_thread_.Stop();
-}
-
-void NetLogLogger::StartObserving(net::NetLog* net_log,
-                                  net::NetLogCaptureMode capture_mode) {
-  net_log->AddObserver(this, capture_mode);
-}
-
-void NetLogLogger::OnAddEntry(const net::NetLogEntry& entry) {
-  std::unique_ptr<base::Value> value(entry.ToValue());
-  // Don't pretty print, so each JSON value occupies a single line, with no
-  // breaks (Line breaks in any text field will be escaped).  Using strings
-  // instead of integer identifiers allows logs from older versions to be
-  // loaded, though a little extra parsing has to be done when loading a log.
-  std::string json;
-  base::JSONWriter::Write(*value.get(), &json);
-  if (log_file_ == base::kInvalidPlatformFile) {
-    VLOG(1) << json;
-  } else {
-    WriteToLog(json);
-    WriteToLog(",\n");
-  }
-}
-
-void NetLogLogger::WriteToLog(const std::string& data) {
-  DCHECK_NE(log_file_, base::kInvalidPlatformFile);
-  DCHECK(log_writer_thread_.IsRunning());
-  log_writer_thread_.message_loop()->task_runner()->PostTask(
-      FROM_HERE, base::Bind(&AppendToFile, log_file_, data));
-}
-
-}  // namespace network
-}  // namespace cobalt
diff --git a/src/cobalt/network/net_log_logger.h b/src/cobalt/network/net_log_logger.h
deleted file mode 100644
index 8cc7a11..0000000
--- a/src/cobalt/network/net_log_logger.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2016 The Cobalt Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef COBALT_NETWORK_NET_LOG_LOGGER_H_
-#define COBALT_NETWORK_NET_LOG_LOGGER_H_
-
-#include <string>
-
-#include "base/files/platform_file.h"
-#include "base/threading/thread.h"
-#include "net/log/net_log.h"
-
-namespace base {
-class FilePath;
-}
-
-namespace cobalt {
-namespace network {
-
-// NetLogLogger watches the NetLog event stream, and sends all entries to
-// VLOG(1) or a path specified on creation.  This is to debug errors that
-// prevent getting to the about:net-internals page.
-//
-// When writing directly to a file rather than VLOG(1), the text file will
-// contain a single JSON object, with an extra comma on the end and missing
-// a terminal "]}".
-//
-// This is more or less copied from Chromium's NetLogLogger.
-class NetLogLogger : public net::NetLog::ThreadSafeObserver {
- public:
-  // If |log_path| is empty or file creation fails, writes to VLOG(1).
-  // Otherwise, writes to |log_path|.  Uses one line per entry, for
-  // easy parsing.
-  explicit NetLogLogger(const base::FilePath& log_path);
-  virtual ~NetLogLogger();
-
-  // Starts observing specified NetLog.  Must not already be watching a NetLog.
-  // Separate from constructor to enforce thread safety.
-  void StartObserving(net::NetLog* net_log,
-                      net::NetLogCaptureMode capture_mode);
-
-  // net::NetLog::ThreadSafeObserver implementation:
-  void OnAddEntry(const net::NetLogEntry& entry) override;
-
- private:
-  void WriteToLog(const std::string& data);
-
-  base::Thread log_writer_thread_;
-  base::PlatformFile log_file_;
-
-  DISALLOW_COPY_AND_ASSIGN(NetLogLogger);
-};
-
-}  // namespace network
-}  // namespace cobalt
-
-#endif  // COBALT_NETWORK_NET_LOG_LOGGER_H_
diff --git a/src/cobalt/network/network.gyp b/src/cobalt/network/network.gyp
index 42fb904..08e7036 100644
--- a/src/cobalt/network/network.gyp
+++ b/src/cobalt/network/network.gyp
@@ -70,8 +70,6 @@
             'cobalt_net_log.h',
             'net_log_constants.cc',
             'net_log_constants.h',
-            'net_log_logger.cc',
-            'net_log_logger.h',
           ],
           'defines': [
             'ENABLE_NETWORK_LOGGING',
diff --git a/src/cobalt/renderer/rasterizer/blitter/rasterizer.gyp b/src/cobalt/renderer/rasterizer/blitter/rasterizer.gyp
index 4f382f4..f989a6d 100644
--- a/src/cobalt/renderer/rasterizer/blitter/rasterizer.gyp
+++ b/src/cobalt/renderer/rasterizer/blitter/rasterizer.gyp
@@ -13,6 +13,9 @@
 # limitations under the License.
 
 {
+  'variables': {
+    'optimize_target_for_speed': 1,
+  },
   'targets': [
     # Code shared by both the hardware and software Blitter rasterizers.
     {
diff --git a/src/cobalt/renderer/rasterizer/egl/rasterizer.gyp b/src/cobalt/renderer/rasterizer/egl/rasterizer.gyp
index 949063f..1b07837 100644
--- a/src/cobalt/renderer/rasterizer/egl/rasterizer.gyp
+++ b/src/cobalt/renderer/rasterizer/egl/rasterizer.gyp
@@ -13,6 +13,9 @@
 # limitations under the License.
 
 {
+  'variables': {
+    'optimize_target_for_speed': 1,
+  },
   'targets': [
     {
       'target_name': 'software_rasterizer',
diff --git a/src/cobalt/renderer/rasterizer/skia/rasterizer.gyp b/src/cobalt/renderer/rasterizer/skia/rasterizer.gyp
index 1781010..0ae2894 100644
--- a/src/cobalt/renderer/rasterizer/skia/rasterizer.gyp
+++ b/src/cobalt/renderer/rasterizer/skia/rasterizer.gyp
@@ -13,6 +13,9 @@
 # limitations under the License.
 
 {
+  'variables': {
+    'optimize_target_for_speed': 1,
+  },
   'targets': [
     {
       'target_name': 'hardware_rasterizer',
diff --git a/src/cobalt/tools/automated_testing/cobalt_runner.py b/src/cobalt/tools/automated_testing/cobalt_runner.py
index d21b9d5..8e3d6b0 100644
--- a/src/cobalt/tools/automated_testing/cobalt_runner.py
+++ b/src/cobalt/tools/automated_testing/cobalt_runner.py
@@ -41,8 +41,8 @@
 WEBDRIVER_HTTP_TIMEOUT_SECONDS = 2 * 60
 COBALT_EXIT_TIMEOUT_SECONDS = 5
 PAGE_LOAD_WAIT_SECONDS = 30
-WINDOWDRIVER_CREATED_TIMEOUT_SECONDS = 30
-WEBMODULE_LOADED_TIMEOUT_SECONDS = 30
+WINDOWDRIVER_CREATED_TIMEOUT_SECONDS = 45
+WEBMODULE_LOADED_TIMEOUT_SECONDS = 45
 FIND_ELEMENT_RETRY_LIMIT = 20
 
 COBALT_WEBDRIVER_CAPABILITIES = {
diff --git a/src/cobalt/webdriver/webdriver.gyp b/src/cobalt/webdriver/webdriver.gyp
index b2f6528..f344d75 100644
--- a/src/cobalt/webdriver/webdriver.gyp
+++ b/src/cobalt/webdriver/webdriver.gyp
@@ -15,6 +15,10 @@
 {
   'includes': [ '../build/contents_dir.gypi' ],
 
+  'variables': {
+    'optimize_target_for_speed': 1,
+  },
+
   'targets': [
     {
       'target_name': 'webdriver',
diff --git a/src/net/log/file_net_log_observer.cc b/src/net/log/file_net_log_observer.cc
index 067992b..c09a8a4 100644
--- a/src/net/log/file_net_log_observer.cc
+++ b/src/net/log/file_net_log_observer.cc
@@ -92,6 +92,20 @@
                             base::File* destination_file,
                             char* read_buffer,
                             size_t read_buffer_size) {
+#if defined(STARBOARD)
+  auto source_file =
+      base::File(source_path, base::File::FLAG_OPEN | base::File::FLAG_READ);
+  DCHECK(source_file.IsValid());
+
+  // Read |source_path|'s contents in chunks of read_buffer_size and append
+  // to |destination_file|.
+  size_t num_bytes_read;
+  while ((num_bytes_read = source_file.Read(0, read_buffer, read_buffer_size)) >
+         0) {
+    WriteToFile(destination_file,
+                base::StringPiece(read_buffer, num_bytes_read));
+  }
+#else
   base::ScopedFILE source_file(base::OpenFile(source_path, "rb"));
   if (!source_file)
     return;
@@ -107,6 +121,7 @@
 
   // Now that it has been copied, delete the source file.
   source_file.reset();
+#endif
   base::DeleteFile(source_path, false);
 }
 
diff --git a/src/net/log/file_net_log_observer.h b/src/net/log/file_net_log_observer.h
index 5bf5d62..909a0da 100644
--- a/src/net/log/file_net_log_observer.h
+++ b/src/net/log/file_net_log_observer.h
@@ -15,8 +15,6 @@
 #include "net/base/net_export.h"
 #include "net/log/net_log.h"
 
-#if !defined(STARBOARD)
-
 namespace base {
 class Value;
 class FilePath;
@@ -155,6 +153,4 @@
 
 }  // namespace net
 
-#endif  // !defined(STARBOARD)
-
 #endif  // NET_LOG_FILE_NET_LOG_OBSERVER_H_
diff --git a/src/net/net.gyp b/src/net/net.gyp
index f9d74c7..c90b5b3 100644
--- a/src/net/net.gyp
+++ b/src/net/net.gyp
@@ -21,6 +21,7 @@
         'STARBOARD_NO_LOCAL_ISSUER',
         'QUIC_TRACE_DISABLED',
         'COBALT_QUIC46',
+        'COMMON_CERT_SET_DISABLED_FOR_STARBOARD',
       ],
       'direct_dependent_settings': {
         'defines': [
@@ -29,6 +30,7 @@
           'STARBOARD_NO_LOCAL_ISSUER',
           'QUIC_TRACE_DISABLED',
           'COBALT_QUIC46',
+          'COMMON_CERT_SET_DISABLED_FOR_STARBOARD',
         ],
       },
       'include_dirs': [
@@ -276,6 +278,8 @@
         'http/transport_security_state_source.h',
         'log/net_log.cc',
         'log/net_log.h',
+        'log/file_net_log_observer.cc',
+        'log/file_net_log_observer.h',
         'log/net_log_capture_mode.cc',
         'log/net_log_capture_mode.h',
         'log/net_log_entry.cc',
@@ -2209,7 +2213,7 @@
         'third_party/quic/core/crypto/chacha20_poly1305_tls_decrypter_test.cc',
         'third_party/quic/core/crypto/chacha20_poly1305_tls_encrypter_test.cc',
         'third_party/quic/core/crypto/channel_id_test.cc',
-        'third_party/quic/core/crypto/common_cert_set_test.cc',
+        # 'third_party/quic/core/crypto/common_cert_set_test.cc',
         'third_party/quic/core/crypto/crypto_framer_test.cc',
         'third_party/quic/core/crypto/crypto_handshake_message_test.cc',
         'third_party/quic/core/crypto/crypto_secret_boxer_test.cc',
diff --git a/src/net/third_party/quic/core/crypto/common_cert_set.cc b/src/net/third_party/quic/core/crypto/common_cert_set.cc
index 6c246b9..38403b9 100644
--- a/src/net/third_party/quic/core/crypto/common_cert_set.cc
+++ b/src/net/third_party/quic/core/crypto/common_cert_set.cc
@@ -24,6 +24,7 @@
 
 namespace {
 
+#if !defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
 struct CertSet {
   // num_certs contains the number of certificates in this set.
   size_t num_certs;
@@ -70,6 +71,7 @@
   }
   return 0;
 }
+#endif
 
 // CommonCertSetsQUIC implements the CommonCertSets interface using the default
 // certificate sets.
@@ -77,11 +79,18 @@
  public:
   // CommonCertSets interface.
   QuicStringPiece GetCommonHashes() const override {
+#if defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
+    return QuicStringPiece();
+#else
     return QuicStringPiece(reinterpret_cast<const char*>(kSetHashes),
                            sizeof(uint64_t) * QUIC_ARRAYSIZE(kSetHashes));
+#endif
   }
 
   QuicStringPiece GetCert(uint64_t hash, uint32_t index) const override {
+#if defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
+    NOTIMPLEMENTED() << "common cert set is disabled!";
+#else
     for (size_t i = 0; i < QUIC_ARRAYSIZE(kSets); i++) {
       if (kSets[i].hash == hash) {
         if (index < kSets[i].num_certs) {
@@ -92,6 +101,7 @@
         break;
       }
     }
+#endif
 
     return QuicStringPiece();
   }
@@ -100,6 +110,9 @@
                  QuicStringPiece common_set_hashes,
                  uint64_t* out_hash,
                  uint32_t* out_index) const override {
+#if defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
+    NOTIMPLEMENTED() << "common cert set is disabled!";
+#else
     if (common_set_hashes.size() % sizeof(uint64_t) != 0) {
       return false;
     }
@@ -139,6 +152,7 @@
         }
       }
     }
+#endif
 
     return false;
   }
diff --git a/src/net/third_party/quic/core/crypto/common_cert_set_2.c b/src/net/third_party/quic/core/crypto/common_cert_set_2.c
index c24ebc2..dbd4231 100644
--- a/src/net/third_party/quic/core/crypto/common_cert_set_2.c
+++ b/src/net/third_party/quic/core/crypto/common_cert_set_2.c
@@ -8,6 +8,7 @@
 
 #include <stdint.h>
 
+#if !defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
 #include "net/third_party/quic/core/crypto/common_cert_set_2a.inc"
 #include "net/third_party/quic/core/crypto/common_cert_set_2b.inc"
 
@@ -127,3 +128,4 @@
 };
 
 static const uint64_t kHash = UINT64_C(0xe81a92926081e801);
+#endif
diff --git a/src/net/third_party/quic/core/crypto/common_cert_set_3.c b/src/net/third_party/quic/core/crypto/common_cert_set_3.c
index d3ffdcc..f0e81af 100644
--- a/src/net/third_party/quic/core/crypto/common_cert_set_3.c
+++ b/src/net/third_party/quic/core/crypto/common_cert_set_3.c
@@ -6,8 +6,9 @@
 /* This file contains common certificates. It's designed to be #included in
  * another file, in a namespace. */
 
-#include "net/third_party/quic/core/crypto/common_cert_set_3a.inc"
+#if !defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
 #include "net/third_party/quic/core/crypto/common_cert_set_3b.inc"
+#include "net/third_party/quic/core/crypto/common_cert_set_3a.inc"
 
 static const size_t kNumCerts = 52;
 static const unsigned char* const kCerts[] = {
@@ -121,3 +122,4 @@
 };
 
 static const uint64_t kHash = UINT64_C(0x918215a28680ed7e);
+#endif
diff --git a/src/net/third_party/quic/core/crypto/common_cert_set_test.cc b/src/net/third_party/quic/core/crypto/common_cert_set_test.cc
index 25266a8..3b6c39e 100644
--- a/src/net/third_party/quic/core/crypto/common_cert_set_test.cc
+++ b/src/net/third_party/quic/core/crypto/common_cert_set_test.cc
@@ -192,6 +192,7 @@
 
 class CommonCertSetsTest : public QuicTest {};
 
+#if !defined(COMMON_CERT_SET_DISABLED_FOR_STARBOARD)
 TEST_F(CommonCertSetsTest, FindGIA_2) {
   QuicStringPiece gia(reinterpret_cast<const char*>(kGIACertificate2),
                       sizeof(kGIACertificate2));
@@ -233,6 +234,7 @@
   ASSERT_EQ(gia.size(), gia_copy.size());
   EXPECT_EQ(0, SbMemoryCompare(gia.data(), gia_copy.data(), gia.size()));
 }
+#endif  // COMMON_CERT_SET_DISABLED_FOR_STARBOARD
 
 TEST_F(CommonCertSetsTest, NonMatch) {
   const CommonCertSets* sets(CommonCertSets::GetInstanceQUIC());
diff --git a/src/starboard/contrib/tizen/armv7l/configuration_public.h b/src/starboard/contrib/tizen/armv7l/configuration_public.h
index 4f08902..e8f4c21 100644
--- a/src/starboard/contrib/tizen/armv7l/configuration_public.h
+++ b/src/starboard/contrib/tizen/armv7l/configuration_public.h
@@ -16,11 +16,15 @@
 #define STARBOARD_CONTRIB_TIZEN_ARMV7L_CONFIGURATION_PUBLIC_H_
 
 // The API version implemented by this platform.
-#define SB_API_VERSION 6
+#define SB_API_VERSION 10
 
 // The tizen policy version
 #define SB_TIZEN_POLICY_VERSION 4
 
+#define SB_HAS_ON_SCREEN_KEYBOARD 0
+#define SB_HAS_PLAYER_WITH_URL 0
+#define SB_HAS_ASYNC_AUDIO_FRAMES_REPORTING 0
+
 // --- Architecture Configuration --------------------------------------------
 
 // Whether the current platform is big endian. SB_IS_LITTLE_ENDIAN will be
@@ -92,7 +96,7 @@
 // --- I/O Configuration -----------------------------------------------------
 
 // Whether the current platform has microphone supported.
-#define SB_HAS_MICROPHONE 0
+#define SB_HAS_MICROPHONE 1
 
 // Whether the current platform has speech recognizer.
 #define SB_HAS_SPEECH_RECOGNIZER 0
diff --git a/src/starboard/contrib/tizen/armv7l/gyp_configuration.py b/src/starboard/contrib/tizen/armv7l/gyp_configuration.py
index 82ba369..793b79b 100644
--- a/src/starboard/contrib/tizen/armv7l/gyp_configuration.py
+++ b/src/starboard/contrib/tizen/armv7l/gyp_configuration.py
@@ -36,6 +36,8 @@
     variables = super(_PlatformConfig, self).GetVariables(configuration)
     variables.update({
         'clang': 0,
+        'javascript_engine': 'v8',
+        'cobalt_enable_jit': 1,
     })
 
     return variables
diff --git a/src/starboard/contrib/tizen/armv7l/system_get_property.cc b/src/starboard/contrib/tizen/armv7l/system_get_property.cc
index ff8a9e4..aebf1a5 100644
--- a/src/starboard/contrib/tizen/armv7l/system_get_property.cc
+++ b/src/starboard/contrib/tizen/armv7l/system_get_property.cc
@@ -73,10 +73,6 @@
     case kSbSystemPropertyPlatformName:
       return CopyStringAndTestIfSuccess(out_value, value_length, kPlatformName);
 
-    case kSbSystemPropertyPlatformUuid:
-      SB_NOTIMPLEMENTED();
-      return CopyStringAndTestIfSuccess(out_value, value_length, "N/A");
-
     default:
       SB_DLOG(WARNING) << __FUNCTION__
                        << ": Unrecognized property: " << property_id;
diff --git a/src/starboard/contrib/tizen/shared/gyp_configuration.gypi b/src/starboard/contrib/tizen/shared/gyp_configuration.gypi
index cef6312..3906f50 100644
--- a/src/starboard/contrib/tizen/shared/gyp_configuration.gypi
+++ b/src/starboard/contrib/tizen/shared/gyp_configuration.gypi
@@ -78,6 +78,7 @@
       '__STDC_FORMAT_MACROS', # so that we get PRI*
       # Enable GNU extensions to get prototypes like ffsl.
       '_GNU_SOURCE=1',
+      'U_HAVE_STD_STRING=1',
     ],
     'cflags': [
       '-pthread',
diff --git a/src/starboard/contrib/tizen/shared/starboard_common.gyp b/src/starboard/contrib/tizen/shared/starboard_common.gyp
index 5b7026f..fff2b96 100644
--- a/src/starboard/contrib/tizen/shared/starboard_common.gyp
+++ b/src/starboard/contrib/tizen/shared/starboard_common.gyp
@@ -34,7 +34,9 @@
         '<(DEPTH)/starboard/contrib/tizen/shared/system_has_capability.cc',
         '<(DEPTH)/starboard/contrib/tizen/shared/thread_create.cc',
         '<(DEPTH)/starboard/contrib/tizen/shared/thread_join.cc',
+        '<(DEPTH)/starboard/shared/dlmalloc/memory_map.cc',
         '<(DEPTH)/starboard/shared/dlmalloc/memory_protect.cc',
+        '<(DEPTH)/starboard/shared/dlmalloc/memory_unmap.cc',
         '<(DEPTH)/starboard/shared/gcc/atomic_gcc_public.h',
         '<(DEPTH)/starboard/shared/iso/character_is_alphanumeric.cc',
         '<(DEPTH)/starboard/shared/iso/character_is_digit.cc',
@@ -235,6 +237,25 @@
         '<(DEPTH)/third_party/libevent/libevent.gyp:libevent',
         'starboard_base_symbolize',
       ],
+      'conditions': [
+        ['use_dlmalloc_allocator==1', {
+          'sources': [
+            '<(DEPTH)/starboard/shared/dlmalloc/memory_allocate_aligned_unchecked.cc',
+            '<(DEPTH)/starboard/shared/dlmalloc/memory_allocate_unchecked.cc',
+            '<(DEPTH)/starboard/shared/dlmalloc/memory_free.cc',
+            '<(DEPTH)/starboard/shared/dlmalloc/memory_free_aligned.cc',
+            '<(DEPTH)/starboard/shared/dlmalloc/memory_reallocate_unchecked.cc',
+          ],
+        }, {
+          'sources': [
+            '<(DEPTH)/starboard/shared/iso/memory_allocate_unchecked.cc',
+            '<(DEPTH)/starboard/shared/iso/memory_free.cc',
+            '<(DEPTH)/starboard/shared/iso/memory_reallocate_unchecked.cc',
+            '<(DEPTH)/starboard/shared/posix/memory_allocate_aligned_unchecked.cc',
+            '<(DEPTH)/starboard/shared/posix/memory_free_aligned.cc',
+          ],
+        }],
+      ],
     },
   ],
 }
diff --git a/src/starboard/contrib/tizen/shared/starboard_platform.gypi b/src/starboard/contrib/tizen/shared/starboard_platform.gypi
index f8b84a4..f5bd53d 100644
--- a/src/starboard/contrib/tizen/shared/starboard_platform.gypi
+++ b/src/starboard/contrib/tizen/shared/starboard_platform.gypi
@@ -12,17 +12,21 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 {
+  'includes': [
+    '<(DEPTH)/starboard/shared/starboard/player/filter/player_filter.gypi',
+  ],
   'variables': {
+    'variables': {
+      'has_cdm%': '<!(test -e <(DEPTH)/third_party/ce_cdm/cdm/include/cdm.h && echo 1 || echo 0)',
+      'has_system_libvpx%' : '<!(pkg-config vpx && echo 1 || echo 0)',
+    },
+    # This has_cdm gets exported to gyp files that include this one.
+    'has_cdm%': '<(has_cdm)',
     'starboard_platform_sources': [
-      '<(DEPTH)/starboard/contrib/tizen/shared/alsa/alsa_audio_sink_type.cc',
-      '<(DEPTH)/starboard/contrib/tizen/shared/alsa/alsa_util.cc',
-      '<(DEPTH)/starboard/contrib/tizen/shared/alsa/alsa_util.h',
-      '<(DEPTH)/starboard/contrib/tizen/shared/alsa/audio_sink_is_audio_sample_type_supported.cc',
+      '<@(filter_based_player_sources)',
       '<(DEPTH)/starboard/contrib/tizen/shared/atomic_public.h',
       '<(DEPTH)/starboard/contrib/tizen/shared/configuration_public.h',
       '<(DEPTH)/starboard/contrib/tizen/shared/get_home_directory.cc',
-      '<(DEPTH)/starboard/contrib/tizen/shared/memory_flush.cc',
-      '<(DEPTH)/starboard/contrib/tizen/shared/player/player_output_mode_supported.cc',
       '<(DEPTH)/starboard/contrib/tizen/shared/system_get_connection_type.cc',
       '<(DEPTH)/starboard/contrib/tizen/shared/system_get_path.cc',
       '<(DEPTH)/starboard/contrib/tizen/shared/system_get_device_type.cc',
@@ -30,20 +34,38 @@
       '<(DEPTH)/starboard/contrib/tizen/shared/wayland/application_tizen.h',
       '<(DEPTH)/starboard/contrib/tizen/shared/wayland/window_internal_tizen.cc',
       '<(DEPTH)/starboard/contrib/tizen/shared/wayland/window_internal_tizen.h',
+      '<(DEPTH)/starboard/shared/wayland/application_wayland.cc',
+      '<(DEPTH)/starboard/shared/wayland/application_wayland.h',
+      '<(DEPTH)/starboard/shared/wayland/dev_input.cc',
+      '<(DEPTH)/starboard/shared/wayland/dev_input.h',
+      '<(DEPTH)/starboard/shared/wayland/egl_workaround.cc',
+      '<(DEPTH)/starboard/shared/wayland/native_display_type.cc',
+      '<(DEPTH)/starboard/shared/wayland/window_create.cc',
+      '<(DEPTH)/starboard/shared/wayland/window_destroy.cc',
+      '<(DEPTH)/starboard/shared/wayland/window_get_platform_handle.cc',
+      '<(DEPTH)/starboard/shared/wayland/window_get_size.cc',
+      '<(DEPTH)/starboard/shared/wayland/window_internal.cc',
+      '<(DEPTH)/starboard/shared/wayland/window_internal.h',
+
+      '<(DEPTH)/starboard/linux/shared/audio_sink_type_dispatcher.cc',
       '<(DEPTH)/starboard/linux/shared/decode_target_get_info.cc',
       '<(DEPTH)/starboard/linux/shared/decode_target_internal.cc',
       '<(DEPTH)/starboard/linux/shared/decode_target_internal.h',
       '<(DEPTH)/starboard/linux/shared/decode_target_release.cc',
+      '<(DEPTH)/starboard/linux/shared/media_is_audio_supported.cc',
       '<(DEPTH)/starboard/linux/shared/media_is_video_supported.cc',
       '<(DEPTH)/starboard/linux/shared/player_components_impl.cc',
       '<(DEPTH)/starboard/linux/shared/system_has_capability.cc',
+      '<(DEPTH)/starboard/shared/alsa/alsa_audio_sink_type.cc',
       '<(DEPTH)/starboard/shared/alsa/alsa_audio_sink_type.h',
-      '<(DEPTH)/starboard/shared/alsa/audio_sink_get_max_channels.cc',
-      '<(DEPTH)/starboard/shared/alsa/audio_sink_get_nearest_supported_sample_frequency.cc',
-      '<(DEPTH)/starboard/shared/alsa/audio_sink_is_audio_frame_storage_type_supported.cc',
+      '<(DEPTH)/starboard/shared/alsa/alsa_util.cc',
+      '<(DEPTH)/starboard/shared/alsa/alsa_util.h',
       '<(DEPTH)/starboard/shared/dlmalloc/memory_map.cc',
+      '<(DEPTH)/starboard/shared/dlmalloc/memory_protect.cc',
       '<(DEPTH)/starboard/shared/dlmalloc/memory_unmap.cc',
+      '<(DEPTH)/starboard/shared/egl/system_egl.cc',
       '<(DEPTH)/starboard/shared/gcc/atomic_gcc_public.h',
+      '<(DEPTH)/starboard/shared/gles/system_gles2.cc',
       '<(DEPTH)/starboard/shared/iso/character_is_alphanumeric.cc',
       '<(DEPTH)/starboard/shared/iso/character_is_digit.cc',
       '<(DEPTH)/starboard/shared/iso/character_is_hex_digit.cc',
@@ -78,6 +100,14 @@
       '<(DEPTH)/starboard/shared/iso/string_scan.cc',
       '<(DEPTH)/starboard/shared/iso/system_binary_search.cc',
       '<(DEPTH)/starboard/shared/iso/system_sort.cc',
+      '<(DEPTH)/starboard/shared/libaom/aom_library_loader.cc',
+      '<(DEPTH)/starboard/shared/libaom/aom_library_loader.h',
+      '<(DEPTH)/starboard/shared/libaom/aom_video_decoder.cc',
+      '<(DEPTH)/starboard/shared/libaom/aom_video_decoder.h',
+      '<(DEPTH)/starboard/shared/libde265/de265_library_loader.cc',
+      '<(DEPTH)/starboard/shared/libde265/de265_library_loader.h',
+      '<(DEPTH)/starboard/shared/libde265/de265_video_decoder.cc',
+      '<(DEPTH)/starboard/shared/libde265/de265_video_decoder.h',
       '<(DEPTH)/starboard/shared/libevent/socket_waiter_add.cc',
       '<(DEPTH)/starboard/shared/libevent/socket_waiter_create.cc',
       '<(DEPTH)/starboard/shared/libevent/socket_waiter_destroy.cc',
@@ -86,6 +116,8 @@
       '<(DEPTH)/starboard/shared/libevent/socket_waiter_wait.cc',
       '<(DEPTH)/starboard/shared/libevent/socket_waiter_wait_timed.cc',
       '<(DEPTH)/starboard/shared/libevent/socket_waiter_wake_up.cc',
+      '<(DEPTH)/starboard/shared/libvpx/vpx_library_loader.cc',
+      '<(DEPTH)/starboard/shared/libvpx/vpx_library_loader.h',
       '<(DEPTH)/starboard/shared/libvpx/vpx_video_decoder.cc',
       '<(DEPTH)/starboard/shared/libvpx/vpx_video_decoder.h',
       '<(DEPTH)/starboard/shared/linux/byte_swap.cc',
@@ -122,6 +154,7 @@
       '<(DEPTH)/starboard/shared/posix/log_format.cc',
       '<(DEPTH)/starboard/shared/posix/log_is_tty.cc',
       '<(DEPTH)/starboard/shared/posix/log_raw.cc',
+      '<(DEPTH)/starboard/shared/posix/memory_flush.cc',
       '<(DEPTH)/starboard/shared/posix/set_non_blocking_internal.cc',
       '<(DEPTH)/starboard/shared/posix/socket_accept.cc',
       '<(DEPTH)/starboard/shared/posix/socket_bind.cc',
@@ -147,6 +180,7 @@
       '<(DEPTH)/starboard/shared/posix/socket_set_tcp_keep_alive.cc',
       '<(DEPTH)/starboard/shared/posix/socket_set_tcp_no_delay.cc',
       '<(DEPTH)/starboard/shared/posix/socket_set_tcp_window_scaling.cc',
+      '<(DEPTH)/starboard/shared/posix/storage_write_record.cc',
       '<(DEPTH)/starboard/shared/posix/string_compare_no_case.cc',
       '<(DEPTH)/starboard/shared/posix/string_compare_no_case_n.cc',
       '<(DEPTH)/starboard/shared/posix/string_compare_wide.cc',
@@ -176,6 +210,8 @@
       '<(DEPTH)/starboard/shared/pthread/mutex_destroy.cc',
       '<(DEPTH)/starboard/shared/pthread/mutex_release.cc',
       '<(DEPTH)/starboard/shared/pthread/once.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_context_get_pointer.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_context_internal.h',
       '<(DEPTH)/starboard/shared/pthread/thread_create.cc',
       '<(DEPTH)/starboard/shared/pthread/thread_create_local_key.cc',
       '<(DEPTH)/starboard/shared/pthread/thread_create_priority.h',
@@ -185,8 +221,19 @@
       '<(DEPTH)/starboard/shared/pthread/thread_get_local_value.cc',
       '<(DEPTH)/starboard/shared/pthread/thread_is_equal.cc',
       '<(DEPTH)/starboard/shared/pthread/thread_join.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_create.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_destroy.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_freeze.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_internal.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_internal.h',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_is_supported.cc',
+      '<(DEPTH)/starboard/shared/pthread/thread_sampler_thaw.cc',
       '<(DEPTH)/starboard/shared/pthread/thread_set_local_value.cc',
       '<(DEPTH)/starboard/shared/pthread/thread_yield.cc',
+      '<(DEPTH)/starboard/shared/pulse/pulse_audio_sink_type.cc',
+      '<(DEPTH)/starboard/shared/pulse/pulse_audio_sink_type.h',
+      '<(DEPTH)/starboard/shared/pulse/pulse_dynamic_load_dispatcher.cc',
+      '<(DEPTH)/starboard/shared/pulse/pulse_dynamic_load_dispatcher.h',
       '<(DEPTH)/starboard/shared/signal/crash_signals.h',
       '<(DEPTH)/starboard/shared/signal/crash_signals_sigaction.cc',
       '<(DEPTH)/starboard/shared/signal/suspend_signals.cc',
@@ -194,8 +241,12 @@
       '<(DEPTH)/starboard/shared/starboard/application.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_create.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_destroy.cc',
+      '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_get_max_channels_5_1.cc',
+      '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_get_nearest_supported_sample_frequency.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_internal.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_internal.h',
+      '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_is_audio_frame_storage_type_supported_interleaved_only.cc',
+      '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_is_audio_sample_type_supported_float32_only.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/audio_sink_is_valid.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/stub_audio_sink_type.cc',
       '<(DEPTH)/starboard/shared/starboard/audio_sink/stub_audio_sink_type.h',
@@ -210,7 +261,6 @@
       '<(DEPTH)/starboard/shared/starboard/file_storage/storage_get_record_size.cc',
       '<(DEPTH)/starboard/shared/starboard/file_storage/storage_open_record.cc',
       '<(DEPTH)/starboard/shared/starboard/file_storage/storage_read_record.cc',
-      '<(DEPTH)/starboard/shared/starboard/file_storage/storage_write_record.cc',
       '<(DEPTH)/starboard/shared/starboard/log_message.cc',
       '<(DEPTH)/starboard/shared/starboard/log_mutex.cc',
       '<(DEPTH)/starboard/shared/starboard/log_mutex.h',
@@ -219,10 +269,21 @@
       '<(DEPTH)/starboard/shared/starboard/media/codec_util.cc',
       '<(DEPTH)/starboard/shared/starboard/media/codec_util.h',
       '<(DEPTH)/starboard/shared/starboard/media/media_can_play_mime_and_key_system.cc',
-      '<(DEPTH)/starboard/shared/starboard/media/media_get_audio_configuration_stereo_only.cc',
-      '<(DEPTH)/starboard/shared/starboard/media/media_get_audio_output_count_stereo_only.cc',
-      '<(DEPTH)/starboard/shared/starboard/media/media_is_audio_supported_aac_only.cc',
-      '<(DEPTH)/starboard/shared/starboard/media/media_is_output_protected.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_audio_buffer_budget.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_audio_configuration_5_1.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_audio_output_count_single_audio_output.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_buffer_alignment.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_buffer_allocation_unit.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_buffer_garbage_collection_duration_threshold.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_buffer_padding.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_buffer_storage_type.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_initial_buffer_capacity.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_max_buffer_capacity.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_progressive_buffer_budget.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_get_video_buffer_budget.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_is_buffer_pool_allocate_on_demand.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_is_buffer_using_memory_pool.cc',
+      '<(DEPTH)/starboard/shared/starboard/media/media_is_transfer_characteristics_supported.cc',
       '<(DEPTH)/starboard/shared/starboard/media/media_set_output_protection.cc',
       '<(DEPTH)/starboard/shared/starboard/media/media_util.cc',
       '<(DEPTH)/starboard/shared/starboard/media/media_util.h',
@@ -231,39 +292,6 @@
       '<(DEPTH)/starboard/shared/starboard/new.cc',
       '<(DEPTH)/starboard/shared/starboard/player/decoded_audio_internal.cc',
       '<(DEPTH)/starboard/shared/starboard/player/decoded_audio_internal.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_decoder_internal.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_frame_tracker.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_frame_tracker.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_renderer_internal.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_renderer_internal.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_renderer_sink.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_renderer_sink_impl.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_renderer_sink_impl.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_resampler_impl.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_time_stretcher.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/audio_time_stretcher.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/cpu_video_frame.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/cpu_video_frame.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/decoded_audio_queue.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/decoded_audio_queue.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/filter_based_player_worker_handler.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/filter_based_player_worker_handler.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/media_time_provider.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/media_time_provider_impl.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/media_time_provider_impl.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/player_components.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/punchout_video_renderer_sink.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/punchout_video_renderer_sink.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_decoder_internal.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_frame_internal.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_render_algorithm.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_render_algorithm_impl.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_render_algorithm_impl.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_renderer_internal.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_renderer_internal.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/video_renderer_sink.h',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/wsola_internal.cc',
-      '<(DEPTH)/starboard/shared/starboard/player/filter/wsola_internal.h',
       '<(DEPTH)/starboard/shared/starboard/player/input_buffer_internal.cc',
       '<(DEPTH)/starboard/shared/starboard/player/input_buffer_internal.h',
       '<(DEPTH)/starboard/shared/starboard/player/job_queue.cc',
@@ -274,10 +302,13 @@
       '<(DEPTH)/starboard/shared/starboard/player/player_destroy.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_get_current_frame.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_get_info.cc',
+      '<(DEPTH)/starboard/shared/starboard/player/player_get_info2.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_get_maximum_number_of_samples_per_write.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_internal.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_internal.h',
+      '<(DEPTH)/starboard/shared/starboard/player/player_output_mode_supported.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_seek.cc',
+      '<(DEPTH)/starboard/shared/starboard/player/player_seek2.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_set_bounds.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_set_playback_rate.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_set_volume.cc',
@@ -285,6 +316,7 @@
       '<(DEPTH)/starboard/shared/starboard/player/player_worker.h',
       '<(DEPTH)/starboard/shared/starboard/player/player_write_end_of_stream.cc',
       '<(DEPTH)/starboard/shared/starboard/player/player_write_sample.cc',
+      '<(DEPTH)/starboard/shared/starboard/player/player_write_sample2.cc',
       '<(DEPTH)/starboard/shared/starboard/queue_application.cc',
       '<(DEPTH)/starboard/shared/starboard/string_concat.cc',
       '<(DEPTH)/starboard/shared/starboard/string_concat_wide.cc',
@@ -296,6 +328,7 @@
       '<(DEPTH)/starboard/shared/starboard/system_request_stop.cc',
       '<(DEPTH)/starboard/shared/starboard/system_request_suspend.cc',
       '<(DEPTH)/starboard/shared/starboard/system_request_unpause.cc',
+      '<(DEPTH)/starboard/shared/starboard/system_supports_resume.cc',
       '<(DEPTH)/starboard/shared/starboard/window_set_default_options.cc',
       '<(DEPTH)/starboard/shared/stub/accessibility_get_display_settings.cc',
       '<(DEPTH)/starboard/shared/stub/accessibility_get_text_to_speech_settings.cc',
@@ -306,33 +339,34 @@
       '<(DEPTH)/starboard/shared/stub/cryptography_set_authenticated_data.cc',
       '<(DEPTH)/starboard/shared/stub/cryptography_set_initialization_vector.cc',
       '<(DEPTH)/starboard/shared/stub/cryptography_transform.cc',
-      '<(DEPTH)/starboard/shared/stub/drm_close_session.cc',
-      '<(DEPTH)/starboard/shared/stub/drm_create_system.cc',
-      '<(DEPTH)/starboard/shared/stub/drm_destroy_system.cc',
-      '<(DEPTH)/starboard/shared/stub/drm_generate_session_update_request.cc',
-      '<(DEPTH)/starboard/shared/stub/drm_system_internal.h',
-      '<(DEPTH)/starboard/shared/stub/drm_update_session.cc',
+      '<(DEPTH)/starboard/shared/stub/system_get_extensions.cc',
       '<(DEPTH)/starboard/shared/stub/image_decode.cc',
       '<(DEPTH)/starboard/shared/stub/image_is_decode_supported.cc',
-      '<(DEPTH)/starboard/shared/stub/media_is_supported.cc',
-      '<(DEPTH)/starboard/shared/stub/media_is_transfer_characteristics_supported.cc',
-      '<(DEPTH)/starboard/shared/stub/system_clear_platform_error.cc',
+      '<(DEPTH)/starboard/shared/stub/media_set_audio_write_duration.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_close.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_create.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_destroy.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_get_available.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_is_sample_rate_supported.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_open.cc',
+      '<(DEPTH)/starboard/shared/stub/microphone_read.cc',
       '<(DEPTH)/starboard/shared/stub/system_get_total_gpu_memory.cc',
       '<(DEPTH)/starboard/shared/stub/system_get_used_gpu_memory.cc',
       '<(DEPTH)/starboard/shared/stub/system_hide_splash_screen.cc',
       '<(DEPTH)/starboard/shared/stub/system_raise_platform_error.cc',
-      '<(DEPTH)/starboard/shared/wayland/application_wayland.cc',
-      '<(DEPTH)/starboard/shared/wayland/application_wayland.h',
-      '<(DEPTH)/starboard/shared/wayland/dev_input.cc',
-      '<(DEPTH)/starboard/shared/wayland/dev_input.h',
-      '<(DEPTH)/starboard/shared/wayland/egl_workaround.cc',
-      '<(DEPTH)/starboard/shared/wayland/native_display_type.cc',
-      '<(DEPTH)/starboard/shared/wayland/window_create.cc',
-      '<(DEPTH)/starboard/shared/wayland/window_destroy.cc',
-      '<(DEPTH)/starboard/shared/wayland/window_get_platform_handle.cc',
-      '<(DEPTH)/starboard/shared/wayland/window_get_size.cc',
-      '<(DEPTH)/starboard/shared/wayland/window_internal.cc',
-      '<(DEPTH)/starboard/shared/wayland/window_internal.h',
+      '<(DEPTH)/starboard/shared/stub/ui_nav_get_interface.cc',
+      '<(DEPTH)/starboard/shared/stub/window_get_diagonal_size_in_inches.cc',
+    ],
+    'starboard_platform_dependencies': [
+      '<(DEPTH)/starboard/common/common.gyp:common',
+      '<(DEPTH)/starboard/linux/shared/starboard_base_symbolize.gyp:starboard_base_symbolize',
+      '<(DEPTH)/starboard/shared/ffmpeg/ffmpeg.gyp:ffmpeg_dynamic_load',
+      '<(DEPTH)/third_party/aom_includes/aom_includes.gyp:aom',
+      '<(DEPTH)/third_party/boringssl/boringssl.gyp:crypto',
+      '<(DEPTH)/third_party/de265_includes/de265_includes.gyp:de265',
+      '<(DEPTH)/third_party/dlmalloc/dlmalloc.gyp:dlmalloc',
+      '<(DEPTH)/third_party/libevent/libevent.gyp:libevent',
+      '<(DEPTH)/third_party/pulseaudio_includes/pulseaudio_includes.gyp:pulseaudio',
     ],
     'conditions': [
       ['use_dlmalloc_allocator==1', {
@@ -342,7 +376,7 @@
           '<(DEPTH)/starboard/shared/dlmalloc/memory_free.cc',
           '<(DEPTH)/starboard/shared/dlmalloc/memory_free_aligned.cc',
           '<(DEPTH)/starboard/shared/dlmalloc/memory_reallocate_unchecked.cc',
-          '<(DEPTH)/starboard/shared/dlmalloc/system_get_used_cpu_memory.cc',
+          '<(DEPTH)/starboard/shared/linux/system_get_used_cpu_memory.cc',
         ],
       }, {
         'starboard_platform_sources': [
@@ -353,15 +387,52 @@
           '<(DEPTH)/starboard/shared/posix/memory_allocate_aligned_unchecked.cc',
           '<(DEPTH)/starboard/shared/posix/memory_free_aligned.cc',
         ],
-      }]
-    ],
-    'starboard_platform_dependencies': [
-      '<(DEPTH)/starboard/common/common.gyp:common',
-      '<(DEPTH)/starboard/linux/shared/starboard_base_symbolize.gyp:starboard_base_symbolize',
-      '<(DEPTH)/starboard/shared/ffmpeg/ffmpeg.gyp:ffmpeg_linked',
-      '<(DEPTH)/third_party/dlmalloc/dlmalloc.gyp:dlmalloc',
-      '<(DEPTH)/third_party/libevent/libevent.gyp:libevent',
-      '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
+      }],
+      ['has_cdm==1', {
+        'starboard_platform_dependencies': [
+          '<(DEPTH)/starboard/shared/widevine/widevine3.gyp:oemcrypto',
+          '<(DEPTH)/starboard/shared/widevine/widevine3.gyp:widevine_ce_cdm_static',
+        ],
+        'starboard_platform_sources': [
+          '<(DEPTH)/starboard/linux/shared/drm_create_system.cc',
+          '<(DEPTH)/starboard/linux/shared/media_is_output_protected.cc',
+          '<(DEPTH)/starboard/linux/shared/oemcrypto_engine_device_properties_linux.cc',
+
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_close_session.cc',
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_destroy_system.cc',
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_generate_session_update_request.cc',
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_is_server_certificate_updatable.cc',
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_system_internal.h',
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_update_server_certificate.cc',
+          '<(DEPTH)/starboard/shared/starboard/drm/drm_update_session.cc',
+
+          '<(DEPTH)/starboard/shared/widevine/drm_system_widevine.cc',
+          '<(DEPTH)/starboard/shared/widevine/drm_system_widevine.h',
+          '<(DEPTH)/starboard/shared/widevine/media_is_supported.cc',
+          '<(DEPTH)/starboard/shared/widevine/widevine_storage.cc',
+          '<(DEPTH)/starboard/shared/widevine/widevine_storage.h',
+          '<(DEPTH)/starboard/shared/widevine/widevine_timer.cc',
+          '<(DEPTH)/starboard/shared/widevine/widevine_timer.h',
+        ],
+      }, {
+        'starboard_platform_sources': [
+          '<(DEPTH)/starboard/shared/starboard/media/media_is_output_protected.cc',
+          '<(DEPTH)/starboard/shared/stub/media_is_supported.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_close_session.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_create_system.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_destroy_system.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_generate_session_update_request.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_is_server_certificate_updatable.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_system_internal.h',
+          '<(DEPTH)/starboard/shared/stub/drm_update_server_certificate.cc',
+          '<(DEPTH)/starboard/shared/stub/drm_update_session.cc',
+        ],
+      }],
+      ['has_system_libvpx==0', {
+        'starboard_platform_dependencies': [
+          '<(DEPTH)/third_party/vpx_includes/vpx_includes.gyp:vpx',
+        ],
+      }],
     ],
   },
   'conditions': [
diff --git a/src/starboard/contrib/tizen/shared/system_get_path.cc b/src/starboard/contrib/tizen/shared/system_get_path.cc
index c45d1a3..c2ba82c 100644
--- a/src/starboard/contrib/tizen/shared/system_get_path.cc
+++ b/src/starboard/contrib/tizen/shared/system_get_path.cc
@@ -132,15 +132,6 @@
 
       SbDirectoryCreate(path);
       break;
-    case kSbSystemPathSourceDirectory:
-      if (!GetPackageDirectory(path, kPathSize)) {
-        return false;
-      }
-      if (SbStringConcat(path, "/content/dir_source_root", kPathSize) >=
-          kPathSize) {
-        return false;
-      }
-      break;
     case kSbSystemPathTempDirectory:
       if (SbStringCopy(path, "/tmp/cobalt", kPathSize) >= kPathSize) {
         return false;
diff --git a/src/starboard/linux/shared/compiler_flags.gypi b/src/starboard/linux/shared/compiler_flags.gypi
index f1fae58..ed98d05 100644
--- a/src/starboard/linux/shared/compiler_flags.gypi
+++ b/src/starboard/linux/shared/compiler_flags.gypi
@@ -32,14 +32,24 @@
     ],
     'compiler_flags_qa': [
       '-fno-rtti',
-      '-O2',
       '-gline-tables-only',
     ],
+    'compiler_flags_qa_size': [
+      '-Os',
+    ],
+    'compiler_flags_qa_speed': [
+      '-O2',
+    ],
     'compiler_flags_gold': [
       '-fno-rtti',
-      '-O2',
       '-gline-tables-only',
     ],
+    'compiler_flags_gold_size': [
+      '-Os',
+    ],
+    'compiler_flags_gold_speed': [
+      '-O2',
+    ],
     'conditions': [
       ['clang==1', {
         'linker_flags': [
diff --git a/src/starboard/linux/x64x11/clang/3.6/download_clang.sh b/src/starboard/linux/x64x11/clang/3.6/download_clang.sh
index 0117209..d83afe7 100755
--- a/src/starboard/linux/x64x11/clang/3.6/download_clang.sh
+++ b/src/starboard/linux/x64x11/clang/3.6/download_clang.sh
@@ -33,7 +33,8 @@
 
 build_duration="about 20 minutes"
 
-cd $(dirname $0)
+scriptfolder=$(dirname $(realpath $0))
+cd ${scriptfolder}
 source ../../toolchain_paths.sh
 
 (
@@ -51,6 +52,11 @@
   git clone --branch ${branch} https://git.llvm.org/git/compiler-rt.git/
   cd ${toolchain_path}
 
+  # Patch for compiling with gcc newer than version 7.
+  patch -p1 <${scriptfolder}/hasmd.patch
+  patch -p1 <${scriptfolder}/ustat_size.patch
+  patch -d llvm/projects/compiler-rt/ -p0 <${scriptfolder}/sigaltstack.patch
+
   cd llvm
   # Specify a bootstrap compiler that is known to be available.
   CC=gcc CXX=g++ \
diff --git a/src/starboard/linux/x64x11/clang/3.6/hasmd.patch b/src/starboard/linux/x64x11/clang/3.6/hasmd.patch
new file mode 100644
index 0000000..f4ddf53
--- /dev/null
+++ b/src/starboard/linux/x64x11/clang/3.6/hasmd.patch
@@ -0,0 +1,11 @@
+--- x86_64-linux-gnu-clang-3.6.orig/llvm/include/llvm/IR/ValueMap.h	2019-08-21 11:38:34.282434856 -0700
++++ x86_64-linux-gnu-clang-3.6/llvm/include/llvm/IR/ValueMap.h	2019-08-21 11:33:41.327987115 -0700
+@@ -101,7 +101,7 @@
+ 
+   ~ValueMap() {}
+ 
+-  bool hasMD() const { return MDMap; }
++  bool hasMD() const { return static_cast<bool>(MDMap); }
+   MDMapT &MD() {
+     if (!MDMap)
+       MDMap.reset(new MDMapT);
diff --git a/src/starboard/linux/x64x11/clang/3.6/sigaltstack.patch b/src/starboard/linux/x64x11/clang/3.6/sigaltstack.patch
new file mode 100644
index 0000000..d8ce752
--- /dev/null
+++ b/src/starboard/linux/x64x11/clang/3.6/sigaltstack.patch
@@ -0,0 +1,62 @@
+Index: lib/sanitizer_common/sanitizer_linux.h
+===================================================================
+--- lib/sanitizer_common/sanitizer_linux.h
++++ lib/sanitizer_common/sanitizer_linux.h
+@@ -21,7 +21,6 @@
+ #include "sanitizer_platform_limits_posix.h"
+ 
+ struct link_map;  // Opaque type returned by dlopen().
+-struct sigaltstack;
+ 
+ namespace __sanitizer {
+ // Dirent structure for getdents(). Note that this structure is different from
+@@ -30,8 +29,7 @@
+ 
+ // Syscall wrappers.
+ uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
+-uptr internal_sigaltstack(const struct sigaltstack* ss,
+-                          struct sigaltstack* oss);
++uptr internal_sigaltstack(const void* ss, void* oss);
+ uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
+     __sanitizer_sigset_t *oldset);
+ 
+Index: lib/sanitizer_common/sanitizer_linux.cc
+===================================================================
+--- lib/sanitizer_common/sanitizer_linux.cc
++++ lib/sanitizer_common/sanitizer_linux.cc
+@@ -631,8 +631,7 @@
+ }
+ #endif
+ 
+-uptr internal_sigaltstack(const struct sigaltstack *ss,
+-                         struct sigaltstack *oss) {
++uptr internal_sigaltstack(const void *ss, void *oss) {
+   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
+ }
+ 
+Index: lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+===================================================================
+--- lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
++++ lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+@@ -287,7 +287,7 @@
+ 
+   // Alternate stack for signal handling.
+   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
+-  struct sigaltstack handler_stack;
++  stack_t handler_stack;
+   internal_memset(&handler_stack, 0, sizeof(handler_stack));
+   handler_stack.ss_sp = handler_stack_memory.data();
+   handler_stack.ss_size = kHandlerStackSize;
+Index: lib/tsan/rtl/tsan_platform_linux.cc
+===================================================================
+--- lib/tsan/rtl/tsan_platform_linux.cc
++++ lib/tsan/rtl/tsan_platform_linux.cc
+@@ -288,7 +288,7 @@
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+   int cnt = 0;
+-  __res_state *statp = (__res_state*)state;
++  struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
+       fds[cnt++] = statp->_u._ext.nssocks[i];
diff --git a/src/starboard/linux/x64x11/clang/3.6/ustat_size.patch b/src/starboard/linux/x64x11/clang/3.6/ustat_size.patch
new file mode 100644
index 0000000..e2c7f23
--- /dev/null
+++ b/src/starboard/linux/x64x11/clang/3.6/ustat_size.patch
@@ -0,0 +1,31 @@
+--- x86_64-linux-gnu-clang-3.6.orig/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc     2019-08-21 11:38:34.282434856 -0700
++++ x86_64-linux-gnu-clang-3.6/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc  2019-08-21 11:33:41.327987115 -0700
+@@ -159,7 +159,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -251,7 +251,19 @@
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+-  unsigned struct_ustat_sz = sizeof(struct ustat);
++// Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++// has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++  || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++  || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++  || defined(__powerpc__) || defined(__s390__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++  unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+ #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
diff --git a/src/starboard/raspi/shared/gyp_configuration.gypi b/src/starboard/raspi/shared/gyp_configuration.gypi
index 4749467..f680796 100644
--- a/src/starboard/raspi/shared/gyp_configuration.gypi
+++ b/src/starboard/raspi/shared/gyp_configuration.gypi
@@ -95,16 +95,26 @@
       '-frtti',
     ],
     'compiler_flags_qa': [
-      '-O2',
       '-Wno-unused-but-set-variable',
     ],
+    'compiler_flags_qa_size': [
+      '-Os',
+    ],
+    'compiler_flags_qa_speed': [
+      '-O2',
+    ],
     'compiler_flags_cc_qa': [
       '-fno-rtti',
     ],
     'compiler_flags_gold': [
-      '-O2',
       '-Wno-unused-but-set-variable',
     ],
+    'compiler_flags_gold_size': [
+      '-Os',
+    ],
+    'compiler_flags_gold_speed': [
+      '-O2',
+    ],
     'compiler_flags_cc_gold': [
       '-fno-rtti',
     ],
diff --git a/src/third_party/mozjs-45/mozjs-45.gyp b/src/third_party/mozjs-45/mozjs-45.gyp
index 1b53555..13d5e4e 100644
--- a/src/third_party/mozjs-45/mozjs-45.gyp
+++ b/src/third_party/mozjs-45/mozjs-45.gyp
@@ -17,6 +17,7 @@
   ],
   'variables': {
     'generated_include_directory': '<(SHARED_INTERMEDIATE_DIR)/mozjs-45/include',
+    'optimize_target_for_speed': 1,
 
     'common_cflags': [
       '-include',
