Change the linkage of the type_info symbols generated by the LLVM backend, since...
authorZoltan Varga <vargaz@gmail.com>
Tue, 5 Mar 2013 16:34:44 +0000 (17:34 +0100)
committerZoltan Varga <vargaz@gmail.com>
Tue, 5 Mar 2013 16:34:58 +0000 (17:34 +0100)
mono/mini/mini-llvm.c

index a369d550756d5a2d18c982c1086aa03b3813aba6..2b41cd3fe952dd63457fb436141ddf022d144c7b 100644 (file)
@@ -2157,7 +2157,10 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
                        type_info = LLVMAddGlobal (module, LLVMInt32Type (), ti_name);
                        LLVMSetInitializer (type_info, LLVMConstInt (LLVMInt32Type (), clause_index, FALSE));
 
-                       LLVMSetLinkage (type_info, LLVMPrivateLinkage);
+                       /*
+                        * These symbols are not really used, the clause_index is embedded into the EH tables generated by DwarfMonoException in LLVM.
+                        */
+                       LLVMSetLinkage (type_info, LLVMInternalLinkage);
                        LLVMSetVisibility (type_info, LLVMHiddenVisibility);
 
                        /*