diff options
author | Michal Klocek <michal.klocek@qt.io> | 2022-04-14 08:13:40 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2022-05-03 11:06:24 +0000 |
commit | 0eabfedb7d2a7b694a641d1fc082997c0433bb5a (patch) | |
tree | d2a05a08b220e587552260d8a6a21ce3cc864023 | |
parent | 28e8a30f87a20cf8865c7ad0afb9582dd0f6bfab (diff) | |
download | qtwebengine-chromium-0eabfedb7d2a7b694a641d1fc082997c0433bb5a.tar.gz |
Fix cross-compilation arm64->x86_64
Task-number: QTBUG-100672
Change-Id: Ibb29c7caf19315956762d9528a6b56a833488e75
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
-rw-r--r-- | chromium/v8/src/objects/bigint.cc | 4 | ||||
-rw-r--r-- | chromium/v8/src/trap-handler/handler-inside-posix.cc | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/chromium/v8/src/objects/bigint.cc b/chromium/v8/src/objects/bigint.cc index 7c562465cb0..fa0e1abeada 100644 --- a/chromium/v8/src/objects/bigint.cc +++ b/chromium/v8/src/objects/bigint.cc @@ -2643,7 +2643,7 @@ inline BigInt::digit_t MutableBigInt::digit_mul(digit_t a, digit_t b, 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 defined(__x86_64__) && (defined(__GNUC__) || defined(__clang__)) digit_t quotient; digit_t rem; __asm__("divq %[divisor]" @@ -2654,7 +2654,7 @@ BigInt::digit_t MutableBigInt::digit_div(digit_t high, digit_t low, : "d"(high), "a"(low), [divisor] "rm"(divisor)); *remainder = rem; return quotient; -#elif V8_TARGET_ARCH_IA32 && (__GNUC__ || __clang__) +#elif defined(__i386__) && (defined(__GNUC__) || defined(__clang__)) digit_t quotient; digit_t rem; __asm__("divl %[divisor]" diff --git a/chromium/v8/src/trap-handler/handler-inside-posix.cc b/chromium/v8/src/trap-handler/handler-inside-posix.cc index 908c8c832ca..182043d43dd 100644 --- a/chromium/v8/src/trap-handler/handler-inside-posix.cc +++ b/chromium/v8/src/trap-handler/handler-inside-posix.cc @@ -106,14 +106,18 @@ bool TryHandleSignal(int signum, siginfo_t* info, void* context) { SigUnmaskStack unmask(sigs); ucontext_t* uc = reinterpret_cast<ucontext_t*>(context); -#if V8_OS_LINUX && V8_TARGET_ARCH_X64 +#if V8_OS_LINUX && V8_HOST_ARCH_X64 auto* context_ip = &uc->uc_mcontext.gregs[REG_RIP]; -#elif V8_OS_MACOSX && V8_TARGET_ARCH_ARM64 +#elif V8_OS_LINUX && V8_HOST_ARCH_ARM64 + auto* context_ip = &uc->uc_mcontext.gregs[REG_PC]; +#elif V8_OS_MACOSX && V8_HOST_ARCH_ARM64 auto* context_ip = &uc->uc_mcontext->__ss.__pc; -#elif V8_OS_MACOSX && V8_TARGET_ARCH_X64 +#elif V8_OS_MACOSX && V8_HOST_ARCH_X64 auto* context_ip = &uc->uc_mcontext->__ss.__rip; -#elif V8_OS_FREEBSD && V8_TARGET_ARCH_X64 +#elif V8_OS_FREEBSD && V8_HOST_ARCH_X64 auto* context_ip = &uc->uc_mcontext.mc_rip; +#elif V8_OS_FREEBSD && V8_HOST_ARCH_ARM64 + auto* context_ip = &uc->uc_mcontext.mc_pc; #else #error Unsupported platform #endif |