Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gn isn't backwards compatible #2696

Closed
richardlau opened this issue Jun 30, 2021 · 8 comments
Closed

gn isn't backwards compatible #2696

richardlau opened this issue Jun 30, 2021 · 8 comments

Comments

@richardlau
Copy link
Member

richardlau commented Jun 30, 2021

Since depot_tools used by V8 doesn't host binaries for non-Intel platforms we've had to build it from source on Linux PPC/s390x. #2675 added automation to our Ansible playbook to compile the latest commit of gn but gn itself is not versioned and apparently not backwards compatible with itself as can be seen from this recent V8 CI on a Node.js 14 PR:
https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel7-s390x,v8test=v8test/4091/console

07:45:31 + gn gen -v out.gn/s390x.release '--args=is_component_build=false is_debug=false use_goma=false goma_dir="None" use_custom_libcxx=false v8_target_cpu="s390x" target_cpu="s390x" v8_enable_backtrace=true'
07:45:31 Using source root /data/iojs/build/workspace/node-test-commit-v8-linux/deps/v8
07:45:31 Got dotfile /data/iojs/build/workspace/node-test-commit-v8-linux/deps/v8/.gn
07:45:31 Loading //build/dotfile_settings.gni (referenced from //.gn:5)
07:45:31 Using build dir //out.gn/s390x.release/
07:45:31 Loading //build/config/BUILDCONFIG.gn
07:45:31 ERROR at //build/config/BUILDCONFIG.gn:401:1: Unknown function.
07:45:31 set_sources_assignment_filter(sources_assignment_filter)
07:45:31 ^----------------------------
07:45:31 make: *** [Makefile:276: v8] Error 1

The set_sources_assignment_filter "feature" was removed from gn.
Refs: https://groups.google.com/a/chromium.org/g/chromium-dev/c/hyLuCU6g2V4
Refs: https://groups.google.com/a/chromium.org/g/gn-dev/c/oQcYStl_WkI
Refs: https://bugs.chromium.org/p/gn/issues/detail?id=125

I'm going to roll back gn on the Linux PPC/s390x machines so we can run V8 CI for Node.js 12/14 for tomorrow's security releases.

We'll need to work out what to do about gn -- maybe either stash several versions and use a selector script or build gn from source for every V8 CI run based on the commit sha recorded in gn_version in deps/V8/DEPS. For release lines the version of gn used by V8 should be relatively stable but we also build V8 canary where I imagine gn would be updated more often.

@richardlau
Copy link
Member Author

gn commits that removed the set_sources_assignment_filter feature in question:

We could try going to a version of gn immediately before those but then there's no guarantee it will continue to build V8 LKGR (as evidenced that we eventually needed to use a newer gn than the one we were using before for V8 9.2). I'm leaning slightly towards building the matching SHA as in V8's DEPS file with the open question as to whether we always build in every V8 CI run or adopt some sort of caching stategy.

@richardlau
Copy link
Member Author

I suppose we could also look to see if we could patch up the V8 .gn build files but I feel that's too risky for the LTS releases.

@targos
Copy link
Member

targos commented Jun 30, 2021

V8 removed uses of set_sources_assignment_filter in https://chromium-review.googlesource.com/c/v8/v8/+/2456988 and https://chromium-review.googlesource.com/c/v8/v8/+/2454079
They seem safe to backport to LTS.

@targos
Copy link
Member

targos commented Jul 3, 2021

I opened nodejs/node#39244 and nodejs/node#39245

@richardlau
Copy link
Member Author

Thanks. I’ll need to swap the symlinks for gn back to the more recent one.

@mhdawson
Copy link
Member

mhdawson commented Jul 7, 2021

I'm leaning slightly towards building the matching SHA as in V8's DEPS file with the open question as to whether we always build in every V8 CI run

If we built every time using ccache would that be pretty quick assuming it does not change very often?

targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    tracing: Update proto library build rule and roll Perfetto

    This patch removes use of the deprecated sources_assignment_filter GN
    feature from gni/proto_library.gni, since the extra descriptor files are
    no longer being generated.

    We also roll Perfetto to match the version used in Chrome and update
    test expectations accordingly.

    Bug: v8:10995
    Change-Id: I65cb3b79feb6e5a7e5c8d99fdb8bf999a6048539
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454079
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
    Reviewed-by: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70381}

Refs: v8/v8@1b1eda0

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    build: Remove no-op calls to set_sources_assignment_filter

    Chromiun no longer use set_sources_assignment_filter() anywhere in the
    build, so these are no longer needed.

    Bug: chromium:1018739
    Change-Id: I7b33612d925563ebca0d93a7d3c9183d7305b7b0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456988
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70405}

