From edfca92f112b63d5278bfff7482ba254594a6d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Thu, 20 Jul 2017 20:57:54 +0200 Subject: [PATCH] [monodroid] Update to new profiler init symbol name. --- src/monodroid/jni/monodroid-glue.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/monodroid/jni/monodroid-glue.c b/src/monodroid/jni/monodroid-glue.c index 57183905b96..d928b106f85 100644 --- a/src/monodroid/jni/monodroid-glue.c +++ b/src/monodroid/jni/monodroid-glue.c @@ -3423,7 +3423,7 @@ set_trace_options (void) /* Profiler support cribbed from mono/metadata/profiler.c */ typedef void (*ProfilerInitializer) (const char*); -#define INITIALIZER_NAME "mono_profiler_startup" +#define INITIALIZER_NAME "mono_profiler_init" static mono_bool load_profiler (void *handle, const char *desc, const char *symbol) @@ -3467,7 +3467,7 @@ load_embedded_profiler (const char *desc, const char *name) } static mono_bool -load_profiler_from_directory (const char *directory, const char *libname, const char *desc) +load_profiler_from_directory (const char *directory, const char *libname, const char *desc, const char *name) { char *full_name = path_combine (directory, libname); int exists = file_exists (full_name); @@ -3482,7 +3482,9 @@ load_profiler_from_directory (const char *directory, const char *libname, const free (full_name); if (h) { - mono_bool result = load_profiler (h, desc, INITIALIZER_NAME); + char *symbol = monodroid_strdup_printf ("%s_%s", INITIALIZER_NAME, name); + mono_bool result = load_profiler (h, desc, symbol); + free (symbol); if (result) return 1; dlclose (h); @@ -3512,18 +3514,18 @@ monodroid_profiler_load (const char *libmono_path, const char *desc, const char for (oi = 0; oi < MAX_OVERRIDES; ++oi) { if (!directory_exists (override_dirs [oi])) continue; - if ((found = load_profiler_from_directory (override_dirs [oi], libname, desc))) + if ((found = load_profiler_from_directory (override_dirs [oi], libname, desc, mname))) break; } do { if (found) break; - if ((found = load_profiler_from_directory (app_libdir, libname, desc))) + if ((found = load_profiler_from_directory (app_libdir, libname, desc, mname))) break; if ((found = load_embedded_profiler (desc, mname))) break; - if (libmono_path != NULL && (found = load_profiler_from_directory (libmono_path, libname, desc))) + if (libmono_path != NULL && (found = load_profiler_from_directory (libmono_path, libname, desc, mname))) break; } while (0);