http://bugs.winehq.org/show_bug.cgi?id=33159
Bug #: 33159 Summary: Loading of some copy-protected .dll Files is not working (i.e. activation.dll, awc.dll) Product: Wine Version: 1.5.25 Platform: x86-64 OS/Version: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: frank@ambertation.de Classification: Unclassified
Some .dll Files are packed and stripped of the relocation table in order to provide some level of protection against dissasemblers. Those files are commonly found in DRMed Software.
Trying to start Sim City (2013) in wine on OSX will give a "Activation.dll load failed" Error. Using WINEDEBUG=+map_image you will find the following line in the logs
4348.132:0009:warn:module:map_image Need to relocate module from 0x40000000 to 0x10d0000, but there are no relocation records
The same Application runs without problems on wine for linux.
On OSX the memory range 0x00075000-0x40075000 is reserved for WINE_DOS on startup. When the .dll is loaded, the call to wine_mmap_is_in_reserved_area will indicate that the base-addres of the library (0x40000000) is already reserved forcing it to relocate to another, free address range. Without the relocation table this is impossible and results in the above message.