diff options
| author | gingerBill <bill@gingerbill.org> | 2022-02-20 14:48:12 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-02-20 14:48:12 +0000 |
| commit | 3e5c60f74672651044d70303e8b0a8e56ca765f2 (patch) | |
| tree | 1dbd240ebea3e33646aa8c4d8a939ec38d6222bd /src/llvm_backend.cpp | |
| parent | 0fa487f468b1f63d5ec97ae8bbb0da01717f32cc (diff) | |
Add `-reloc-mode:<string>`
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 934daee28..692b96c51 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -1308,6 +1308,20 @@ void lb_generate_code(lbGenerator *gen) { reloc_mode = LLVMRelocPIC; } + switch (build_context.reloc_mode) { + case RelocMode_Default: + break; + case RelocMode_Static: + reloc_mode = LLVMRelocStatic; + break; + case RelocMode_PIC: + reloc_mode = LLVMRelocPIC; + break; + case RelocMode_DynamicNoPIC: + reloc_mode = LLVMRelocDynamicNoPic; + break; + } + for_array(i, gen->modules.entries) { target_machines[i] = LLVMCreateTargetMachine( target, target_triple, llvm_cpu, |