ntdll/kernel split 2: SO DLL loading removal

Eric Pouech eric.pouech at wanadoo.fr
Tue Mar 4 15:02:17 CST 2003


as (shortly) discussed on wine-devel, this removes SO loading for DLL
I think only glide* DLLs would be affected and should require a wrapper

A+
-- 
Eric Pouech
-------------- next part --------------
Name:          ntkrnl_2
ChangeLog:     removed SO loading type
License:       X11
GenDate:       2003/03/04 21:00:43 UTC
ModifiedFiles: dlls/ntdll/Makefile.in loader/module.c loader/loadorder.c documentation/configuring.sgml documentation/wine.conf.man documentation/wine.man.in loader/ne/module.c include/module.h
AddedFiles:    
RemovedFils:   loader/elf.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/dlls/ntdll/Makefile.in,v
retrieving revision 1.50
diff -u -u -r1.50 Makefile.in
--- dlls/ntdll/Makefile.in	17 Dec 2002 21:06:25 -0000	1.50
+++ dlls/ntdll/Makefile.in	4 Mar 2003 20:37:03 -0000
@@ -18,7 +18,6 @@
 	$(TOPOBJDIR)/if1632/builtin.c \
 	$(TOPOBJDIR)/if1632/relay.c \
 	$(TOPOBJDIR)/if1632/snoop.c \
-	$(TOPOBJDIR)/loader/elf.c \
 	$(TOPOBJDIR)/loader/loadorder.c \
 	$(TOPOBJDIR)/loader/main.c \
 	$(TOPOBJDIR)/loader/module.c \
Index: loader/module.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/loader/module.c,v
retrieving revision 1.172
diff -u -u -r1.172 module.c
--- loader/module.c	4 Mar 2003 04:36:56 -0000	1.172
+++ loader/module.c	4 Mar 2003 20:40:07 -0000
@@ -1279,12 +1279,6 @@
                         filetype = "native";
 			break;
 
-		case LOADORDER_SO:
-			TRACE("Trying so-library '%s'\n", filename);
-                        pwm = ELF_LoadLibraryExA(filename, flags);
-                        filetype = "so";
-			break;
-
 		case LOADORDER_BI:
 			TRACE("Trying built-in '%s'\n", filename);
 			pwm = BUILTIN32_LoadLibraryExA(filename, flags);
