aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2022-03-14 11:02:59 +0000
committerGitHub <noreply@github.com>2022-03-14 11:02:59 +0000
commita7adb2fb6e092e1f37791b1da633b01ff3ca489c (patch)
tree6bff88f90b9b72dcc04ce1c02f86d981c2135fdd /src/llvm_backend.cpp
parent410b85b5c7f768543e03c9fc6f47f8c2efcd602b (diff)
parentf907516cbd0078b69996929d02742d0c1a48c226 (diff)
Merge branch 'master' into freestanding_amd64
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index ed3ae7dfc..b6c1693d8 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -1325,6 +1325,10 @@ void lb_generate_code(lbGenerator *gen) {
switch (build_context.reloc_mode) {
case RelocMode_Default:
+ if (build_context.metrics.os == TargetOs_openbsd) {
+ // Always use PIC for OpenBSD: it defaults to PIE
+ reloc_mode = LLVMRelocPIC;
+ }
break;
case RelocMode_Static:
reloc_mode = LLVMRelocStatic;