X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fpedump.c;h=d6c159dcf300fd2eb5e69f45d392edf4280a7ed5;hb=28d30f12aeba96f2c7c8218ca4552a3352017993;hp=19b6f6698daddd2d175ccac63293bd1b90826c4f;hpb=c8aa61eb461352fdfa2f1e7daab13d203a8d0fd3;p=mono.git diff --git a/mono/metadata/pedump.c b/mono/metadata/pedump.c index 19b6f6698da..d6c159dcf30 100644 --- a/mono/metadata/pedump.c +++ b/mono/metadata/pedump.c @@ -39,6 +39,10 @@ gboolean verify_metadata = FALSE; gboolean verify_code = FALSE; gboolean verify_partial_md = FALSE; +static MonoAssembly *pedump_preload (MonoAssemblyName *aname, gchar **assemblies_path, gpointer user_data); +static void pedump_assembly_load_hook (MonoAssembly *assembly, gpointer user_data); +static MonoAssembly *pedump_assembly_search_hook (MonoAssemblyName *aname, gpointer user_data); + /* unused static void hex_dump (const char *buffer, int base, int count) @@ -451,6 +455,17 @@ verify_image_file (const char *fname) assembly->image = image; image->assembly = assembly; + /*Finish initializing the runtime*/ + mono_install_assembly_load_hook (pedump_assembly_load_hook, NULL); + mono_install_assembly_search_hook (pedump_assembly_search_hook, NULL); + + mono_init_version ("pedump", image->version); + + mono_install_assembly_preload_hook (pedump_preload, GUINT_TO_POINTER (FALSE)); + + mono_marshal_init (); + + if (!verify_partial_md && !mono_verifier_verify_full_table_data (image, &errors)) goto invalid_image; @@ -676,14 +691,6 @@ main (int argc, char *argv []) } if (verify_pe || run_new_metadata_verifier) { - mono_install_assembly_load_hook (pedump_assembly_load_hook, NULL); - mono_install_assembly_search_hook (pedump_assembly_search_hook, NULL); - - mono_init_version ("pedump", "v2.0.50727"); - - mono_install_assembly_preload_hook (pedump_preload, GUINT_TO_POINTER (FALSE)); - - mono_marshal_init (); run_new_metadata_verifier = 1; }