Refs: v8/v8@92e6d33

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Fix visiblity rules for configs enforced by the latest GN version.

    Prior versions of GN had a bug (gn:22) where visibility rules
    for configs weren't being enforced properly.

    This CL tweaks the visibility settings of some configs to
    conform to the latest version.

    Change-Id: Ic5d827a1f2774278d3894f67fe52bfca836c0409
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360909
    Commit-Queue: Dirk Pranke <dpranke@google.com>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69463}

Refs: v8/v8@7c182bd

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Fix implicit conversion loses integer precision warning

    The type of m is long in 64 bits build, and results implicit conversion
    loses integer precision, which was found by improved clang warning
    (-Wshorten-64-to-32)

    Bug: chromium:1124085
    Change-Id: Ic9f22508bd817a06d5c90162b1ac3554a7171529
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391323
    Commit-Queue: Zequan Wu <zequanwu@google.com>
    Auto-Submit: Zequan Wu <zequanwu@google.com>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69686}

Refs: v8/v8@0b3a4ec

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Add -Wno-string-concatenation to test/cctest:cctest_sources

    v8/test/cctest/interpreter/test-bytecode-generator.cc contains lots of string arrays with intentional concatenation.

    Bug: chromium:1114873
    Change-Id: Ie9d35c3849b5b0a6d1d01b6ce21fb80a320d8736
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366829
    Commit-Queue: Arthur Eubanks <aeubanks@google.com>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69625}

Refs: v8/v8@8959494

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
These updates are necessary to build V8 with recent GN versions.

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    tracing: Update proto library build rule and roll Perfetto

    This patch removes use of the deprecated sources_assignment_filter GN
    feature from gni/proto_library.gni, since the extra descriptor files are
    no longer being generated.

    We also roll Perfetto to match the version used in Chrome and update
    test expectations accordingly.

    Bug: v8:10995
    Change-Id: I65cb3b79feb6e5a7e5c8d99fdb8bf999a6048539
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454079
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
    Reviewed-by: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70381}

Refs: v8/v8@1b1eda0

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    build: Remove no-op calls to set_sources_assignment_filter

    Chromiun no longer use set_sources_assignment_filter() anywhere in the
    build, so these are no longer needed.

    Bug: chromium:1018739
    Change-Id: I7b33612d925563ebca0d93a7d3c9183d7305b7b0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456988
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70405}

Refs: v8/v8@92e6d33

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    [build] Remove jumbo build configs

    Bug: chromium:994387
    Change-Id: I7b37a416ce6cc79903fe04923e86af1d0065ac37
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890090
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64669}

Refs: v8/v8@e6f62a4

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    [build] Move split_static_library.gni from Chromium repo

    We'll remove the file from Chromium in a follow up after V8 has rolled
    + 2 days.

    Bug: v8:9911
    Change-Id: I69fe56855f1ba83bec0d39e0fb6acb7e4182c6b7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897826
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64742}

Refs: v8/v8@7b33328

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Add a simple gclient_args.gni file to V8

    Bug: v8:9914
    Change-Id: I0bae9aadd89876e8505e1388903c86777694ee09
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890100
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Commit-Queue: Maya Lekova <mslekova@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64680}

Refs: v8/v8@cc641f6

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Fix visiblity rules for configs enforced by the latest GN version.

    Prior versions of GN had a bug (gn:22) where visibility rules
    for configs weren't being enforced properly.

    This CL tweaks the visibility settings of some configs to
    conform to the latest version.

    Change-Id: Ic5d827a1f2774278d3894f67fe52bfca836c0409
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360909
    Commit-Queue: Dirk Pranke <dpranke@google.com>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69463}

Refs: v8/v8@7c182bd

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Fix implicit conversion loses integer precision warning

    The type of m is long in 64 bits build, and results implicit conversion
    loses integer precision, which was found by improved clang warning
    (-Wshorten-64-to-32)

    Bug: chromium:1124085
    Change-Id: Ic9f22508bd817a06d5c90162b1ac3554a7171529
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391323
    Commit-Queue: Zequan Wu <zequanwu@google.com>
    Auto-Submit: Zequan Wu <zequanwu@google.com>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69686}

Refs: v8/v8@0b3a4ec

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
Original commit message:

    Add -Wno-string-concatenation to test/cctest:cctest_sources

    v8/test/cctest/interpreter/test-bytecode-generator.cc contains lots of string arrays with intentional concatenation.

    Bug: chromium:1114873
    Change-Id: Ie9d35c3849b5b0a6d1d01b6ce21fb80a320d8736
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366829
    Commit-Queue: Arthur Eubanks <aeubanks@google.com>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69625}

