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

Remove support for the PNaCl target (le32-unknown-nacl) #45041

Merged
merged 5 commits into from
Oct 9, 2017

Conversation

est31
Copy link
Member

@est31 est31 commented Oct 5, 2017

This removes support for the le32-unknown-nacl target which is currently supported by rustc on tier 3. Despite the "nacl" in the name, the target doesn't output native code (x86, ARM, MIPS), instead it outputs binaries in the PNaCl format.

There are two reasons for the removal:

  • Google has announced deprecation of the PNaCl format. The suggestion is to migrate to wasm. Happens we already have a wasm backend!
  • Our PNaCl LLVM backend is provided by the fastcomp patch set that the LLVM fork used by rustc contains in addition to vanilla LLVM (src/llvm/lib/Target/JSBackend/NaCl). Upstream LLVM doesn't have PNaCl support. Removing PNaCl support will enable us to move away from fastcomp (Tracking issue for supporting asm.js and WebAssembly without Fastcomp #44006) and have a lighter set of patches on top of upstream LLVM inside our LLVM fork. This will help distribution packagers of Rust.

Fixes #42420

@rust-highfive
Copy link
Collaborator

r? @BurntSushi

(rust_highfive has picked a reviewer for you, use r? to override)

@est31
Copy link
Member Author

est31 commented Oct 5, 2017

r? @eddyb

@rust-highfive rust-highfive assigned eddyb and unassigned BurntSushi Oct 5, 2017
@est31
Copy link
Member Author

est31 commented Oct 5, 2017

cc @tlively @eholk

@eddyb
Copy link
Member

eddyb commented Oct 5, 2017

r? @alexcrichton

@rust-highfive rust-highfive assigned alexcrichton and unassigned eddyb Oct 5, 2017
@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Oct 5, 2017

📌 Commit 327116a has been approved by alexcrichton

@shepmaster shepmaster added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Oct 6, 2017
@bors
Copy link
Contributor

bors commented Oct 9, 2017

⌛ Testing commit 327116a with merge b2f67c8...

bors added a commit that referenced this pull request Oct 9, 2017
Remove support for the PNaCl target (le32-unknown-nacl)

This removes support for the `le32-unknown-nacl` target which is currently supported by rustc on tier 3. Despite the "nacl" in the name, the target doesn't output native code (x86, ARM, MIPS), instead it outputs binaries in the PNaCl format.

There are two reasons for the removal:

