Wine Traffic #32 For 28 Feb 2000 By Eric Pouech Table Of Contents * Standard Format * Text Format * XML Source * Introduction * Mailing List Stats For This Week * Threads Covered 1. Alexandre Julliard's Interview 2. Wine on Solaris Introduction This is the 32nd release of the Wine's kernel cousin publication. It's main goal is to distribute widely what's going on around Wine (the Un*x windows emulator). Wine20000227 has been released. Main changes are: * Most builtin DLLs are now separate shared libraries. * Tons of code merged from the Corel tree. * Many more common controls and shell stuff. * Lots of bug fixes. Check it out !! Mailing List Stats For This Week We looked at 78 posts in 239K. There were 26 different contributors. 15 posted more than once. 16 posted last week too. The top posters of the week were: * 7 posts in 18K by Uwe Bonnes * 7 posts in 18K by Patrik Stridvall * 7 posts in 16K by Eric Pouech * 7 posts in 14K by Ove Kaaven * 6 posts in 12K by Ulrich Weigand * Full Stats 1. Alexandre Julliard's Interview Archive Link: "press: olinux interview Alexandre Julliard" People: Alexandre Julliard, , Marcus Meissner Marcus Meissner posted that Alexandre Julliard got interviewed (http:// www.olinux.com.br/entrevistas/7/en/index.html) by Olinux. Not too many surprizing items, except for a potential first release this year... 2. Wine on Solaris Archive Link: "More non-GCC fixes" People: Ulrich Weigand, Patrik Stridvall, , Patrik Stridval Patrik Stridvall continued his effort to port Wine code to compile with a compiler different from GCC. One of his proposed fix contained a change in the shared libraries symbol loading. Ulrich Weigand disagreed on the proposal (replacing GOTOFF by GOT): The linker/loader maintain a global offset table, which consists of an array of pointers to exported variables. All access to those variables is supposed to go through these pointers, if the variable could reside within another dynamic object. If 'variable' is an exported symbol, then 'variable@GOT' is replaced by the linker with a constant: the offset of the GOT slot containing the pointer to variable. So, if the %ebx register contains the start address of the GOT, you can retrieve this pointer via movl variable@GOT(%ebx), %eax If you want the value of the variable, you need another indirection: movl (%eax), %eax If you know, however, that the variable in question must reside in the same dynamic object as the user, then you can avoid that double indirection, by using the GOTOFF facility. 'variable@GOTOFF' is replaced by the linker with another constant: the difference between the absolute address of the variable and the address of the global offset table (of the current dynamic object). Thus, you can retrieve the value of the variable in one step using: movl variable@GOTOFF(%ebx), %eax However, it turned out that GOTOFF was not available with Solaris tools (only GOT is proposed). Anyway, Patrik had now a proper fix (with the double indirection). He reported: Now both MSHearts and WinMine work on Solaris too (with the same shell32 problem Ed. note: as on Linux). :-) Sharon And Joy Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0.