rust/tests/assembly
bors a01382dbea Auto merge of #116037 - wesleywiser:stack_protector_test_windows, r=cuviper
Add `-Zstack-protector` test for Windows targets

Add variants of the `stack-protector-heuristics-effect.rs` test for 32-bit and 64-bit MSVC Windows and update the original test to run on GNU Windows targets.

I added two tests instead of trying to modify the original because:
  - MSVC uses a different function name (`__security_check_cookie` to perform the test rather than doing the test inline and calling `__stack_chk_fail`).
  - LLVM's stack protection pass doesn't currently support generating checks for [frames with funclet based EH personality](37fd3c96b9/llvm/lib/CodeGen/StackProtector.cpp (L103C1-L109C4)).
  - 32-bit Windows uses classic EH while 64-bit Windows uses table-based EH which results in slightly different codegen.

[CI run with test passing on {i686,x86_64}-{msvc,mingw}](https://github.com/rust-lang/rust/actions/runs/6275450644/job/17042958375?pr=116037)
2023-10-19 07:50:09 +00:00
..
asm Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
auxiliary
libs optimize zipping over array iterators 2023-10-06 18:33:25 +02:00
nvptx-kernel-abi
stack-protector Auto merge of #116037 - wesleywiser:stack_protector_test_windows, r=cuviper 2023-10-19 07:50:09 +00:00
aarch64-naked-fn-no-bti-prolog.rs
aarch64-pointer-auth.rs
align_offset.rs
closure-inherit-target-feature.rs Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
dwarf5.rs Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
is_aligned.rs Update the minimum external LLVM to 15 2023-07-27 14:07:08 -07:00
niche-prefer-zero.rs
nvptx-arch-default.rs
nvptx-arch-emit-asm.rs
nvptx-arch-link-arg.rs
nvptx-arch-target-cpu.rs
nvptx-atomics.rs
nvptx-internalizing.rs
nvptx-linking-binary.rs
nvptx-linking-cdylib.rs
nvptx-safe-naming.rs
option-nonzero-eq.rs Also assume wrap-around discriminants in as MIR building 2023-05-18 10:28:36 -07:00
panic-no-unwind-no-uwtable.rs
panic-unwind-no-uwtable.rs
pic-relocation-model.rs
pie-relocation-model.rs
slice-is_ascii.rs Update the minimum external LLVM to 15 2023-07-27 14:07:08 -07:00
sparc-struct-abi.rs
static-relocation-model.rs
strict_provenance.rs Update the minimum external LLVM to 15 2023-07-27 14:07:08 -07:00
target-feature-multiple.rs
wasm_exceptions.rs add assembly-test: wasm-exceptions 2023-07-01 20:24:15 +02:00
x86_64-array-pair-load-store-merge.rs Exclude apple from assembly test 2023-10-12 11:03:02 -07:00
x86_64-floating-point-clamp.rs
x86_64-fortanix-unknown-sgx-lvi-generic-load.rs
x86_64-fortanix-unknown-sgx-lvi-generic-ret.rs
x86_64-fortanix-unknown-sgx-lvi-inline-assembly.rs
x86_64-naked-fn-no-cet-prolog.rs
x86_64-no-jump-tables.rs
x86_64-sse_crc.rs
x86-stack-probes.rs