aboutsummaryrefslogtreecommitdiff
path: root/src/target.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-08-19 06:41:34 -0400
committerGitHub <noreply@github.com>2022-08-19 06:41:34 -0400
commitbe2bd5848a880765f4bc7e2363ef201a0930a04b (patch)
tree868694d734e82cb93b52b6c0c155d932f5f65f8f /src/target.zig
parent2ccaa5414b904edb2f4af293291f5401d106f277 (diff)
parentfdb934a157230ae6d3f11dee8d0d62013d5b919e (diff)
downloadzig-be2bd5848a880765f4bc7e2363ef201a0930a04b.tar.gz
zig-be2bd5848a880765f4bc7e2363ef201a0930a04b.zip
Merge pull request #12472 from ziglang/stage2-stack-protector
stage2: implement stack protectors
Diffstat (limited to 'src/target.zig')
-rw-r--r--src/target.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/target.zig b/src/target.zig
index 5202fb15fc..405a7fe2bf 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 {
+ // TODO: investigate whether stack-protector works on wasm
+ return !target.isWasm();
+}
+
+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,