• Nico Weber's avatar
    Make creating x64 snapshots on arm64 hosts mostly work · 5f644d7e
    Nico Weber authored
    The motivation is being able to build Chrome/Mac/Intel on an
    Apple Silicon mac.
    
    Depends on https://chromium-review.googlesource.com/c/chromium/src/+/3348020
    
    - Correctly set v8_snapshot_toolchain when targeting x64 on an arm64
      host (always use the clang_ toolchain for now since that's all
      that's needed at the moment)
    
    - Check V8_HOST_ARCH in immediate-crash.h. In V8 terminology, "host"
      is the machine the snapshot generation runs on, while "target" is the
      machine that V8 runs on when it JITs. IMMEDIATE_CRASH runs on the
      host. Up to now, target arch x64 implied host arch x64 so the old code
      happened to work too, but this is the correct macro (and it makes this
      cross scenario work).
    
    - In assembler-x64.cc, only compile the code that probes the current CPU
      when running on an intel host. (There's an early return for snapshot
      generation anyways.)
    
    Bug: chromium:1280968
    Change-Id: I4821a5994de8ed5f9e4f62184dc6ab6f5223bc3f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3348040Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78417}
    5f644d7e
Name
Last commit
Last update
.github Loading commit data...
bazel Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.bazelrc Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.mailmap Loading commit data...
.vpython Loading commit data...
.vpython3 Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LOONG_OWNERS Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...