Index: loader/loadorder.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/loader/loadorder.c,v
retrieving revision 1.61
diff -u -u -r1.61 loadorder.c
--- loader/loadorder.c	17 Feb 2003 01:49:47 -0000	1.61
+++ loader/loadorder.c	4 Mar 2003 20:14:53 -0000
@@ -55,39 +55,39 @@
 /* the list must remain sorted by dll name */
 static module_loadorder_t default_order_list[] =
 {
-    { "display",      { LOADORDER_BI,  0,             0, 0 } },
-    { "gdi.exe",      { LOADORDER_BI,  0,             0, 0 } },
-    { "gdi32",        { LOADORDER_BI,  0,             0, 0 } },
-    { "glide2x",      { LOADORDER_SO,  LOADORDER_DLL, 0, 0 } },
-    { "glide3x",      { LOADORDER_SO,  LOADORDER_DLL, 0, 0 } },
-    { "icmp",         { LOADORDER_BI,  0,             0, 0 } },
-    { "kernel",       { LOADORDER_BI,  0,             0, 0 } },
-    { "kernel32",     { LOADORDER_BI,  0,             0, 0 } },
-    { "keyboard",     { LOADORDER_BI,  0,             0, 0 } },
-    { "krnl386.exe",  { LOADORDER_BI,  0,             0, 0 } },
-    { "mmsystem",     { LOADORDER_BI,  0,             0, 0 } },
-    { "mouse",        { LOADORDER_BI,  0,             0, 0 } },
-    { "ntdll",        { LOADORDER_BI,  0,             0, 0 } },
-    { "odbc32",       { LOADORDER_BI,  0,             0, 0 } },
-    { "system",       { LOADORDER_BI,  0,             0, 0 } },
-    { "toolhelp",     { LOADORDER_BI,  0,             0, 0 } },
-    { "ttydrv",       { LOADORDER_BI,  0,             0, 0 } },
-    { "user.exe",     { LOADORDER_BI,  0,             0, 0 } },
-    { "user32",       { LOADORDER_BI,  0,             0, 0 } },
-    { "w32skrnl",     { LOADORDER_BI,  0,             0, 0 } },
-    { "winaspi",      { LOADORDER_BI,  0,             0, 0 } },
-    { "windebug",     { LOADORDER_DLL, LOADORDER_BI,  0, 0 } },
-    { "winedos",      { LOADORDER_BI,  0,             0, 0 } },
-    { "wineps",       { LOADORDER_BI,  0,             0, 0 } },
-    { "wing",         { LOADORDER_BI,  0,             0, 0 } },
-    { "winmm",        { LOADORDER_BI,  0,             0, 0 } },
-    { "winsock",      { LOADORDER_BI,  0,             0, 0 } },
-    { "wnaspi32",     { LOADORDER_BI,  0,             0, 0 } },
-    { "wow32",        { LOADORDER_BI,  0,             0, 0 } },
-    { "wprocs",       { LOADORDER_BI,  0,             0, 0 } },
-    { "ws2_32",       { LOADORDER_BI,  0,             0, 0 } },
-    { "wsock32",      { LOADORDER_BI,  0,             0, 0 } },
-    { "x11drv",       { LOADORDER_BI,  0,             0, 0 } }
+    { "display",      { LOADORDER_BI,  0,             0 } },
+    { "gdi.exe",      { LOADORDER_BI,  0,             0 } },
+    { "gdi32",        { LOADORDER_BI,  0,             0 } },
+    { "glide2x",      { LOADORDER_DLL, 0,             0 } },
+    { "glide3x",      { LOADORDER_DLL, 0,             0 } },
+    { "icmp",         { LOADORDER_BI,  0,             0 } },
+    { "kernel",       { LOADORDER_BI,  0,             0 } },
+    { "kernel32",     { LOADORDER_BI,  0,             0 } },
+    { "keyboard",     { LOADORDER_BI,  0,             0 } },
+    { "krnl386.exe",  { LOADORDER_BI,  0,             0 } },
+    { "mmsystem",     { LOADORDER_BI,  0,             0 } },
+    { "mouse",        { LOADORDER_BI,  0,             0 } },
+    { "ntdll",        { LOADORDER_BI,  0,             0 } },
+    { "odbc32",       { LOADORDER_BI,  0,             0 } },
+    { "system",       { LOADORDER_BI,  0,             0 } },
+    { "toolhelp",     { LOADORDER_BI,  0,             0 } },
+    { "ttydrv",       { LOADORDER_BI,  0,             0 } },
+    { "user.exe",     { LOADORDER_BI,  0,             0 } },
+    { "user32",       { LOADORDER_BI,  0,             0 } },
+    { "w32skrnl",     { LOADORDER_BI,  0,             0 } },
+    { "winaspi",      { LOADORDER_BI,  0,             0 } },
+    { "windebug",     { LOADORDER_DLL, LOADORDER_BI,  0 } },
+    { "winedos",      { LOADORDER_BI,  0,             0 } },
+    { "wineps",       { LOADORDER_BI,  0,             0 } },
+    { "wing",         { LOADORDER_BI,  0,             0 } },
+    { "winmm",        { LOADORDER_BI,  0,             0 } },
+    { "winsock",      { LOADORDER_BI,  0,             0 } },
+    { "wnaspi32",     { LOADORDER_BI,  0,             0 } },
+    { "wow32",        { LOADORDER_BI,  0,             0 } },
+    { "wprocs",       { LOADORDER_BI,  0,             0 } },
+    { "ws2_32",       { LOADORDER_BI,  0,             0 } },
+    { "wsock32",      { LOADORDER_BI,  0,             0 } },
+    { "x11drv",       { LOADORDER_BI,  0,             0 } }
 };
 
 static const struct loadorder_list default_list =
@@ -100,13 +100,13 @@
 /* default if nothing else specified */
 static const enum loadorder_type default_loadorder[LOADORDER_NTYPES] =
 {
-    LOADORDER_BI, LOADORDER_DLL, 0, 0
+    LOADORDER_BI, LOADORDER_DLL, 0
 };
 
 /* default for modules with an explicit path */
 static const enum loadorder_type default_path_loadorder[LOADORDER_NTYPES] =
 {
-    LOADORDER_DLL, LOADORDER_BI, 0, 0
+    LOADORDER_DLL, LOADORDER_BI, 0
 };
 
 static struct loadorder_list cmdline_list;
@@ -198,7 +198,6 @@
         switch(lo[i])
         {
         case LOADORDER_DLL: strcat( buffer, "n," ); break;
-        case LOADORDER_SO:  strcat( buffer, "s," ); break;
         case LOADORDER_BI:  strcat( buffer, "b," ); break;
         default:            strcat( buffer, "?," ); break;
         }
