diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-11-06 23:21:06 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-11-10 13:12:10 -0700 |
| commit | 53f74d6a04377c9e0d7c3affd32fceea0fd51454 (patch) | |
| tree | 1aaeb813b4f799b72449179c14367c5ff6d3644c /src/target.zig | |
| parent | 2a81a0f388fcf1b3ddbb55dce03fa93f4eecd804 (diff) | |
| download | zig-53f74d6a04377c9e0d7c3affd32fceea0fd51454.tar.gz zig-53f74d6a04377c9e0d7c3affd32fceea0fd51454.zip | |
move libssp into libcompiler_rt
closes #7265
Diffstat (limited to 'src/target.zig')
| -rw-r--r-- | src/target.zig | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/target.zig b/src/target.zig index 7f85113040..59528ed139 100644 --- a/src/target.zig +++ b/src/target.zig @@ -328,8 +328,19 @@ pub fn supportsStackProbing(target: std.Target) bool { (target.cpu.arch == .x86 or target.cpu.arch == .x86_64); } -pub fn supportsStackProtector(target: std.Target) bool { - return !target.isSpirV(); +pub fn supportsStackProtector(target: std.Target, backend: std.builtin.CompilerBackend) bool { + switch (target.os.tag) { + .plan9 => return false, + else => {}, + } + switch (target.cpu.arch) { + .spirv32, .spirv64 => return false, + else => {}, + } + return switch (backend) { + .stage2_llvm => true, + else => false, + }; } pub fn libcProvidesStackProtector(target: std.Target) bool { |
