aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-05-24 15:41:22 +0100
committergingerBill <bill@gingerbill.org>2021-05-24 15:41:22 +0100
commitc440296ae8b0f171fc0f7df311831954c9992162 (patch)
tree62ea0c3382eeeb574b74227cd78cfede6571e5ba /src/llvm_backend.cpp
parent79f115d6a7eed3000a7ca8d40c4a8db2b79dd595 (diff)
Add `@(link_section=<string>)` for global variables
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index c009e846a..a0294aee0 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -14880,6 +14880,9 @@ void lb_generate_code(lbGenerator *gen) {
LLVMSetLinkage(g.value, LLVMInternalLinkage);
}
}
+ if (e->Variable.link_section.len > 0) {
+ LLVMSetSection(g.value, alloc_cstring(permanent_allocator(), e->Variable.link_section));
+ }
lbGlobalVariable var = {};
var.var = g;