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

deps: cherry-pick e020aae394 from V8 upstream #14913

Closed
wants to merge 1 commit into from

Conversation

MylesBorins
Copy link
Contributor

Original commit message:

Work around glibc thread-local storage bug

glibc before 2.17 has a bug that makes it impossible to execute
binaries that have single-byte thread-local variables:

    % node --version
    node: error while loading shared libraries: cannot allocate
    memory in static TLS block

Work around that by making the one instance in the V8 code base
an int.

See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
See: https://github.com/nodesource/distributions/issues/513
See: https://github.com/nodejs/build/pull/809
Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
Reviewed-on: https://chromium-review.googlesource.com/612351
Commit-Queue: Ben Noordhuis <[email protected]>
Reviewed-by: Eric Holk <[email protected]>
Cr-Commit-Position: refs/heads/master@{#47400}

Refs: nodejs/build#809

Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{nodejs#47400}

Refs: nodejs/build#809
@nodejs-github-bot nodejs-github-bot added the v8 engine Issues and PRs related to the V8 dependency. label Aug 18, 2017
@MylesBorins
Copy link
Contributor Author

Copy link
Member

@bnoordhuis bnoordhuis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, sweet code.

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Aug 18, 2017

FWIW the three-way merge algorithm in the latest git is good enough to apply the patch without specifying directory anymore

$ cd node
$ curl -L https://github.com/v8/v8/commit/e020aae394.patch | git am -3 # just works 🎉

instead of

$ cd node
$ curl -L https://github.com/v8/v8/commit/e020aae394.patch | git am -3 --directory=deps/v8

@seishun
Copy link
Contributor

seishun commented Aug 18, 2017

The CI failures seem unrelated. Can this PR go through?

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mhdawson
Copy link
Member

The v8 ci failing is concerning so I'd be thinking we should get that fixed up first ?

@targos
Copy link
Member

targos commented Aug 18, 2017

I think the V8 CI is failing because of #14001

@refack
Copy link
Contributor

refack commented Aug 18, 2017

So I'm trying to figure out how come the CI node jobs pass, but the V8 jobs fail, which made me think of d8, and it seems like maybe @matthewloring didn't patch d8 as part of #14001 ?

../src/d8.cc:229:12: error: ‘platform_’ was not declared in this scope
     return platform_->GetTracingController();
            ^

@refack
Copy link
Contributor

refack commented Aug 18, 2017

Cross-ref: nodejs/build#387

@refack
Copy link
Contributor

refack commented Aug 18, 2017

V8 ci on master for "negative control": https://ci.nodejs.org/job/node-test-commit-v8-linux/862/
Less interesting (https://ci.nodejs.org/job/node-test-commit-node-v8/115/)

@matthewloring
Copy link

matthewloring commented Aug 18, 2017

It looks like #14001 had an implicit dependency on https://chromium-review.googlesource.com/c/509694. I think the V8 CI can be fixed by backporting this as well.

@seishun
Copy link
Contributor

seishun commented Aug 19, 2017

@matthewloring Are you planning to work on that?

@matthewloring
Copy link

@seishun Yup, I can put together the backport now.

@seishun
Copy link
Contributor

seishun commented Aug 22, 2017

@seishun
Copy link
Contributor

seishun commented Aug 22, 2017

CI is all green, I guess this PR is good to go?

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Aug 23, 2017 via email

@jasnell
Copy link
Member

jasnell commented Aug 23, 2017

Is this ready to land?

@targos
Copy link
Member

targos commented Aug 23, 2017

Yes.

jasnell pushed a commit that referenced this pull request Aug 24, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@jasnell
Copy link
Member

jasnell commented Aug 24, 2017

landed in 64f59be

@jasnell jasnell closed this Aug 24, 2017
addaleax pushed a commit to addaleax/ayo that referenced this pull request Aug 25, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

PR-URL: nodejs/node#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
targos pushed a commit to targos/node that referenced this pull request Aug 28, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{nodejs#47400}

PR-URL: nodejs#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
addaleax pushed a commit to ayojs/ayo that referenced this pull request Aug 28, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

PR-URL: nodejs/node#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
MylesBorins pushed a commit that referenced this pull request Sep 10, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@MylesBorins MylesBorins mentioned this pull request Sep 10, 2017
MylesBorins pushed a commit that referenced this pull request Sep 12, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
targos pushed a commit to targos/node that referenced this pull request Sep 12, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{nodejs#47400}

PR-URL: nodejs#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
addaleax pushed a commit that referenced this pull request Sep 13, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
addaleax pushed a commit to addaleax/node that referenced this pull request Sep 13, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{nodejs#47400}

PR-URL: nodejs#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
targos pushed a commit to targos/node that referenced this pull request Sep 14, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{nodejs#47400}

PR-URL: nodejs#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
targos pushed a commit to targos/node that referenced this pull request Sep 21, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{nodejs#47400}

PR-URL: nodejs#14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
MylesBorins pushed a commit that referenced this pull request Sep 28, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

Backport-PR-URL: #15393
PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
MylesBorins pushed a commit that referenced this pull request Sep 29, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

Backport-PR-URL: #15393
PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@MylesBorins MylesBorins mentioned this pull request Oct 3, 2017
MylesBorins pushed a commit that referenced this pull request Oct 3, 2017
Original commit message:

    Work around glibc thread-local storage bug

    glibc before 2.17 has a bug that makes it impossible to execute
    binaries that have single-byte thread-local variables:

        % node --version
        node: error while loading shared libraries: cannot allocate
        memory in static TLS block

    Work around that by making the one instance in the V8 code base
    an int.

    See: https://sourceware.org/bugzilla/show_bug.cgi?id=14898
    See: nodesource/distributions#513
    See: nodejs/build#809
    Change-Id: Iefd8009100cd93e26cf8dc5dc03f2d622b423385
    Reviewed-on: https://chromium-review.googlesource.com/612351
    Commit-Queue: Ben Noordhuis <[email protected]>
    Reviewed-by: Eric Holk <[email protected]>
    Cr-Commit-Position: refs/heads/master@{#47400}

Backport-PR-URL: #15393
PR-URL: #14913
Ref: nodejs/build#809
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Nikolai Vavilov <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@MylesBorins MylesBorins deleted the fix-wasm branch November 14, 2017 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants