From ebc8ab1e4e678202977e17a34313a98e7e899ed3 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 21 Feb 2022 12:25:54 +0100 Subject: Fix stack protector basic test This is a >= condition, so we need a maximum size of 7 to not create a stack protector in basic mode. The reason this still worked is that the alloca type was converted into an integer (rather than an array). The way these heuristics are implemented in LLVM is rather questionable and not resilient to optimization. --- src/test/assembly/stack-protector/stack-protector-heuristics-effect.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/test/assembly/stack-protector/stack-protector-heuristics-effect.rs b/src/test/assembly/stack-protector/stack-protector-heuristics-effect.rs index 530326ab743..7c2b6055090 100644 --- a/src/test/assembly/stack-protector/stack-protector-heuristics-effect.rs +++ b/src/test/assembly/stack-protector/stack-protector-heuristics-effect.rs @@ -78,7 +78,7 @@ pub fn array_u8_1(f: fn(*const u8)) { #[no_mangle] pub fn array_u8_small(f: fn(*const u8)) { let a = [0u8; 2]; - let b = [0u8; 8]; + let b = [0u8; 7]; f(&a as *const _); f(&b as *const _); -- cgit 1.4.1-3-g733a5