@@ -216,7 +215,7 @@
  */
 static BOOL ParseLoadOrder(char *order, enum loadorder_type lo[])
 {
-    static int warn;
+    static int warnElf, warnSo;
 	char *cptr;
 	int n = 0;
 
@@ -238,10 +237,12 @@
 
 		case 'E':	/* Elfdll */
 		case 'e':
-                    if (!warn++) MESSAGE("Load order 'elfdll' no longer supported, ignored\n");
+                    if (!warnElf++) MESSAGE("Load order 'elfdll' no longer supported, ignored\n");
                     break;
 		case 'S':	/* So */
-		case 's': type = LOADORDER_SO; break;
+		case 's':
+                    if (!warnSo++) MESSAGE("Load order 'so' no longer supported, ignored\n");
+                    break;
 
 		case 'B':	/* Builtin */
 		case 'b': type = LOADORDER_BI; break;
@@ -458,7 +459,6 @@
             switch(tolowerW(*str))
             {
             case 'n': type = LOADORDER_DLL; break;
-            case 's': type = LOADORDER_SO; break;
             case 'b': type = LOADORDER_BI; break;
             case 0:   break;  /* end of string */
             default:
Index: documentation/configuring.sgml
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/documentation/configuring.sgml,v
retrieving revision 1.22
diff -u -u -r1.22 configuring.sgml
--- documentation/configuring.sgml	24 Dec 2002 00:56:33 -0000	1.22
+++ documentation/configuring.sgml	4 Mar 2003 20:23:31 -0000
@@ -538,7 +538,7 @@
                 <varlistentry>
                   <term>so</term>
                   <listitem><para>
-                      Native ELF libraries. Will not work yet.
+                      Native ELF libraries. Has been deprecated, ignored.
                     </para></listitem>
                 </varlistentry>
                 <varlistentry>
@@ -559,7 +559,7 @@
             These settings provide wine's default handling of DLL loading.
           </para>
           <para>
-            <programlisting>"DefaultLoadOrder" =" native, so, builtin"</programlisting>
+            <programlisting>"DefaultLoadOrder" =" native, builtin"</programlisting>
           </para>
           <para>
             This setting is a comma-delimited list of the order in
@@ -1615,16 +1615,6 @@
                   part of <filename>libwine.so</filename>, or more
                   recently, in a special <filename>.so</filename> file
                   that Wine is able to load on demand.
-                </para> </listitem>
-            </varlistentry>
-            <varlistentry>
-              <term>so</term>
-              <listitem> <para>
-                  A native Unix <filename>.so</filename> file, with
-                  calling convention conversion thunks generated on the
-                  fly as the library is loaded. This is mostly useful
-                  for libraries such as "glide" that have exactly the
-                  same API on both Windows and Unix.
                 </para> </listitem>
             </varlistentry>
           </variablelist>
Index: documentation/wine.conf.man
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/documentation/wine.conf.man,v
retrieving revision 1.8
diff -u -u -r1.8 wine.conf.man
--- documentation/wine.conf.man	18 Dec 2002 02:23:29 -0000	1.8
+++ documentation/wine.conf.man	4 Mar 2003 20:27:58 -0000
@@ -192,14 +192,14 @@
 .PP
 .B [DllOverrides]
 .br
-.I format: """modulename""=""native,so,builtin"""
+.I format: """modulename""=""native,builtin"""
 .br
 .I modulename
 can be any valid DLL module name. If no extension is specified .dll is
 assumed. The specified value is a comma separated list of module-types
 to try to load in that specific order. Case is not important and only
-the first letter of each type is enough to identify the type n[ative],
-s[o], b[uiltin]. Also whitespace is ignored. See also commandline
+the first letter of each type is enough to identify the type n[ative]
+or b[uiltin]. Also whitespace is ignored. See also commandline
 option
 .I --dll
 for details about the allowable types.
@@ -208,7 +208,7 @@
 .I """*"""
 specifies the load order to use for modules not explicitly
 mentioned. If the wildcard entry is not found, then the order
-"native,builtin,so" is used.
+"native,builtin" is used.
 .br
 Examples:
 .br
Index: documentation/wine.man.in
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/documentation/wine.man.in,v
retrieving revision 1.45
diff -u -u -r1.45 wine.man.in
--- documentation/wine.man.in	19 Dec 2002 01:04:47 -0000	1.45
+++ documentation/wine.man.in	4 Mar 2003 20:28:33 -0000
@@ -105,20 +105,18 @@
 in the source distribution (FIXME: outdated).
 .RE
 .TP
-.I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]]
+.I --dll name[,name[,...]]={native|builtin}[,{n|b}[,...]]
 Selects the override type and load order of dll used in the loading
 process for any dll. The default is set in the configuration
 file. There are currently three types of libraries that can be loaded
 into a process' address space: Native windows dlls (
 .I native
-), native ELF libraries (
-.I so
-)and 
+), 
 .B wine 
 internal dlls (
 .I builtin
 ). The type may be abbreviated with the first letter of the type (
-.I n, s, b
+.I n, b
 ). Each sequence of orders must be separated by commas.
 .br
 Each dll may have its own specific load order. The load order
Index: loader/ne/module.c
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/loader/ne/module.c,v
retrieving revision 1.126
diff -u -u -r1.126 module.c
--- loader/ne/module.c	12 Dec 2002 23:34:01 -0000	1.126
+++ loader/ne/module.c	4 Mar 2003 20:15:32 -0000
@@ -957,7 +957,6 @@
                         filetype = "builtin";
 			break;
 
-		case LOADORDER_SO: /* This is not supported for NE modules */
                 default:
 			hinst = 2;
 			break;
Index: include/module.h
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/include/module.h,v
retrieving revision 1.70
diff -u -u -r1.70 module.h
--- include/module.h	4 Mar 2003 04:36:56 -0000	1.70
+++ include/module.h	4 Mar 2003 20:41:10 -0000
@@ -175,7 +175,6 @@
 {
     LOADORDER_INVALID = 0, /* Must be 0 */
     LOADORDER_DLL,         /* Native DLLs */
-    LOADORDER_SO,          /* Native .so libraries */
     LOADORDER_BI,          /* Built-in modules */
     LOADORDER_NTYPES
 };


More information about the wine-patches mailing list