From c0b7f20893ea5ca42e0d02b59db6f459c2f80ca1 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 17 Aug 2022 18:42:39 -0700 Subject: stage2: implement stack protectors This is one of the final remaining TODOs for the LLVM backend. --- src/target.zig | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/target.zig') diff --git a/src/target.zig b/src/target.zig index 5202fb15fc..3c8eabe01d 100644 --- a/src/target.zig +++ b/src/target.zig @@ -300,6 +300,15 @@ pub fn supportsStackProbing(target: std.Target) bool { (target.cpu.arch == .i386 or target.cpu.arch == .x86_64); } +pub fn supportsStackProtector(target: std.Target) bool { + _ = target; + return true; +} + +pub fn libcProvidesStackProtector(target: std.Target) bool { + return !target.isMinGW() and target.os.tag != .wasi; +} + pub fn supportsReturnAddress(target: std.Target) bool { return switch (target.cpu.arch) { .wasm32, .wasm64 => target.os.tag == .emscripten, -- cgit v1.2.3