diff --git a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
index 3488120543..01a02fae78 100644
--- a/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
+++ b/qt3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cpp
@@ -46,6 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 #ifndef ASSIMP_BUILD_NO_FBX_IMPORTER
+#include <cstdint>
 
 #include "FBXTokenizer.h"
 #include "FBXUtil.h"
diff --git a/qtbase/src/corelib/global/qtypes.h b/qtbase/src/corelib/global/qtypes.h
index 41e6025735..751747d89b 100644
--- a/qtbase/src/corelib/global/qtypes.h
+++ b/qtbase/src/corelib/global/qtypes.h
@@ -156,7 +156,7 @@ __extension__ typedef __uint128_t quint128;
 
 #ifndef __cplusplus
 // In C++ mode, we define below using QIntegerForSize template
-static_assert(sizeof(ptrdiff_t) == sizeof(size_t), "Weird ptrdiff_t and size_t definitions");
+
 typedef ptrdiff_t qptrdiff;
 typedef ptrdiff_t qsizetype;
 typedef ptrdiff_t qintptr;
diff --git a/qtbase/src/corelib/plugin/qelfparser_p.cpp b/qtbase/src/corelib/plugin/qelfparser_p.cpp
index ffc4a14be0..92e0e5f600 100644
--- a/qtbase/src/corelib/plugin/qelfparser_p.cpp
+++ b/qtbase/src/corelib/plugin/qelfparser_p.cpp
@@ -112,7 +112,7 @@ struct ElfMachineCheck
 #elif defined(Q_PROCESSOR_ARM_32)
             EM_ARM
 #elif defined(Q_PROCESSOR_ARM_64)
-            EM_AARCH64
+            183
 #elif defined(Q_PROCESSOR_BLACKFIN)
             EM_BLACKFIN
 #elif defined(Q_PROCESSOR_HPPA)
@@ -382,7 +382,7 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION static QDebug &operator<<(QDebug &d, ElfHeade
     case EM_ALPHA:      d << ", Alpha"; break;
     case EM_68K:        d << ", MC68000"; break;
     case EM_ARM:        d << ", ARM"; break;
-    case EM_AARCH64:    d << ", AArch64"; break;
+    case 183:    d << ", AArch64"; break;
 #ifdef EM_BLACKFIN
     case EM_BLACKFIN:   d << ", Blackfin"; break;
 #endif
diff --git a/qtbase/src/corelib/plugin/qlibrary_unix.cpp b/qtbase/src/corelib/plugin/qlibrary_unix.cpp
index 84f572a003..fa69ecc2b4 100644
--- a/qtbase/src/corelib/plugin/qlibrary_unix.cpp
+++ b/qtbase/src/corelib/plugin/qlibrary_unix.cpp
@@ -142,7 +142,7 @@ bool QLibraryPrivate::load_sys()
 #   ifdef Q_OS_ANDROID // RTLD_NODELETE flag is supported by Android 23+
         if (QtAndroidPrivate::androidSdkVersion() > 22)
 #   endif
-            dlFlags |= RTLD_NODELETE;
+            //dlFlags |= RTLD_NODELETE;
     }
 #endif
 
