[Wine] Wine-linux-ppc32 working status and future enchantments

xexaxo wineforum-user at winehq.org
Fri Jun 12 08:39:23 CDT 2009


Hello there Wine community
 Thank you for developing and maintaining this wonderful project
 I have been using YellowDog Linux on my PPC32 box for a while now, I was thinking if the good old wine project could be ported/expanded to this platform as well.

 After a minor change in the source code ( letoh16 > lendian16toh) it compiled successfully ( without the tests ).
It even managed to get some of the "build-in" programs running, while others where

Code:
while (!OUT_OF_MEM)
do 
       exec winedbg
done



Due to the side of the project, and the number of modules, it's taking ages to analyze it.
So I have the following questions about he structure of wine, and the implementation it on the different platforms/architectures.

1. During compile winelib and all ( or selected ) modules of wine ( ie dll ) are made in native target linux ( in mine case ppc32 ) binaries/libraries. 

2. During the first run of wine a ~/.wine/ folder is created with all the *.reg and *inf files. Now correct me if I'm wrong wine calls winebuild to compile/convert the existing *.dll.so files by making them a Win PE32. Making a Win PE header file with all the necessary EXPORT and IMPORT functions but the EXPORT functions are actually implemented in a native way ( common on the platform and CPU architecture )

3. After the creation of .wine directory the program can be loaded and executed. All the IMPORT functions are handled properly but is there any "conversion" between the different architectures. Meaning does the parameters passed to the library are handled in a ASM or in any higher programing language.
How does wine actually interpret all the info in the file, variables, constants, internal functions (all of which in assembler format). Does it actually send them direct to the CPU. 

If someone could be kind to share some light over these questions, it would be really nice.
Thank you for all your help

On my system the major problem occurs at step 2 with the compile/convert of the existing *.dll.so to a Win PE32 format.
Here is a short output

Code:
wineboot -i
wine: created the configuration directory '/home/emo/.wine'
err:ole:CreateBindCtx reserved should be 0, not 0xe710c84
fixme:ole:TLB_ReadTypeLib Header type magic 0x4d534654 not supported.
err:ole:TLB_ReadTypeLib Loading of typelib L"mshtml.tlb" failed with error 2
err:mshtml:register_server typelib registration failed: 80029c4a
fixme:ole:TLB_ReadTypeLib Header type magic 0x4d534654 not supported.
err:ole:TLB_ReadTypeLib Loading of typelib L"C:\\windows\\system32\\msi.dll" failed with error 2
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Unhandled page fault on read access to 0x0ee69ff4 at address 0xebecb90 (thread 0014), starting debugger...
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0016), starting debugger...
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0018), starting debugger...
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 001a), starting debugger...
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 001c), starting debugger...



This is a output of the winecfg tool after clicking on Graphics/Desktop integration/Drives or Audio tab. Same thing occures on program close

Code:
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Unhandled page fault on read access to 0x80610004 at address 0xe7ca6f4 (thread 0009), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0012), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0014), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0016), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0018), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 001a), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 001c), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 001e), starting debugger...
not done
not done
not done
not done
memory.c:37: be_cpu_linearize: Assertion `addr->Mode == AddrModeFlat' failed.
fixme:seh:call_stack_handlers not implemented on PowerPC
wine: Assertion failed at address 0xf3f5a70 (thread 0020), starting debugger...










More information about the wine-users mailing list