diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-10-24 21:28:56 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-10-24 21:31:47 -0400 |
| commit | 1828f8eb8e1514578ed2da8d58536903f94b7ed0 (patch) | |
| tree | f8e9891a31798e671867dd95f4be7e24471c4ff1 /src/codegen.cpp | |
| parent | d7e28f991d431ee6347f316f03a6f35a5692e095 (diff) | |
| download | zig-1828f8eb8e1514578ed2da8d58536903f94b7ed0.tar.gz zig-1828f8eb8e1514578ed2da8d58536903f94b7ed0.zip | |
fix missing compiler_rt in release modes
the optimizer was deleting compiler_rt symbols, so I changed
the linkage type from LinkOnce to Weak
also changed LinkOnce to mean linkonce_odr in llvm and
Weak to mean weak_odr in llvm.
See #563
Diffstat (limited to 'src/codegen.cpp')
| -rw-r--r-- | src/codegen.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp index 8c5d7622cc..6fb8d4b8ef 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -456,10 +456,10 @@ static LLVMValueRef fn_llvm_value(CodeGen *g, FnTableEntry *fn_table_entry) { LLVMSetLinkage(fn_table_entry->llvm_value, LLVMExternalLinkage); break; case GlobalLinkageIdWeak: - LLVMSetLinkage(fn_table_entry->llvm_value, LLVMWeakAnyLinkage); + LLVMSetLinkage(fn_table_entry->llvm_value, LLVMWeakODRLinkage); break; case GlobalLinkageIdLinkOnce: - LLVMSetLinkage(fn_table_entry->llvm_value, LLVMLinkOnceAnyLinkage); + LLVMSetLinkage(fn_table_entry->llvm_value, LLVMLinkOnceODRLinkage); break; } |
