diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-08-19 06:41:34 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-19 06:41:34 -0400 |
| commit | be2bd5848a880765f4bc7e2363ef201a0930a04b (patch) | |
| tree | 868694d734e82cb93b52b6c0c155d932f5f65f8f /src/target.zig | |
| parent | 2ccaa5414b904edb2f4af293291f5401d106f277 (diff) | |
| parent | fdb934a157230ae6d3f11dee8d0d62013d5b919e (diff) | |
| download | zig-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.zig | 9 |
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, |
