about summary refs log tree commit diff
path: root/tests/codegen/const-array.rs
diff options
context:
space:
mode:
authorStuart Cook <Zalathar@users.noreply.github.com>2024-12-28 16:50:37 +1100
committerGitHub <noreply@github.com>2024-12-28 16:50:37 +1100
commitdd03fba6dd222c3e2ea03369f47151e78acf2d68 (patch)
treef63617da7c649ba2c88598f6f48576eaeaf02651 /tests/codegen/const-array.rs
parent3e3db73c9be04438c972d253251cb1765c573e1e (diff)
parentb32591e5808ce7c59b58bd807dc1d26670cedb68 (diff)
downloadrust-dd03fba6dd222c3e2ea03369f47151e78acf2d68.tar.gz
rust-dd03fba6dd222c3e2ea03369f47151e78acf2d68.zip
Rollup merge of #134760 - jieyouxu:enable-branch-protection-check-IBT, r=lqd
Migrate `branch-protection-check-IBT` to rmake.rs

- The Makefile version *never* ran because of Makefile syntax confusion because `ifeq ($(filter x86,$(LLVM_COMPONENTS)),x86_64)` [compares `x86` to `x86_64`, which always evaluates to false](https://github.com/rust-lang/rust/pull/126720#discussion_r1646808973).
- The test would've always failed because precompiled std is not built with `-Z cf-protection=branch`, but linkers require all input object files to indicate IBT support in order to enable IBT for the executable, which is not the case for std.
- Thus, the test input file is instead changed to a `no_std` program.
- The test is currently limited to only `x86_64-unknown-linux-gnu` host, there are various other problems when the test is cross-compiled that I didn't want to fix atm, and is left as an exercise for the `-Z cf-protection` implementers.

The GNU property note was added by #110304 in order to address #103001.

Partially supersedes #129156.
The rmake.rs port was initially authored by `@Rejyr` in #126720.
This PR is co-authored with `@Oneirical` and `@Rejyr.`

r? `@bjorn3` or reroll

try-job: x86_64-mingw-1
try-job: x86_64-mingw-2
try-job: x86_64-msvc
try-job: x86_64-apple-1
try-job: x86_64-apple-2
Diffstat (limited to 'tests/codegen/const-array.rs')
0 files changed, 0 insertions, 0 deletions