Refs: v8/v8@8959494

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
targos added a commit to nodejs/node that referenced this issue Jul 11, 2021
These updates are necessary to build V8 with recent GN versions.

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
@targos
Copy link
Member

targos commented Jul 11, 2021

I opened nodejs/node#39244 and nodejs/node#39245

Both landed on the staging branches. This should fix the issue, at least temporarily.

richardlau pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
Original commit message:

    tracing: Update proto library build rule and roll Perfetto

    This patch removes use of the deprecated sources_assignment_filter GN
    feature from gni/proto_library.gni, since the extra descriptor files are
    no longer being generated.

    We also roll Perfetto to match the version used in Chrome and update
    test expectations accordingly.

    Bug: v8:10995
    Change-Id: I65cb3b79feb6e5a7e5c8d99fdb8bf999a6048539
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454079
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
    Reviewed-by: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70381}

Refs: v8/v8@1b1eda0

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
Original commit message:

    build: Remove no-op calls to set_sources_assignment_filter

    Chromiun no longer use set_sources_assignment_filter() anywhere in the
    build, so these are no longer needed.

    Bug: chromium:1018739
    Change-Id: I7b33612d925563ebca0d93a7d3c9183d7305b7b0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456988
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70405}

Refs: v8/v8@92e6d33

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
Original commit message:

    Fix visiblity rules for configs enforced by the latest GN version.

    Prior versions of GN had a bug (gn:22) where visibility rules
    for configs weren't being enforced properly.

    This CL tweaks the visibility settings of some configs to
    conform to the latest version.

    Change-Id: Ic5d827a1f2774278d3894f67fe52bfca836c0409
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360909
    Commit-Queue: Dirk Pranke <dpranke@google.com>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69463}

Refs: v8/v8@7c182bd

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
Original commit message:

    Fix implicit conversion loses integer precision warning

    The type of m is long in 64 bits build, and results implicit conversion
    loses integer precision, which was found by improved clang warning
    (-Wshorten-64-to-32)

    Bug: chromium:1124085
    Change-Id: Ic9f22508bd817a06d5c90162b1ac3554a7171529
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391323
    Commit-Queue: Zequan Wu <zequanwu@google.com>
    Auto-Submit: Zequan Wu <zequanwu@google.com>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69686}

Refs: v8/v8@0b3a4ec

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
Original commit message:

    Add -Wno-string-concatenation to test/cctest:cctest_sources

    v8/test/cctest/interpreter/test-bytecode-generator.cc contains lots of string arrays with intentional concatenation.

    Bug: chromium:1114873
    Change-Id: Ie9d35c3849b5b0a6d1d01b6ce21fb80a320d8736
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366829
    Commit-Queue: Arthur Eubanks <aeubanks@google.com>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69625}

Refs: v8/v8@8959494

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
These updates are necessary to build V8 with recent GN versions.

PR-URL: #39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    tracing: Update proto library build rule and roll Perfetto

    This patch removes use of the deprecated sources_assignment_filter GN
    feature from gni/proto_library.gni, since the extra descriptor files are
    no longer being generated.

    We also roll Perfetto to match the version used in Chrome and update
    test expectations accordingly.

    Bug: v8:10995
    Change-Id: I65cb3b79feb6e5a7e5c8d99fdb8bf999a6048539
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454079
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
    Reviewed-by: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70381}

Refs: v8/v8@1b1eda0

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    build: Remove no-op calls to set_sources_assignment_filter

    Chromiun no longer use set_sources_assignment_filter() anywhere in the
    build, so these are no longer needed.

    Bug: chromium:1018739
    Change-Id: I7b33612d925563ebca0d93a7d3c9183d7305b7b0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456988
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70405}

Refs: v8/v8@92e6d33

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    [build] Remove jumbo build configs

    Bug: chromium:994387
    Change-Id: I7b37a416ce6cc79903fe04923e86af1d0065ac37
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890090
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64669}

Refs: v8/v8@e6f62a4

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    [build] Move split_static_library.gni from Chromium repo

    We'll remove the file from Chromium in a follow up after V8 has rolled
    + 2 days.

    Bug: v8:9911
    Change-Id: I69fe56855f1ba83bec0d39e0fb6acb7e4182c6b7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1897826
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64742}

Refs: v8/v8@7b33328

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    Add a simple gclient_args.gni file to V8

    Bug: v8:9914
    Change-Id: I0bae9aadd89876e8505e1388903c86777694ee09
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1890100
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Commit-Queue: Maya Lekova <mslekova@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64680}

