mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Set __$ti- stuff to be private linkage
This commit is contained in:
@@ -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) {
|
gb_internal void lb_make_global_private_const(LLVMValueRef global_data) {
|
||||||
LLVMSetLinkage(global_data, LLVMPrivateLinkage);
|
LLVMSetLinkage(global_data, LLVMLinkerPrivateLinkage);
|
||||||
LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr);
|
LLVMSetUnnamedAddress(global_data, LLVMGlobalUnnamedAddr);
|
||||||
LLVMSetGlobalConstant(global_data, true);
|
LLVMSetGlobalConstant(global_data, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -249,9 +249,7 @@ gb_internal void lb_setup_type_info_data_giant_array(lbModule *m, i64 global_typ
|
|||||||
char name[64] = {};
|
char name[64] = {};
|
||||||
gb_snprintf(name, 63, "__$ti-%lld", cast(long long)index);
|
gb_snprintf(name, 63, "__$ti-%lld", cast(long long)index);
|
||||||
LLVMValueRef g = LLVMAddGlobal(m->mod, type, name);
|
LLVMValueRef g = LLVMAddGlobal(m->mod, type, name);
|
||||||
LLVMSetLinkage(g, LLVMInternalLinkage);
|
lb_make_global_private_const(g);
|
||||||
LLVMSetUnnamedAddress(g, LLVMGlobalUnnamedAddr);
|
|
||||||
LLVMSetGlobalConstant(g, true);
|
|
||||||
return 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_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;
|
LLVMValueRef giant_array = lb_global_type_info_data_ptr(m).value;
|
||||||
LLVMSetInitializer(giant_array, giant_const);
|
LLVMSetInitializer(giant_array, giant_const);
|
||||||
LLVMSetGlobalConstant(giant_array, true);
|
lb_make_global_private_const(giant_array);
|
||||||
LLVMSetLinkage(giant_array, LLVMLinkerPrivateLinkage);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user