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
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 };