| ... | @@ -492,14 +492,12 @@ static LLVMValueRef make_fn_llvm_value(CodeGen *g, ZigFn *fn) { | ... | @@ -492,14 +492,12 @@ static LLVMValueRef make_fn_llvm_value(CodeGen *g, ZigFn *fn) { |
| 492 | if (fn->body_node != nullptr) { | 492 | if (fn->body_node != nullptr) { |
| 493 | maybe_export_dll(g, llvm_fn, linkage); | 493 | maybe_export_dll(g, llvm_fn, linkage); |
| 494 | | 494 | |
| 495 | bool want_fn_safety = g->build_mode != BuildModeFastRelease && | 495 | bool want_ssp_attrs = g->build_mode != BuildModeFastRelease && |
| 496 | g->build_mode != BuildModeSmallRelease && | 496 | g->build_mode != BuildModeSmallRelease && |
| 497 | !fn->def_scope->safety_off; | 497 | g->link_libc; |
| 498 | if (want_fn_safety) { | 498 | if (want_ssp_attrs) { |
| 499 | if (g->link_libc) { | 499 | addLLVMFnAttr(llvm_fn, "sspstrong"); |
| 500 | addLLVMFnAttr(llvm_fn, "sspstrong"); | 500 | addLLVMFnAttrStr(llvm_fn, "stack-protector-buffer-size", "4"); |
| 501 | addLLVMFnAttrStr(llvm_fn, "stack-protector-buffer-size", "4"); | | |
| 502 | } | | |
| 503 | } | 501 | } |
| 504 | if (g->have_stack_probing && !fn->def_scope->safety_off) { | 502 | if (g->have_stack_probing && !fn->def_scope->safety_off) { |
| 505 | addLLVMFnAttrStr(llvm_fn, "probe-stack", "__zig_probe_stack"); | 503 | addLLVMFnAttrStr(llvm_fn, "probe-stack", "__zig_probe_stack"); |