rust-lang / rust-lang/rust

compiler-builtins aarch64 outline atomics symbols do not work with BTI

Open
#151,486 17 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

A-atomic A-target-feature C-bug O-AArch64 P-high T-compiler T-libs
Dominant language
Rust
Stars
119k
Forks
16.2k
PR merge metrics
PR metrics pending

Description

Continuing the discussion here as requested on https://github.com/rust-lang/rust/pull/144938

After this change, we're getting reports from developers about hitting SIGILL in Chromium's render process on some Android devices.

Disabling outline-atomics seems to fix the crashes.

We don't have a good understanding of the root cause yet, but for a start, we'd like to be able to disable the feature.

Passing -Ctarget-feature=-outline-atomics works, but causes warnings:

warning: unstable feature specified for `-Ctarget-feature`: `outline-atomics`
  |
  = note: this feature is not stably supported; its behavior can change in the future

It would be good to have a knob for turning off the feature without warnings. Alternatively it would be good to have a knob to turn off that kind of warning.

(We'll hack it out for now: https://github.com/zmodem/rust/commit/b01caa5309eb7d47bbd2a0b4ae63f7d065be1963)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read PR #144938 and its discussion first, then trace how Rust handles the outline-atomics target feature and its unstable-feature warning. Done means providing a supported way to disable outline-atomics without that warning, or a supported way to suppress this warning, while addressing the reported aarch64 BTI context.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.