Refs: v8/v8@cc641f6

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    Fix visiblity rules for configs enforced by the latest GN version.

    Prior versions of GN had a bug (gn:22) where visibility rules
    for configs weren't being enforced properly.

    This CL tweaks the visibility settings of some configs to
    conform to the latest version.

    Change-Id: Ic5d827a1f2774278d3894f67fe52bfca836c0409
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360909
    Commit-Queue: Dirk Pranke <dpranke@google.com>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69463}

Refs: v8/v8@7c182bd

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    Fix implicit conversion loses integer precision warning

    The type of m is long in 64 bits build, and results implicit conversion
    loses integer precision, which was found by improved clang warning
    (-Wshorten-64-to-32)

    Bug: chromium:1124085
    Change-Id: Ic9f22508bd817a06d5c90162b1ac3554a7171529
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391323
    Commit-Queue: Zequan Wu <zequanwu@google.com>
    Auto-Submit: Zequan Wu <zequanwu@google.com>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69686}

Refs: v8/v8@0b3a4ec

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
Original commit message:

    Add -Wno-string-concatenation to test/cctest:cctest_sources

    v8/test/cctest/interpreter/test-bytecode-generator.cc contains lots of string arrays with intentional concatenation.

    Bug: chromium:1114873
    Change-Id: Ie9d35c3849b5b0a6d1d01b6ce21fb80a320d8736
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366829
    Commit-Queue: Arthur Eubanks <aeubanks@google.com>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69625}

Refs: v8/v8@8959494

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
richardlau pushed a commit to nodejs/node that referenced this issue Jul 23, 2021
These updates are necessary to build V8 with recent GN versions.

PR-URL: #39245
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
@richardlau
Copy link
Member Author

I'm going to close this for now as thanks to the great work done by @targos (🚀) in identifying changes to backport we have Node.js 12 and 14 able to build with more up-to-date versions of gn (i.e. we use the same gn binary on all releases). We can revisit if we run into the problem again in the future.

foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
Original commit message:

    tracing: Update proto library build rule and roll Perfetto

    This patch removes use of the deprecated sources_assignment_filter GN
    feature from gni/proto_library.gni, since the extra descriptor files are
    no longer being generated.

    We also roll Perfetto to match the version used in Chrome and update
    test expectations accordingly.

    Bug: v8:10995
    Change-Id: I65cb3b79feb6e5a7e5c8d99fdb8bf999a6048539
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2454079
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
    Reviewed-by: Peter Marshall <petermarshall@chromium.org>
    Reviewed-by: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70381}

Refs: v8/v8@1b1eda0

PR-URL: nodejs#39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
Original commit message:

    build: Remove no-op calls to set_sources_assignment_filter

    Chromiun no longer use set_sources_assignment_filter() anywhere in the
    build, so these are no longer needed.

    Bug: chromium:1018739
    Change-Id: I7b33612d925563ebca0d93a7d3c9183d7305b7b0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2456988
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70405}

Refs: v8/v8@92e6d33

PR-URL: nodejs#39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
Original commit message:

    Fix visiblity rules for configs enforced by the latest GN version.

    Prior versions of GN had a bug (gn:22) where visibility rules
    for configs weren't being enforced properly.

    This CL tweaks the visibility settings of some configs to
    conform to the latest version.

    Change-Id: Ic5d827a1f2774278d3894f67fe52bfca836c0409
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2360909
    Commit-Queue: Dirk Pranke <dpranke@google.com>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69463}

Refs: v8/v8@7c182bd

PR-URL: nodejs#39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
Original commit message:

    Fix implicit conversion loses integer precision warning

    The type of m is long in 64 bits build, and results implicit conversion
    loses integer precision, which was found by improved clang warning
    (-Wshorten-64-to-32)

    Bug: chromium:1124085
    Change-Id: Ic9f22508bd817a06d5c90162b1ac3554a7171529
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2391323
    Commit-Queue: Zequan Wu <zequanwu@google.com>
    Auto-Submit: Zequan Wu <zequanwu@google.com>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69686}

Refs: v8/v8@0b3a4ec

PR-URL: nodejs#39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
Original commit message:

    Add -Wno-string-concatenation to test/cctest:cctest_sources

    v8/test/cctest/interpreter/test-bytecode-generator.cc contains lots of string arrays with intentional concatenation.

    Bug: chromium:1114873
    Change-Id: Ie9d35c3849b5b0a6d1d01b6ce21fb80a320d8736
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2366829
    Commit-Queue: Arthur Eubanks <aeubanks@google.com>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69625}

Refs: v8/v8@8959494

PR-URL: nodejs#39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
These updates are necessary to build V8 with recent GN versions.

PR-URL: nodejs#39244
Refs: nodejs/build#2696
Reviewed-By: Richard Lau <rlau@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants