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

Avoid nightly regression by using older nightly #338

Merged
merged 2 commits into from
Dec 20, 2023
Merged

Avoid nightly regression by using older nightly #338

merged 2 commits into from
Dec 20, 2023

Conversation

ia0
Copy link
Member

@ia0 ia0 commented Dec 20, 2023

nightly-2023-12-15 breaks compilation of native applets by having symbols from compiler_builtins conflict between the applet static library and the platform during linking. This was not the case with nightly-2023-11-14.

This rollback is temporary until rust-lang/rust#118609 is fixed or provides guidance on how to address this issue. Currently the only work-arounds are:

  • Compile the applet to an object file (like applet.o) and let the platform link all the dependencies of the applet. This is not obvious to do generically at the moment.

  • Require applets that need to compile natively to directly depend on compiler_builtins with the weak-intrinsics feature. If the dependency could been indirect, the prelude would have been the perfect place to introduce it. But given the dependency must be direct, this adds a small burden on applets.

nightly-2023-12-15 breaks compilation of native applets by having symbols from
`compiler_builtins` conflict between the applet static library and the platform
during linking. This was not the case with nightly-2023-11-14.

This rollback is temporary until rust-lang/rust#118609
is fixed or provides guidance on how to address this issue. Currently the only
work-arounds are:

- Compile the applet to an object file (like `applet.o`) and let the platform
  link all the dependencies of the applet. This is not obvious to do
  generically at the moment.

- Require applets that need to compile natively to directly depend on
  `compiler_builtins` with the `weak-intrinsics` feature. If the dependency
  could been indirect, the prelude would have been the perfect place to
  introduce it. But given the dependency must be direct, this adds a small
  burden on applets.
@ia0 ia0 added the for:usability Improves users (and maintainers) life label Dec 20, 2023
@ia0 ia0 merged commit 1307dd7 into google:main Dec 20, 2023
4 checks passed
@ia0 ia0 deleted the fix branch December 20, 2023 15:14
ia0 added a commit to ia0/wasefire that referenced this pull request Jan 15, 2024
The previous one was broken and rolled-back in google#338.
ia0 added a commit to ia0/wasefire that referenced this pull request Jan 15, 2024
Now that rust-lang/rust#118609 is fixed. The previous
nightly was broken and rolled-back in google#338.
ia0 added a commit that referenced this pull request Jan 15, 2024
Now that rust-lang/rust#118609 is fixed. The
previous nightly was broken and rolled-back in #338.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
for:usability Improves users (and maintainers) life
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant