--- /dev/null
+diff -ur qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/build/config/compiler/BUILD.gn qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/build/config/compiler/BUILD.gn
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2018-08-13 01:44:53.799249439 +0200
+@@ -661,14 +661,7 @@
+ if (is_posix && !(is_mac || is_ios)) {
+ # CPU architecture. We may or may not be doing a cross compile now, so for
+ # simplicity we always explicitly set the architecture.
+- if (current_cpu == "x64") {
+- cflags += [
+- "-m64",
+- ]
+- ldflags += [ "-m64" ]
+- } else if (current_cpu == "x86") {
+- cflags += [ "-m32" ]
+- ldflags += [ "-m32" ]
++ if (current_cpu == "x86") {
+ if (!is_nacl) {
+ cflags += [
+ "-msse2",
+diff -ur qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/rand/urandom.c qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/rand/urandom.c
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/rand/urandom.c 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/third_party/boringssl/src/crypto/fipsmodule/rand/urandom.c 2018-08-13 01:55:47.227682313 +0200
+@@ -47,7 +47,11 @@
+ #if defined(OPENSSL_LINUX)
+
+ #if defined(OPENSSL_X86_64)
++#if defined(__ILP32__)
++#define EXPECTED_NR_getrandom (__X32_SYSCALL_BIT + 318)
++#else
+ #define EXPECTED_NR_getrandom 318
++#endif
+ #elif defined(OPENSSL_X86)
+ #define EXPECTED_NR_getrandom 355
+ #elif defined(OPENSSL_AARCH64)
+diff -ur qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/v8/gypfiles/toolchain.gypi qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/v8/gypfiles/toolchain.gypi
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/v8/gypfiles/toolchain.gypi 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/v8/gypfiles/toolchain.gypi 2018-08-13 01:44:03.828604732 +0200
+@@ -1042,28 +1042,6 @@
+ }],
+ ],
+ }],
+- ['(OS=="linux" or OS=="android") and \
+- (v8_target_arch=="x64" or v8_target_arch=="arm64" or \
+- v8_target_arch=="ppc64" or v8_target_arch=="s390x")', {
+- 'target_conditions': [
+- ['_toolset=="host"', {
+- 'conditions': [
+- ['host_cxx_is_biarch==1', {
+- 'cflags': [ '-m64' ],
+- 'ldflags': [ '-m64' ]
+- }],
+- ],
+- }],
+- ['_toolset=="target"', {
+- 'conditions': [
+- ['target_cxx_is_biarch==1', {
+- 'cflags': [ '-m64' ],
+- 'ldflags': [ '-m64' ],
+- }],
+- ]
+- }],
+- ],
+- }],
+ ['OS=="android" and v8_android_log_stdout==1', {
+ 'defines': [
+ 'V8_ANDROID_LOG_STDOUT',
+diff -ur qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/v8/src/objects/bigint.cc qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/v8/src/objects/bigint.cc
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/v8/src/objects/bigint.cc 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1-x32/src/3rdparty/chromium/v8/src/objects/bigint.cc 2018-08-13 02:15:32.443103386 +0200
+@@ -2162,7 +2162,7 @@
+ BigInt::digit_t MutableBigInt::digit_div(digit_t high, digit_t low,
+ digit_t divisor, digit_t* remainder) {
+ DCHECK(high < divisor);
+-#if V8_TARGET_ARCH_X64 && (__GNUC__ || __clang__)
++#if V8_TARGET_ARCH_X64 && (__GNUC__ || __clang__) && !defined(__ILP32__)
+ digit_t quotient;
+ digit_t rem;
+ __asm__("divq %[divisor]"
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/v8/src/compiler/instruction-selector.cc.orig 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/v8/src/compiler/instruction-selector.cc 2018-08-14 09:18:33.177100945 +0200
+@@ -1927,7 +1927,7 @@
+ }
+
+ // 32 bit targets do not implement the following instructions.
+-#if V8_TARGET_ARCH_32_BIT
++#if V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_X64
+
+ void InstructionSelector::VisitWord64And(Node* node) { UNIMPLEMENTED(); }
+
+@@ -2081,7 +2081,7 @@
+ #endif // V8_TARGET_ARCH_32_BIT
+
+ // 64 bit targets do not implement the following instructions.
+-#if V8_TARGET_ARCH_64_BIT
++#if V8_TARGET_ARCH_64_BIT || V8_TARGET_ARCH_X64
+ void InstructionSelector::VisitInt32PairAdd(Node* node) { UNIMPLEMENTED(); }
+
+ void InstructionSelector::VisitInt32PairSub(Node* node) { UNIMPLEMENTED(); }
+--- qtwebengine-everywhere-src-5.11.1.clean/src/3rdparty/chromium/build/build_config.h~ 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1.clean/src/3rdparty/chromium/build/build_config.h 2018-08-14 09:23:40.756276384 +0200
+@@ -106,7 +106,11 @@
+ #if defined(_M_X64) || defined(__x86_64__)
+ #define ARCH_CPU_X86_FAMILY 1
+ #define ARCH_CPU_X86_64 1
++#ifdef __ILP32__
++#define ARCH_CPU_32_BITS 1
++#else
+ #define ARCH_CPU_64_BITS 1
++#endif
+ #define ARCH_CPU_LITTLE_ENDIAN 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #define ARCH_CPU_X86_FAMILY 1
+--- qtwebengine-everywhere-src-5.11.1.clean/src/3rdparty/chromium/third_party/pdfium/third_party/build/build_config.h~ 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1.clean/src/3rdparty/chromium/third_party/pdfium/third_party/build/build_config.h 2018-08-14 09:24:56.127049857 +0200
+@@ -104,7 +104,11 @@
+ #if defined(_M_X64) || defined(__x86_64__)
+ #define ARCH_CPU_X86_FAMILY 1
+ #define ARCH_CPU_X86_64 1
++#ifdef __ILP32__
++#define ARCH_CPU_32_BITS 1
++#else
+ #define ARCH_CPU_64_BITS 1
++#endif
+ #define ARCH_CPU_LITTLE_ENDIAN 1
+ #elif defined(_M_IX86) || defined(__i386__)
+ #define ARCH_CPU_X86_FAMILY 1
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/base/allocator/partition_allocator/address_space_randomization.cc~ 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/base/allocator/partition_allocator/address_space_randomization.cc 2018-08-14 09:27:44.678865071 +0200
+@@ -77,7 +77,7 @@
+ void* GetRandomPageBase() {
+ uintptr_t random = static_cast<uintptr_t>(ranval(s_ranctx.Pointer()));
+
+-#if defined(ARCH_CPU_64_BITS)
++#if defined(ARCH_CPU_64_BITS) && !defined(__ILP32__)
+ random <<= 32ULL;
+ random |= static_cast<uintptr_t>(ranval(s_ranctx.Pointer()));
+
+--- qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/base/debug/stack_trace_posix.cc~ 2018-06-15 09:47:20.000000000 +0200
++++ qtwebengine-everywhere-src-5.11.1/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2018-08-14 09:46:02.035829506 +0200
+@@ -340,7 +340,7 @@
+ const char* label;
+ greg_t value;
+ } registers[] = {
+-#if ARCH_CPU_32_BITS
++#if ARCH_CPU_32_BITS && !defined(__ILP32__)
+ { " gs: ", context->uc_mcontext.gregs[REG_GS] },
+ { " fs: ", context->uc_mcontext.gregs[REG_FS] },
+ { " es: ", context->uc_mcontext.gregs[REG_ES] },
+@@ -360,7 +360,7 @@
+ { " efl: ", context->uc_mcontext.gregs[REG_EFL] },
+ { " usp: ", context->uc_mcontext.gregs[REG_UESP] },
+ { " ss: ", context->uc_mcontext.gregs[REG_SS] },
+-#elif ARCH_CPU_64_BITS
++#elif ARCH_CPU_64_BITS || defined(__ILP32__)
+ { " r8: ", context->uc_mcontext.gregs[REG_R8] },
+ { " r9: ", context->uc_mcontext.gregs[REG_R9] },
+ { " r10: ", context->uc_mcontext.gregs[REG_R10] },
+@@ -387,9 +387,9 @@
+ #endif // ARCH_CPU_32_BITS
+ };
+
+-#if ARCH_CPU_32_BITS
++#if ARCH_CPU_32_BITS && !defined(__ILP32__)
+ const int kRegisterPadding = 8;
+-#elif ARCH_CPU_64_BITS
++#elif ARCH_CPU_64_BITS || defined(__ILP32__)
+ const int kRegisterPadding = 16;
+ #endif
+