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

build: preserves symbols during LTO with macOS linker #39839

Closed
wants to merge 1 commit into from

Conversation

jesec
Copy link
Member

@jesec jesec commented Aug 22, 2021

man ld -export_dynamic:

Preserves all global symbols in main executables during LTO.

Without this option, Link Time Optimization is allowed to inline
and remove global functions.

This option is used when a main executable may load a plug-in which
requires certain symbols from the main executable.

This fix should be backported to release lines that have ab71af3.

Bug: vercel/pkg#1155
Signed-off-by: Jesse Chan jc@linux.com

man ld -export_dynamic:

```
Preserves all global symbols in main executables during LTO.

Without this option, Link Time Optimization is allowed to inline
and remove global functions.

This option is used when a main executable may load a plug-in which
requires certain symbols from the main executable.
```

Bug: vercel/pkg#1155
Signed-off-by: Jesse Chan <jc@linux.com>
@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. labels Aug 22, 2021
@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label Aug 22, 2021
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Aug 22, 2021
@nodejs-github-bot
Copy link
Collaborator

jesec added a commit to vercel/pkg-fetch that referenced this pull request Aug 24, 2021
@jesec
Copy link
Member Author

jesec commented Aug 30, 2021

Hmm... Can someone land this? CI failure looks unrelated.

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@lpinca
Copy link
Member

lpinca commented Sep 5, 2021

Landed in 338ab0d.

lpinca pushed a commit that referenced this pull request Sep 5, 2021
man ld -export_dynamic:

```
Preserves all global symbols in main executables during LTO.

Without this option, Link Time Optimization is allowed to inline
and remove global functions.

This option is used when a main executable may load a plug-in which
requires certain symbols from the main executable.
```

Bug: vercel/pkg#1155
Signed-off-by: Jesse Chan <jc@linux.com>

PR-URL: #39839
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
@lpinca lpinca closed this Sep 5, 2021
targos pushed a commit that referenced this pull request Sep 7, 2021
man ld -export_dynamic:

```
Preserves all global symbols in main executables during LTO.

Without this option, Link Time Optimization is allowed to inline
and remove global functions.

This option is used when a main executable may load a plug-in which
requires certain symbols from the main executable.
```

Bug: vercel/pkg#1155
Signed-off-by: Jesse Chan <jc@linux.com>

PR-URL: #39839
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
richardlau pushed a commit that referenced this pull request Sep 10, 2021
man ld -export_dynamic:

```
Preserves all global symbols in main executables during LTO.

Without this option, Link Time Optimization is allowed to inline
and remove global functions.

This option is used when a main executable may load a plug-in which
requires certain symbols from the main executable.
```

Bug: vercel/pkg#1155
Signed-off-by: Jesse Chan <jc@linux.com>

PR-URL: #39839
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
@BethGriggs BethGriggs mentioned this pull request Sep 21, 2021
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants