aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-04-18 12:45:20 +0100
committergingerBill <bill@gingerbill.org>2024-04-18 12:45:20 +0100
commit5200e3fe7a0eff6ecc76838e20ad33762ba08d5d (patch)
treeac0f74891900739c9b81c1cf7d4853fda65a0907 /src
parentb72d49ceb5e3b0010d933a7cd370b8d7e1502561 (diff)
Set `__$ti-` stuff to be private linkage
Diffstat (limited to 'src')
-rw-r--r--src/llvm_backend_general.cpp2
-rw-r--r--src/llvm_backend_type.cpp7
2 files changed, 3 insertions, 6 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp
index 7a5ed5635..da69f94d7 100644
--- a/src/llvm_backend_general.cpp
+++ b/src/llvm_backend_general.cpp
@@ -211,7 +211,7 @@ gb_internal void lb_loop_end(lbProcedure *p, lbLoopData const &data) {
gb_internal void lb_make_global_private_const(LLVMValueRef global_data) {
- LLVMSetLinkage(global_data, LLVMPrivateLinkage);
+ LLVMSetLinkage(global_data, LLVMLinkerPrivateLinkage);
LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr);
LLVMSetGlobalConstant(global_data, true);
}
diff --git a/src/llvm_backend_type.cpp b/src/llvm_backend_type.cpp
index 78e6af852..e202a59ba 100644
--- a/src/llvm_backend_type.cpp
+++ b/src/llvm_backend_type.cpp
@@ -249,9 +249,7 @@ gb_internal void lb_setup_type_info_data_giant_array(lbModule *m, i64 global_typ
char name[64] = {};
gb_snprintf(name, 63, "__$ti-%lld", cast(long long)index);
LLVMValueRef g = LLVMAddGlobal(m->mod, type, name);
- LLVMSetLinkage(g, LLVMInternalLinkage);
- LLVMSetUnnamedAddress(g, LLVMGlobalUnnamedAddr);
- LLVMSetGlobalConstant(g, true);
+ lb_make_global_private_const(g);
return g;
};
@@ -1103,8 +1101,7 @@ gb_internal void lb_setup_type_info_data_giant_array(lbModule *m, i64 global_typ
LLVMValueRef giant_const = LLVMConstArray(lb_type(m, t_type_info_ptr), giant_const_values, cast(unsigned)global_type_info_data_entity_count);
LLVMValueRef giant_array = lb_global_type_info_data_ptr(m).value;
LLVMSetInitializer(giant_array, giant_const);
- LLVMSetGlobalConstant(giant_array, true);
- LLVMSetLinkage(giant_array, LLVMLinkerPrivateLinkage);
+ lb_make_global_private_const(giant_array);
}