@@ -262,6 +262,7 @@ bool QLibraryPrivate::load_sys()
 
 bool QLibraryPrivate::unload_sys()
 {
+return true;
     if (dlclose(pHnd.loadAcquire())) {
 #if defined (Q_OS_QNX)                // Workaround until fixed in QNX; fixes crash in
         char *error = dlerror();      // QtDeclarative auto test "qqmlenginecleanup" for instance
diff --git a/qtbase/src/gui/platform/unix/qxkbcommon.cpp b/qtbase/src/gui/platform/unix/qxkbcommon.cpp
index d254aeecdc..e53de69a7c 100644
--- a/qtbase/src/gui/platform/unix/qxkbcommon.cpp
+++ b/qtbase/src/gui/platform/unix/qxkbcommon.cpp
@@ -239,10 +239,10 @@ static constexpr const auto KeyTbl = qMakeArray(
         Xkb2Qt<XKB_KEY_dead_small_schwa,        Qt::Key_Dead_Small_Schwa>,
         Xkb2Qt<XKB_KEY_dead_capital_schwa,      Qt::Key_Dead_Capital_Schwa>,
         Xkb2Qt<XKB_KEY_dead_greek,              Qt::Key_Dead_Greek>,
-        Xkb2Qt<XKB_KEY_dead_lowline,            Qt::Key_Dead_Lowline>,
-        Xkb2Qt<XKB_KEY_dead_aboveverticalline,  Qt::Key_Dead_Aboveverticalline>,
-        Xkb2Qt<XKB_KEY_dead_belowverticalline,  Qt::Key_Dead_Belowverticalline>,
-        Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>,
+        
+        
+        
+        
 
         // Special keys from X.org - This include multimedia keys,
         // wireless/bluetooth/uwb keys, special launcher keys, etc.
diff --git a/qtmultimedia/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp b/qtmultimedia/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
index bbb3e4a95f..9f59cb013b 100644
--- a/qtmultimedia/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
+++ b/qtmultimedia/src/plugins/multimedia/gstreamer/mediacapture/qgstreamercamera.cpp
@@ -16,6 +16,13 @@
 
 #include <QtCore/qdebug.h>
 
+#define V4L2_CTRL_CLASS_CAMERA               0x009a0000
+#define V4L2_CID_CAMERA_CLASS_BASE  (V4L2_CTRL_CLASS_CAMERA | 0x900)
+#define V4L2_CID_AUTO_EXPOSURE_BIAS          (V4L2_CID_CAMERA_CLASS_BASE+19)
+#define V4L2_CID_ISO_SENSITIVITY_AUTO                (V4L2_CID_CAMERA_CLASS_BASE+24)
+#define V4L2_CID_ISO_SENSITIVITY             (V4L2_CID_CAMERA_CLASS_BASE+23)
+
+
 QT_BEGIN_NAMESPACE
 
 QMaybe<QPlatformCamera *> QGstreamerCamera::create(QCamera *camera)
@@ -419,7 +426,7 @@ void QGstreamerCamera::setManualIsoSensitivity(int iso)
     if (isV4L2Camera()) {
         if (!(supportedFeatures() & QCamera::Feature::IsoSensitivity))
             return;
-        setV4L2Parameter(V4L2_CID_ISO_SENSITIVITY_AUTO, iso <= 0 ? V4L2_ISO_SENSITIVITY_AUTO : V4L2_ISO_SENSITIVITY_MANUAL);
+        setV4L2Parameter(V4L2_CID_ISO_SENSITIVITY_AUTO, iso <= 0 ? 1 : 0);
         if (iso > 0) {
             iso = qBound(minIso(), iso, maxIso());
             setV4L2Parameter(V4L2_CID_ISO_SENSITIVITY, iso);
diff --git a/qtwebengine/src/3rdparty/chromium/base/allocator/partition_allocator/pkey.cc b/qtwebengine/src/3rdparty/chromium/base/allocator/partition_allocator/pkey.cc
index dc4d0a67f3..c975441748 100644
--- a/qtwebengine/src/3rdparty/chromium/base/allocator/partition_allocator/pkey.cc
+++ b/qtwebengine/src/3rdparty/chromium/base/allocator/partition_allocator/pkey.cc
@@ -32,7 +32,7 @@ PkeySettings PkeySettings::settings PA_PKEY_ALIGN;
 
 PA_COMPONENT_EXPORT(PARTITION_ALLOC)
 int PkeyMprotect(void* addr, size_t len, int prot, int pkey) {
-  return syscall(SYS_pkey_mprotect, addr, len, prot, pkey);
+  return syscall(329, addr, len, prot, pkey);
 }
 
 int PkeyMprotectIfEnabled(void* addr, size_t len, int prot, int pkey) {
@@ -76,12 +76,12 @@ void TagGlobalsWithPkey(int pkey) {
 
 PA_COMPONENT_EXPORT(PARTITION_ALLOC)
 int PkeyAlloc(int access_rights) {
-  return syscall(SYS_pkey_alloc, 0, access_rights);
+  return syscall(330, 0, access_rights);
 }
 
 PA_COMPONENT_EXPORT(PARTITION_ALLOC)
 void PkeyFree(int pkey) {
-  PA_PCHECK(syscall(SYS_pkey_free, pkey) == 0);
+  PA_PCHECK(syscall(331, pkey) == 0);
 }
 
 uint32_t Rdpkru() {
diff --git a/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py b/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
index 2a1802dccd..eadfc20a3c 100755
--- a/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
+++ b/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py
@@ -9,7 +9,7 @@
 """
 from __future__ import print_function
 import abc
-import imp
+import importlib
 import optparse
 import os
 import re
diff --git a/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc b/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc
index 3eb5b4a4cb..e847d829a4 100644
--- a/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc
+++ b/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/v4l2_capture_delegate.cc
@@ -291,7 +291,7 @@ void V4L2CaptureDelegate::AllocateAndStart(
   ResetUserAndCameraControlsToDefault();
 
   // In theory, checking for CAPTURE/OUTPUT in caps.capabilities should only
-  // be done if V4L2_CAP_DEVICE_CAPS is not set. However, this was not done
+  // be done if 0x80000000 is not set. However, this was not done
   // in the past and it is unclear if it breaks with existing devices. And if
   // a device is accepted incorrectly then it will not have any usable
   // formats and is skipped anyways.
@@ -299,9 +299,9 @@ void V4L2CaptureDelegate::AllocateAndStart(
   if (!(DoIoctl(VIDIOC_QUERYCAP, &cap) == 0 &&
         (((cap.capabilities & V4L2_CAP_VIDEO_CAPTURE) &&
           !(cap.capabilities & V4L2_CAP_VIDEO_OUTPUT)) ||
-         ((cap.capabilities & V4L2_CAP_DEVICE_CAPS) &&
-          (cap.device_caps & V4L2_CAP_VIDEO_CAPTURE) &&
-          !(cap.device_caps & V4L2_CAP_VIDEO_OUTPUT))))) {
+         ((cap.capabilities & 0x80000000) &&
+          (cap.reserved[0] & V4L2_CAP_VIDEO_CAPTURE) &&
+          !(cap.reserved[0] & V4L2_CAP_VIDEO_OUTPUT))))) {
     device_fd_.reset();
     SetErrorState(VideoCaptureError::kV4L2ThisIsNotAV4L2VideoCaptureDevice,
                   FROM_HERE, "This is not a V4L2 video capture device");
@@ -471,7 +471,7 @@ void V4L2CaptureDelegate::GetPhotoState(
   // AUTO, SHUTTER_PRIORITY or APERTURE_PRIORITY. Drivers should interpret the
   // values as 0.001 EV units, where the value 1000 stands for +1 EV.
   photo_capabilities->exposure_compensation =
-      RetrieveUserControlRange(V4L2_CID_AUTO_EXPOSURE_BIAS);
+      RetrieveUserControlRange(0x9a0913);
 
   photo_capabilities->color_temperature =
       RetrieveUserControlRange(V4L2_CID_WHITE_BALANCE_TEMPERATURE);
@@ -644,7 +644,7 @@ void V4L2CaptureDelegate::SetPhotoOptions(
     // control is set to AUTO, SHUTTER_PRIORITY or APERTURE_PRIORITY.
     if (result >= 0 && current_auto_exposure.value != V4L2_EXPOSURE_MANUAL) {
       v4l2_control set_exposure_bias = {};
-      set_exposure_bias.id = V4L2_CID_AUTO_EXPOSURE_BIAS;
+      set_exposure_bias.id = 0x9a0913;
       set_exposure_bias.value = settings->exposure_compensation;
       if (DoIoctl(VIDIOC_S_CTRL, &set_exposure_bias) < 0) {
         DPLOG(ERROR) << "setting exposure compensation to "
@@ -778,7 +778,7 @@ bool V4L2CaptureDelegate::IsControllableControl(int control_id) {
 }
 
 void V4L2CaptureDelegate::ReplaceControlEventSubscriptions() {
-  constexpr uint32_t kControlIds[] = {V4L2_CID_AUTO_EXPOSURE_BIAS,
+  constexpr uint32_t kControlIds[] = {0x9a0913,
                                       V4L2_CID_AUTO_WHITE_BALANCE,
                                       V4L2_CID_BRIGHTNESS,
                                       V4L2_CID_CONTRAST,
diff --git a/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc b/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc
index 3ae03cb7d3..7b33005386 100644
--- a/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc
+++ b/qtwebengine/src/3rdparty/chromium/media/capture/video/linux/video_capture_device_factory_v4l2.cc
@@ -174,7 +174,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo(
     // capabilities at the same time are memory-to-memory and are skipped, see
     // http://crbug.com/139356.
     // In theory, checking for CAPTURE/OUTPUT in caps.capabilities should only
-    // be done if V4L2_CAP_DEVICE_CAPS is not set. However, this was not done
+    // be done if 0x80000000 is not set. However, this was not done
     // in the past and it is unclear if it breaks with existing devices. And if
     // a device is accepted incorrectly then it will not have any usable
     // formats and is skipped anyways.
@@ -182,9 +182,9 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo(
     if ((DoIoctl(fd.get(), VIDIOC_QUERYCAP, &cap) == 0) &&
         ((cap.capabilities & V4L2_CAP_VIDEO_CAPTURE &&
           !(cap.capabilities & V4L2_CAP_VIDEO_OUTPUT)) ||
-         (cap.capabilities & V4L2_CAP_DEVICE_CAPS &&
-          cap.device_caps & V4L2_CAP_VIDEO_CAPTURE &&
-          !(cap.device_caps & V4L2_CAP_VIDEO_OUTPUT))) &&
+         (cap.capabilities & 0x80000000 &&
+          cap.reserved[0] & V4L2_CAP_VIDEO_CAPTURE &&
+          !(cap.reserved[0] & V4L2_CAP_VIDEO_OUTPUT))) &&
         HasUsableFormats(fd.get(), cap.capabilities)) {
       const std::string model_id =
           device_provider_->GetDeviceModelId(unique_id);
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/core/channel_linux.cc b/qtwebengine/src/3rdparty/chromium/mojo/core/channel_linux.cc
index 094278aa95..025d9dc82c 100644
--- a/qtwebengine/src/3rdparty/chromium/mojo/core/channel_linux.cc
+++ b/qtwebengine/src/3rdparty/chromium/mojo/core/channel_linux.cc
@@ -6,7 +6,7 @@
 
 #include <fcntl.h>
 #include <linux/futex.h>
-#include <linux/memfd.h>
+
 #include <sys/eventfd.h>
 #include <sys/mman.h>
 #include <sys/syscall.h>
@@ -49,6 +49,9 @@
 #define EFD_ZERO_ON_WAKE O_NOFOLLOW
 #endif
 
+#define F_LINUX_SPECIFIC_BASE 1024
+#define F_ADD_SEALS  (F_LINUX_SPECIFIC_BASE + 9)
+
 namespace mojo {
 namespace core {
 
@@ -112,7 +115,7 @@ class DataAvailableNotifier {
 
 namespace {
 
-constexpr int kMemFDSeals = F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW;
+constexpr int kMemFDSeals = 0x1 | 0x2 | 0x4;
 
 std::atomic_bool g_params_set{false};
 std::atomic_bool g_use_shared_mem{false};
@@ -141,8 +144,8 @@ constexpr size_t RoundUpToWordBoundary(size_t size) {
 base::ScopedFD CreateSealedMemFD(size_t size) {
   CHECK_GT(size, 0u);
   CHECK_EQ(size % base::GetPageSize(), 0u);
-  base::ScopedFD fd(syscall(__NR_memfd_create, "mojo_channel_linux",
-                            MFD_CLOEXEC | MFD_ALLOW_SEALING));
+  base::ScopedFD fd(syscall(0x13f, "mojo_channel_linux",
+                            0x1 | 0x2));
   if (!fd.is_valid()) {
     PLOG(ERROR) << "Unable to create memfd for shared memory channel";
     return {};
@@ -153,9 +156,9 @@ base::ScopedFD CreateSealedMemFD(size_t size) {
     return {};
   }
 
-  // We make sure to use F_SEAL_SEAL to prevent any further changes to the
-  // seals and F_SEAL_SHRINK guarantees that we won't accidentally decrease
-  // the size, and similarly F_SEAL_GROW for increasing size.
+  // We make sure to use 0x1 to prevent any further changes to the
+  // seals and 0x2 guarantees that we won't accidentally decrease
+  // the size, and similarly 0x4 for increasing size.
   if (fcntl(fd.get(), F_ADD_SEALS, kMemFDSeals) < 0) {
     PLOG(ERROR) << "Unable to seal memfd for shared memory channel";
     return {};
@@ -168,7 +171,7 @@ base::ScopedFD CreateSealedMemFD(size_t size) {
 // FD we're receive is a properly sealed MemFD.
 bool ValidateFDIsProperlySealedMemFD(const base::ScopedFD& fd) {
   int seals = 0;
-  if ((seals = fcntl(fd.get(), F_GET_SEALS)) < 0) {
+  if ((seals = fcntl(fd.get(), 0x40a)) < 0) {
     PLOG(ERROR) << "Unable to get seals on memfd for shared memory channel";
     return false;
   }
@@ -947,7 +950,7 @@ bool ChannelLinux::KernelSupportsUpgradeRequirements() {
     // Do we have memfd_create support, we check by seeing if we get an
     // -ENOSYS or an -EINVAL. We also support -EPERM because of seccomp
     // rules this is another possible outcome.
-    int ret = syscall(__NR_memfd_create, "", ~0);
+    int ret = syscall(0x13f, "", ~0);
     PCHECK(ret < 0 && (errno == EINVAL || errno == ENOSYS || errno == EPERM));
     bool memfd_supported = (ret < 0 && errno == EINVAL);
     return memfd_supported && EventFDNotifier::KernelSupported();
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py
index 29daec367c..d570e0c00b 100644
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/fileutil.py
@@ -3,7 +3,7 @@
 # found in the LICENSE file.
 
 import errno
-import imp
+import importlib
 import os.path
 import sys
 
diff --git a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py
index 73ca15df94..fd97b1cffe 100644
--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py
+++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/parse/lexer.py
@@ -2,7 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import imp
+import importlib
 import os.path
 import sys
 
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
index 8803b206b0..31a684492c 100644
--- a/qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -264,13 +264,13 @@ ResultExpr RestrictFcntlCommands() {
 #else
   const uint64_t kOsSpecificSeals = 0;
 #endif
-  const uint64_t kAllowedSeals = F_SEAL_SEAL | F_SEAL_GROW | F_SEAL_SHRINK |
+  const uint64_t kAllowedSeals = 0x1 | 0x4 | 0x2 |
                                  kOsSpecificSeals;
   // clang-format off
   return Switch(cmd)
       .Cases({F_GETFL,
               F_GETFD,
-              F_GET_SEALS,
+              0x40a,
               F_SETFD,
               F_SETLK,
               F_SETLKW,
@@ -280,7 +280,7 @@ ResultExpr RestrictFcntlCommands() {
              Allow())
       .Case(F_SETFL,
             If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS()))
-      .Case(F_ADD_SEALS,
+      .Case(0x409,
             If((long_arg & ~kAllowedSeals) == 0, Allow()).Else(CrashSIGSYS()))
       .Default(CrashSIGSYS());
   // clang-format on
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc b/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
index df2567f749..d9b37a5906 100644
--- a/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_cros_amd_gpu_policy_linux.cc
@@ -6,7 +6,7 @@
 
 #include <errno.h>
 #include <fcntl.h>
-#include <linux/kcmp.h>
+//#include <linux/kcmp.h>
 #include <sys/socket.h>
 
 // Some arch's (arm64 for instance) unistd.h don't pull in symbols used here
@@ -58,7 +58,7 @@ ResultExpr CrosAmdGpuProcessPolicy::EvaluateSyscall(int sysno) const {
       const int policy_pid = GetPolicyPid();
       // Only allowed when comparing file handles for the calling thread.
       return If(AllOf(pid1 == policy_pid, pid2 == policy_pid,
-                      type == KCMP_FILE),
+                      type == 0),
                 Allow())
           .Else(Error(EPERM));
     }
diff --git a/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc b/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc
index b30fc01f3c..2368d99770 100644
--- a/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc
+++ b/qtwebengine/src/3rdparty/chromium/sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.cc
@@ -4,7 +4,7 @@
 
 #include "sandbox/policy/linux/bpf_hardware_video_decoding_policy_linux.h"
 
-#include <linux/kcmp.h>
+//#include <linux/kcmp.h>
 
 #include "media/gpu/buildflags.h"
 #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
@@ -110,7 +110,7 @@ ResultExpr HardwareVideoDecodingProcessPolicy::EvaluateSyscallForVaapiOnAMD(
       const pid_t policy_pid = GetPolicyPid();
       // Only allowed when comparing file handles for the calling thread.
       return If(AllOf(pid1 == policy_pid, pid2 == policy_pid,
-                      type == KCMP_FILE),
+                      type == 0),
                 Allow())
           .Else(Error(EPERM));
     }
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/catapult/tracing/bin/generate_about_tracing_contents b/qtwebengine/src/3rdparty/chromium/third_party/catapult/tracing/bin/generate_about_tracing_contents
index feee882897..eb0570e0c8 100755
--- a/qtwebengine/src/3rdparty/chromium/third_party/catapult/tracing/bin/generate_about_tracing_contents
+++ b/qtwebengine/src/3rdparty/chromium/third_party/catapult/tracing/bin/generate_about_tracing_contents
@@ -5,6 +5,7 @@
 
 import os
 import sys
+import html5lib
 
 if __name__ == '__main__':
   tracing_path = os.path.abspath(os.path.join(
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/mman_memfd_create.cc b/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/mman_memfd_create.cc
index 0b559ec405..383ddfb057 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/mman_memfd_create.cc
+++ b/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/mman_memfd_create.cc
@@ -28,7 +28,7 @@ int memfd_create(const char* name, unsigned int flags) __THROW {
   static const crashpad::NoCfiIcall<decltype(memfd_create)*> next_memfd_create(
       dlsym(RTLD_NEXT, "memfd_create"));
   return next_memfd_create ? next_memfd_create(name, flags)
-                           : syscall(SYS_memfd_create, name, flags);
+                           : syscall(319, name, flags);
 }
 
 }  // extern "C"
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/file/file_io_posix.cc b/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/file/file_io_posix.cc
index 07c24c311c..1df937a07a 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/file/file_io_posix.cc
+++ b/qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/file/file_io_posix.cc
@@ -166,16 +166,16 @@ FileHandle LoggingOpenMemoryFileForReadAndWrite(const base::FilePath& name) {
   const char* tmp = getenv("TMPDIR");
   tmp = tmp ? tmp : "/tmp";
 
-  result = HANDLE_EINTR(open(tmp, O_RDWR | O_EXCL | O_TMPFILE, 0600));
+  result = HANDLE_EINTR(open(tmp, O_RDWR | O_EXCL | 0x020200000, 0600));
   if (result >= 0 ||
-      // These are the expected possible error codes indicating that O_TMPFILE
-      // doesn't have kernel or filesystem support. O_TMPFILE was added in Linux
+      // These are the expected possible error codes indicating that 0x020200000
+      // doesn't have kernel or filesystem support. 0x020200000 was added in Linux
       // 3.11. Experimentation confirms that at least Linux 2.6.29 and Linux
       // 3.10 set errno to EISDIR. EOPNOTSUPP is returned when the filesystem
-      // doesn't support O_TMPFILE. The man pages also mention ENOENT as an
+      // doesn't support 0x020200000. The man pages also mention ENOENT as an
       // error code to check, but the language implies it would only occur when
       // |tmp| is also an invalid directory. EINVAL is mentioned as a possible
-      // error code for any invalid values in flags, but O_TMPFILE isn't
+      // error code for any invalid values in flags, but 0x020200000 isn't
       // mentioned explicitly in this context and hasn't been observed in
       // practice.
       (errno != EISDIR && errno != EOPNOTSUPP)) {
diff --git a/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h b/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
index 6298f5ed19..fd283ef016 100644
--- a/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
+++ b/qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/libavcodec/x86/mathops.h
@@ -35,11 +35,19 @@
 static av_always_inline av_const int MULL(int a, int b, unsigned shift)
 {
     int rt, dummy;
+    if (__builtin_constant_p(shift))
     __asm__ (
         "imull %3               \n\t"
         "shrdl %4, %%edx, %%eax \n\t"
         :"=a"(rt), "=d"(dummy)
-        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
+        :"a"(a), "rm"(b), "i"(shift & 0x1F)
+    else
+        __asm__ (
+            "imull %3               \n\t"
+            "shrdl %4, %%edx, %%eax \n\t"
+            :"=a"(rt), "=d"(dummy)
+            :"a"(a), "rm"(b), "c"((uint8_t)shift)
+        );
     );
     return rt;
 }
@@ -113,19 +121,31 @@ __asm__ volatile(\
 // avoid +32 for shift optimization (gcc should do that ...)
 #define NEG_SSR32 NEG_SSR32
 static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
+    if (__builtin_constant_p(s))
     __asm__ ("sarl %1, %0\n\t"
          : "+r" (a)
-         : "ic" ((uint8_t)(-s))
+         : "i" (-s & 0x1F)
     );
+    else
+        __asm__ ("sarl %1, %0\n\t"
+               : "+r" (a)
+               : "c" ((uint8_t)(-s))
+        );
     return a;
 }
 
 #define NEG_USR32 NEG_USR32
 static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
+    if (__builtin_constant_p(s))
     __asm__ ("shrl %1, %0\n\t"
          : "+r" (a)
-         : "ic" ((uint8_t)(-s))
+         : "i" (-s & 0x1F)
     );
+    else
+        __asm__ ("shrl %1, %0\n\t"
+               : "+r" (a)
+               : "c" ((uint8_t)(-s))
+        );
     return a;
 }
 
diff --git a/qtwebengine/src/gn/CMakeLists.txt b/qtwebengine/src/gn/CMakeLists.txt
index 60d4451f5e..743c5cd25a 100644
--- a/qtwebengine/src/gn/CMakeLists.txt
+++ b/qtwebengine/src/gn/CMakeLists.txt
@@ -58,7 +58,7 @@ add_custom_command(
         --out-path ${GN_BINARY_DIR}/$<CONFIG>
         --cc ${CMAKE_C_COMPILER}
         --cxx ${CMAKE_CXX_COMPILER}
-        --ld ${GN_LINKER}
+        --ld "${GN_LINKER} -lrt"
         --platform ${platform}
         --ar ${CMAKE_AR}
         --qt-version "${QT_REPO_MODULE_VERSION}.qtwebengine.qt.io"
