[runtime] Mark mono_assembly_open and mono_assembly_open_full external only
authorAleksey Kliger <aleksey@xamarin.com>
Mon, 27 Feb 2017 22:35:39 +0000 (17:35 -0500)
committerAleksey Kliger <aleksey@xamarin.com>
Tue, 14 Mar 2017 15:39:03 +0000 (11:39 -0400)
Runtime should use mono_assembly_open_predicate

mono/metadata/appdomain.c
mono/metadata/assembly.h
mono/metadata/attach.c
mono/metadata/coree.c
mono/metadata/domain.c
mono/metadata/mono-security.c
mono/metadata/w32socket.c
mono/mini/driver.c
mono/mini/interp/interp.c
tools/pedump/pedump.c

index 151f40bbaf852f9506efcda5d4e8c70027dd63aa..fcdc5f14345a7c51c6a35521f148eca9ed24f1f2 100644 (file)
@@ -2054,7 +2054,7 @@ ves_icall_System_Reflection_Assembly_LoadFrom (MonoStringHandle fname, MonoBoole
        if (!is_ok (error))
                goto leave;
        
-       MonoAssembly *ass = mono_assembly_open_a_lot (filename, &status, refOnly, TRUE);
+       MonoAssembly *ass = mono_assembly_open_predicate (filename, refOnly, TRUE, NULL, NULL, &status);
        
        if (!ass) {
                if (status == MONO_IMAGE_IMAGE_INVALID)
index 0cde65a2b5b1d244f5ae0e5818ee303180332e75..9b12cafdf66f4d4cc0e9e1c339ed49833ef06917 100644 (file)
@@ -8,8 +8,10 @@ MONO_BEGIN_DECLS
 
 MONO_API void          mono_assemblies_init     (void);
 MONO_API void          mono_assemblies_cleanup  (void);
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoAssembly *mono_assembly_open       (const char *filename,
                                        MonoImageOpenStatus *status);
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoAssembly *mono_assembly_open_full (const char *filename,
                                        MonoImageOpenStatus *status,
                                        mono_bool refonly);
index 72330bbc4fbac5b967452135f960a34d304fab52..6aba8e215b47e5d4acfb51f594c7b384dd1cb0cb 100644 (file)
@@ -31,7 +31,7 @@
 #include <netdb.h>
 #include <unistd.h>
 
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/metadata.h>
 #include <mono/metadata/class-internals.h>
 #include <mono/metadata/object-internals.h>
@@ -275,7 +275,7 @@ mono_attach_load_agent (MonoDomain *domain, char *agent, char *args, MonoObject
        gpointer pa [1];
        MonoImageOpenStatus open_status;
 
-       agent_assembly = mono_assembly_open (agent, &open_status);
+       agent_assembly = mono_assembly_open_predicate (agent, FALSE, FALSE, NULL, NULL, &open_status);
        if (!agent_assembly) {
                fprintf (stderr, "Cannot open agent assembly '%s': %s.\n", agent, mono_image_strerror (open_status));
                g_free (agent);
index 0ce8810d4c224354306cb72cd01cf6d64f573da1..295ab4e928cae0412972d5491bb1de4b5bbb47d4 100644 (file)
@@ -19,7 +19,7 @@
 #include "cil-coff.h"
 #include "metadata-internals.h"
 #include "image.h"
-#include "assembly.h"
+#include "assembly-internals.h"
 #include "domain-internals.h"
 #include "appdomain.h"
 #include "object.h"
@@ -119,7 +119,7 @@ BOOL STDMETHODCALLTYPE _CorDllMain(HINSTANCE hInst, DWORD dwReason, LPVOID lpRes
                 * probably be delayed until the first call to an exported function.
                 */
                if (image->tables [MONO_TABLE_ASSEMBLY].rows && ((MonoCLIImageInfo*) image->image_info)->cli_cli_header.ch_vtable_fixups.rva)
-                       assembly = mono_assembly_open (file_name, NULL);
+                       assembly = mono_assembly_open_predicate (file_name, FALSE, FALSE, NULL, NULL, NULL);
 
                g_free (file_name);
                break;
@@ -170,7 +170,7 @@ __int32 STDMETHODCALLTYPE _CorExeMain(void)
                ExitProcess (1);
        }
 
-       assembly = mono_assembly_open (file_name, NULL);
+       assembly = mono_assembly_open_predicate (file_name, FALSE, FALSE, NULL, NULL, NULL);
        mono_close_exe_image ();
        if (!assembly) {
                g_free (file_name);
index b3fc90a4be5737989eaf6716982e7a4dbd19bc9f..b4e5148432d0baf792a71db4ee8d622e7d022b40 100644 (file)
@@ -32,7 +32,7 @@
 #include <mono/metadata/domain-internals.h>
 #include <mono/metadata/class-internals.h>
 #include <mono/metadata/debug-internals.h>
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/exception.h>
 #include <mono/metadata/metadata-internals.h>
 #include <mono/metadata/appdomain.h>
@@ -992,10 +992,10 @@ mono_domain_assembly_open (MonoDomain *domain, const char *name)
                current = mono_domain_get ();
 
                mono_domain_set (domain, FALSE);
-               ass = mono_assembly_open (name, NULL);
+               ass = mono_assembly_open_predicate (name, FALSE, FALSE, NULL, NULL, NULL);
                mono_domain_set (current, FALSE);
        } else {
-               ass = mono_assembly_open (name, NULL);
+               ass = mono_assembly_open_predicate (name, FALSE, FALSE, NULL, NULL, NULL);
        }
 
        return ass;
index 0d770f70cdc0906290840eeb398892843cfcdfb4..28b209d4f31249ccde284e54c4d9715c7f35eabc 100644 (file)
@@ -12,7 +12,7 @@
 #include <config.h>
 #endif
 
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/image.h>
 #include <mono/metadata/exception.h>
@@ -592,7 +592,7 @@ void invoke_protected_memory_method (MonoArray *data, MonoObject *scope, gboolea
        if (system_security_assembly == NULL) {
                system_security_assembly = mono_image_loaded ("System.Security");
                if (!system_security_assembly) {
-                       MonoAssembly *sa = mono_assembly_open ("System.Security.dll", NULL);
+                       MonoAssembly *sa = mono_assembly_open_predicate ("System.Security.dll", FALSE, FALSE, NULL, NULL, NULL);
                        if (!sa)
                                g_assert_not_reached ();
                        system_security_assembly = mono_assembly_get_image (sa);
index 8bc8b49a8c5b70bb2043829c7bb12797141bf069..bd221429641102adfe0c73ebc4a61029cc75e08a 100644 (file)
@@ -47,7 +47,7 @@
 
 #include <mono/metadata/object.h>
 #include <mono/metadata/exception.h>
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/w32file.h>
 #include <mono/metadata/threads.h>
@@ -641,7 +641,7 @@ get_socket_assembly (void)
 
                socket_assembly = mono_image_loaded ("System");
                if (!socket_assembly) {
-                       MonoAssembly *sa = mono_assembly_open ("System.dll", NULL);
+                       MonoAssembly *sa = mono_assembly_open_predicate ("System.dll", FALSE, FALSE, NULL, NULL, NULL);
                
                        if (!sa) {
                                g_assert_not_reached ();
@@ -1973,7 +1973,7 @@ ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal (gsize sock, gi
                if (mono_posix_image == NULL) {
                        mono_posix_image = mono_image_loaded ("Mono.Posix");
                        if (!mono_posix_image) {
-                               MonoAssembly *sa = mono_assembly_open ("Mono.Posix.dll", NULL);
+                               MonoAssembly *sa = mono_assembly_open_predicate ("Mono.Posix.dll", FALSE, FALSE, NULL, NULL, NULL);
                                if (!sa) {
                                        *werror = WSAENOPROTOOPT;
                                        return;
index 9674a350f904aa1434741540ab3db5f58c94ab10..7a64689897785245979c39f23330243fe86d3ee5 100644 (file)
@@ -21,7 +21,7 @@
 #include <unistd.h>
 #endif
 
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/loader.h>
 #include <mono/metadata/tabledefs.h>
 #include <mono/metadata/class.h>
@@ -536,7 +536,7 @@ mini_regression_list (int verbose, int count, char *images [])
        
        total_run =  total = 0;
        for (i = 0; i < count; ++i) {
-               ass = mono_assembly_open (images [i], NULL);
+               ass = mono_assembly_open_predicate (images [i], FALSE, FALSE, NULL, NULL, NULL);
                if (!ass) {
                        g_warning ("failed to load assembly: %s", images [i]);
                        continue;
@@ -1122,7 +1122,7 @@ load_agent (MonoDomain *domain, char *desc)
                args = NULL;
        }
 
-       agent_assembly = mono_assembly_open (agent, &open_status);
+       agent_assembly = mono_assembly_open_predicate (agent, FALSE, FALSE, NULL, NULL, &open_status);
        if (!agent_assembly) {
                fprintf (stderr, "Cannot open agent assembly '%s': %s.\n", agent, mono_image_strerror (open_status));
                g_free (agent);
@@ -2121,7 +2121,7 @@ mono_main (int argc, char* argv[])
                jit_info_table_test (domain);
 #endif
 
-       assembly = mono_assembly_open (aname, &open_status);
+       assembly = mono_assembly_open_predicate (aname, FALSE, FALSE, NULL, NULL, &open_status);
        if (!assembly) {
                fprintf (stderr, "Cannot open assembly '%s': %s.\n", aname, mono_image_strerror (open_status));
                mini_cleanup (domain);
index 72fcf9f131116d31561b06333ca06a5a7948cd09..9207195fa150f38a485c56a18452185a48d94888 100644 (file)
@@ -36,7 +36,7 @@
 
 /* trim excessive headers */
 #include <mono/metadata/image.h>
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/cil-coff.h>
 #include <mono/metadata/mono-endian.h>
 #include <mono/metadata/tabledefs.h>
@@ -4535,7 +4535,7 @@ mono_interp_regression_list (int verbose, int count, char *images [])
        
        total_run = total = 0;
        for (i = 0; i < count; ++i) {
-               MonoAssembly *ass = mono_assembly_open (images [i], NULL);
+               MonoAssembly *ass = mono_assembly_open_predicate (images [i], FALSE, FALSE, NULL, NULL, NULL);
                if (!ass) {
                        g_warning ("failed to load assembly: %s", images [i]);
                        continue;
index 6ae2a1e1e497e30b768c728687a773408f3d1997..072b535f299e50eeb30e684b19c3ca1dd5c81e90 100644 (file)
@@ -21,7 +21,7 @@
 #include <mono/metadata/debug-helpers.h>
 #include <mono/metadata/tokentype.h>
 #include <mono/metadata/appdomain.h>
-#include <mono/metadata/assembly.h>
+#include <mono/metadata/assembly-internals.h>
 #include <mono/metadata/metadata-internals.h>
 #include <mono/metadata/class-internals.h>
 #include <mono/metadata/verify-internals.h>
@@ -523,7 +523,7 @@ try_load_from (MonoAssembly **assembly, const gchar *path1, const gchar *path2,
        *assembly = NULL;
        fullpath = g_build_filename (path1, path2, path3, path4, NULL);
        if (g_file_test (fullpath, G_FILE_TEST_IS_REGULAR))
-               *assembly = mono_assembly_open_full (fullpath, NULL, refonly);
+               *assembly = mono_assembly_open_predicate (fullpath, refonly, FALSE, NULL, NULL, NULL);
 
        g_free (fullpath);
        return (*assembly != NULL);
@@ -727,7 +727,7 @@ main (int argc, char *argv [])
 
                mono_verifier_set_mode (verifier_mode);
 
-               assembly = mono_assembly_open (file, NULL);
+               assembly = mono_assembly_open_predicate (file, FALSE, FALSE, NULL, NULL, NULL);
                /*fake an assembly for netmodules so the verifier works*/
                if (!assembly && (image = mono_image_open (file, &status)) && image->tables [MONO_TABLE_ASSEMBLY].rows == 0) {
                        assembly = g_new0 (MonoAssembly, 1);