[aot] Clean up the naming of global symbols.
authorZoltan Varga <vargaz@gmail.com>
Fri, 26 Jun 2015 02:24:00 +0000 (22:24 -0400)
committerZoltan Varga <vargaz@gmail.com>
Fri, 26 Jun 2015 02:24:00 +0000 (22:24 -0400)
mono/mini/aot-compiler.c
mono/mini/mini-llvm.c
mono/mini/mini.h

index 3fe6b76f475ee34c77b33bf098eb8275a898fcf1..30ebaa6aa4c8c2e745e5972f19496f391f0189ce 100644 (file)
@@ -213,8 +213,7 @@ typedef struct MonoAotCompile {
        GHashTable *unwind_info_offsets;
        GPtrArray *unwind_ops;
        guint32 unwind_info_offset;
-       char *got_symbol_base;
-       char *llvm_got_symbol_base;
+       char *global_prefix;
        char *got_symbol;
        char *llvm_got_symbol;
        char *plt_symbol;
@@ -8463,7 +8462,7 @@ emit_aot_file_info (MonoAotCompile *acfg, MonoAotFileInfo *info)
        sindex = 0;
        symbols [sindex ++] = acfg->got_symbol;
        if (acfg->llvm) {
-               symbols [sindex ++] = g_strdup_printf ("%s%s", acfg->user_symbol_prefix, acfg->llvm_got_symbol_base);
+               symbols [sindex ++] = g_strdup_printf ("%s%s", acfg->user_symbol_prefix, acfg->llvm_got_symbol);
                symbols [sindex ++] = acfg->llvm_eh_frame_symbol;
        } else {
                symbols [sindex ++] = NULL;
@@ -9421,14 +9420,12 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
                        *p = '_';
        }
 
-       acfg->got_symbol_base = g_strdup_printf ("mono_aot_%s_got", acfg->assembly_name_sym);
-       acfg->llvm_got_symbol_base = g_strdup_printf ("mono_aot_%s_llvm_got", acfg->assembly_name_sym);
-       acfg->plt_symbol = g_strdup_printf ("%smono_aot_%s_plt", acfg->llvm_label_prefix, acfg->assembly_name_sym);
-
-       acfg->got_symbol = g_strdup_printf ("%s%s", acfg->llvm_label_prefix, acfg->got_symbol_base);
-       if (acfg->llvm) {
-               acfg->llvm_got_symbol = g_strdup_printf ("%s%s", acfg->llvm_label_prefix, acfg->llvm_got_symbol_base);
-               acfg->llvm_eh_frame_symbol = g_strdup_printf ("mono_aot_%s_eh_frame", acfg->assembly_name_sym);
+       acfg->global_prefix = g_strdup_printf ("mono_aot_%s", acfg->assembly_name_sym);
+       acfg->plt_symbol = g_strdup_printf ("%s_plt", acfg->global_prefix);
+       acfg->got_symbol = g_strdup_printf ("%s_got", acfg->global_prefix);
+       if (acfg->llvm) {
+               acfg->llvm_got_symbol = g_strdup_printf ("%s_llvm_got", acfg->global_prefix);
+               acfg->llvm_eh_frame_symbol = g_strdup_printf ("%s_eh_frame", acfg->global_prefix);
        }
 
        acfg->method_index = 1;
@@ -9449,7 +9446,7 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
 #ifdef ENABLE_LLVM
        if (acfg->llvm) {
                llvm_acfg = acfg;
-               mono_llvm_create_aot_module (acfg->llvm_got_symbol_base, TRUE, TRUE);
+               mono_llvm_create_aot_module (acfg->global_prefix, TRUE);
        }
 #endif
 
index 2667eac00f99831b2a9a363474ad847c405da794..30fa40672d0cd8c30e4c069626e3a0f5b92ca39e 100644 (file)
@@ -5865,7 +5865,7 @@ mono_llvm_free_domain_info (MonoDomain *domain)
 }
 
 void
-mono_llvm_create_aot_module (const char *got_symbol, gboolean external_symbols, gboolean emit_dwarf)
+mono_llvm_create_aot_module (const char *global_prefix, gboolean emit_dwarf)
 {
        /* Delete previous module */
        if (aot_module.plt_entries)
@@ -5876,8 +5876,8 @@ mono_llvm_create_aot_module (const char *got_symbol, gboolean external_symbols,
        memset (&aot_module, 0, sizeof (aot_module));
 
        aot_module.module = LLVMModuleCreateWithName ("aot");
-       aot_module.got_symbol = got_symbol;
-       aot_module.external_symbols = external_symbols;
+       aot_module.got_symbol = g_strdup_printf ("%s_llvm_got", global_prefix);
+       aot_module.external_symbols = TRUE;
        aot_module.emit_dwarf = emit_dwarf;
        /* The first few entries are reserved */
        aot_module.max_got_offset = 16;
index c49198d62333286b55f8ab14819885312123cabd..fe1942682f9d64bf3c0cd4a3040e9d29a53b2f3d 100644 (file)
@@ -2339,7 +2339,7 @@ void     mono_llvm_init                     (void) MONO_LLVM_INTERNAL;
 void     mono_llvm_cleanup                  (void) MONO_LLVM_INTERNAL;
 void     mono_llvm_emit_method              (MonoCompile *cfg) MONO_LLVM_INTERNAL;
 void     mono_llvm_emit_call                (MonoCompile *cfg, MonoCallInst *call) MONO_LLVM_INTERNAL;
-void     mono_llvm_create_aot_module        (const char *got_symbol, gboolean external_symbols, gboolean emit_dwarf) MONO_LLVM_INTERNAL;
+void     mono_llvm_create_aot_module        (const char *global_prefix, gboolean emit_dwarf) MONO_LLVM_INTERNAL;
 void     mono_llvm_emit_aot_module          (const char *filename, const char *cu_name) MONO_LLVM_INTERNAL;
 void     mono_llvm_check_method_supported   (MonoCompile *cfg) MONO_LLVM_INTERNAL;
 void     mono_llvm_free_domain_info         (MonoDomain *domain) MONO_LLVM_INTERNAL;