http://bugs.winehq.org/show_bug.cgi?id=20314
Summary: wine loader doesn't work on Debian/kFreeBSD Product: Wine Version: 1.1.31 Platform: PC URL: http://www.debian.org/ports/kfreebsd-gnu/ OS/Version: FreeBSD Status: NEW Keywords: download, source Severity: critical Priority: P2 Component: loader AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
Found out about the debian/FreeBSD port, so I gave it a spin. Wine mostly compiles, with a couple warnings (I'll send a patch in a bit), but the killer is loader/preloader.c. It's disabled on FreeBSD normally, by configure.ac: case $host_cpu in *i[[3456789]]86*) case $host_os in linux* | k*bsd*-gnu) AC_SUBST(EXTRA_BINARIES,"wine-preloader") ;; esac ;; esac
but the k*bsd*-gnu enables it here. The problem is, preloader.c has some linux specific stuff: static inline int wld_prctl( int code, int arg ) { int ret; __asm__ __volatile__( "pushl %%ebx; movl %2,%%ebx; int $0x80; popl %%ebx" : "=a" (ret) : "0" (SYS_prctl), "r" (code), "c" (arg) ); return SYSCALL_RET(ret); }
The SYS_prctl is Linux specific, see: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550435
I tried removing the k*bsd*-gnu from configure.ac, but the loader still doesn't work: wine: failed to initialize: /usr/local/lib/wine/ntdll.dll.so: failed to map segment from shared object: Cannot allocate memory