* Google [has announced](https://blog.chromium.org/2017/05/goodbye-pnacl-hello-webassembly.html) deprecation of the PNaCl format. The suggestion is to migrate to wasm. Happens we already have a wasm backend!
* Our PNaCl LLVM backend is provided by the fastcomp patch set that the LLVM fork used by rustc contains in addition to vanilla LLVM (`src/llvm/lib/Target/JSBackend/NaCl`). Upstream LLVM doesn't have PNaCl support. Removing PNaCl support will enable us to move away from fastcomp (#44006) and have a lighter set of patches on top of upstream LLVM inside our LLVM fork. This will help distribution packagers of Rust.

Fixes #42420
@bors
Copy link
Contributor

bors commented Oct 9, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing b2f67c8 to master...

@bors bors merged commit 327116a into rust-lang:master Oct 9, 2017
rtzoeller added a commit to rtzoeller/nix that referenced this pull request Jun 6, 2022
Remove obsolete references to target_env = wasi, target_os = nacl,
target_os = osx, and a typo'd target_os = fushsia that didn't compile
when fixed.

 - target_env = wasi is dead: rust-lang/rust#60117
 - target_os = nacl is dead: rust-lang/rust#45041
 - target_os = osx is dead, but I can't find a link.
bors bot added a commit to nix-rust/nix that referenced this pull request Jun 9, 2022
1735: Cleanup cfg blocks r=asomers a=rtzoeller

Remove obsolete references to target_env = wasi, target_os = nacl, target_os = osx, and a typo'd target_os = fushsia that didn't compile when fixed.

 - target_env = wasi is dead: rust-lang/rust#60117
 - target_os = nacl is dead: rust-lang/rust#45041
 - target_os = osx is dead, but I can't find a link.

Found while exploring `--check-cfg`, as mentioned in #1734.

Co-authored-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
Urgau added a commit to Urgau/rust that referenced this pull request Jan 19, 2023
See rust-lang#45041 for the removal of the
target (le32-unknown-nacl).
Urgau added a commit to Urgau/rust that referenced this pull request Jan 19, 2023
 - `target_os=watchos`: no longer relevant because there are now proper
   targets `*-apple-watchos`
 - `target_arch=nvptx64`: `nvptx64-nvidia-cuda`
 - `target_arch=le32`: target was removed
   (rust-lang#45041)
 - `dont_compile_me`: was removed from stdarch
   (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for
rustc and rustc tools (as to not have the Standard Library
unintentionally depend on them).
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jan 22, 2023
…k-cfgs, r=Mark-Simulacrum

bootstrap: cleanup the list of extra check cfgs

This PR performs some cleanups on the `EXTRA_CHECK_CFGS` list in bootstrap.

- `target_os=watchos`: no longer relevant because there are now proper targets `*-apple-watchos`
 - `target_arch=nvptx64`: target `nvptx64-nvidia-cuda` makes it useless
 - `target_arch=le32`: target was removed (rust-lang#45041)
 - ~~`release`: was removed from rustfmt (rust-lang/rustfmt#5375 and rust-lang/rustfmt#5449 (despite the changes being done more than 6 months ago there hasn't been any rustfmt subtree sync)
 - `dont_compile_me`: was removed from stdarch (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for rustc and rustc tools (as to not have the Standard Library unintentionally depend on them).
Urgau added a commit to Urgau/rust that referenced this pull request Jan 25, 2023
See rust-lang#45041 for the removal of the
target (le32-unknown-nacl).
Urgau added a commit to Urgau/rust that referenced this pull request Jan 25, 2023
 - `target_os=watchos`: no longer relevant because there are now proper
   targets `*-apple-watchos`
 - `target_arch=nvptx64`: `nvptx64-nvidia-cuda`
 - `target_arch=le32`: target was removed
   (rust-lang#45041)
 - `release`: was removed from rustfmt
   (rust-lang/rustfmt#5375 and
   rust-lang/rustfmt#5449)
 - `dont_compile_me`: was removed from stdarch
   (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for
rustc and rustc tools (as to not have the Standard Library
unintentionally depend on them).
compiler-errors added a commit to compiler-errors/rust that referenced this pull request Jan 29, 2023
…k-cfgs, r=Mark-Simulacrum

bootstrap: cleanup the list of extra check cfgs

This PR performs some cleanups on the `EXTRA_CHECK_CFGS` list in bootstrap.

- `target_os=watchos`: no longer relevant because there are now proper targets `*-apple-watchos`
 - `target_arch=nvptx64`: target `nvptx64-nvidia-cuda` makes it useless
 - `target_arch=le32`: target was removed (rust-lang#45041)
 - `release`: was removed from rustfmt (rust-lang/rustfmt#5375 and rust-lang/rustfmt#5449)
 - `dont_compile_me`: was removed from stdarch (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for rustc and rustc tools (as to not have the Standard Library unintentionally depend on them).
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 30, 2023
…cfgs, r=Mark-Simulacrum

bootstrap: cleanup the list of extra check cfgs

This PR performs some cleanups on the `EXTRA_CHECK_CFGS` list in bootstrap.

- `target_os=watchos`: no longer relevant because there are now proper targets `*-apple-watchos`
 - `target_arch=nvptx64`: target `nvptx64-nvidia-cuda` makes it useless
 - `target_arch=le32`: target was removed (rust-lang#45041)
 - `release`: was removed from rustfmt (rust-lang/rustfmt#5375 and rust-lang/rustfmt#5449)
 - `dont_compile_me`: was removed from stdarch (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for rustc and rustc tools (as to not have the Standard Library unintentionally depend on them).
bors added a commit to rust-lang/miri that referenced this pull request Jan 31, 2023
…ark-Simulacrum

bootstrap: cleanup the list of extra check cfgs

This PR performs some cleanups on the `EXTRA_CHECK_CFGS` list in bootstrap.

- `target_os=watchos`: no longer relevant because there are now proper targets `*-apple-watchos`
 - `target_arch=nvptx64`: target `nvptx64-nvidia-cuda` makes it useless
 - `target_arch=le32`: target was removed (rust-lang/rust#45041)
 - `release`: was removed from rustfmt (rust-lang/rustfmt#5375 and rust-lang/rustfmt#5449)
 - `dont_compile_me`: was removed from stdarch (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for rustc and rustc tools (as to not have the Standard Library unintentionally depend on them).
thomcc pushed a commit to tcdi/postgrestd that referenced this pull request May 31, 2023
See rust-lang/rust#45041 for the removal of the
target (le32-unknown-nacl).
thomcc pushed a commit to tcdi/postgrestd that referenced this pull request May 31, 2023
…ark-Simulacrum

bootstrap: cleanup the list of extra check cfgs

This PR performs some cleanups on the `EXTRA_CHECK_CFGS` list in bootstrap.

- `target_os=watchos`: no longer relevant because there are now proper targets `*-apple-watchos`
 - `target_arch=nvptx64`: target `nvptx64-nvidia-cuda` makes it useless
 - `target_arch=le32`: target was removed (rust-lang/rust#45041)
 - `release`: was removed from rustfmt (rust-lang/rustfmt#5375 and rust-lang/rustfmt#5449)
 - `dont_compile_me`: was removed from stdarch (rust-lang/stdarch#1308)

Also made some external cfg exception mode clear and only activated for rustc and rustc tools (as to not have the Standard Library unintentionally depend on them).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants