http://bugs.winehq.org/show_bug.cgi?id=14816
--- Comment #2 from Rob rob1weld@aol.com 2008-08-10 10:44:58 --- (gdb) c Continuing. err:process:start_wineboot failed to start wineboot, err 1359
Program received signal SIGILL, Illegal instruction. 0x7ff9d077 in sigaction_syscall () at stat_impl.h:186 186 } (gdb) where #0 0x7ff9d077 in sigaction_syscall () at stat_impl.h:186 #1 0x7ff9d146 in solaris_sigaction (sig=2, new=0x80463d0, old=0x0) at signal_i386.c:620 #2 0x7ff9ee7e in signal_init_process () at signal_i386.c:1613 #3 0x7ff9cc6a in server_init_process_done () at server.c:988 #4 0x7ff8032e in LdrInitializeThunk (unknown1=0, unknown2=0, unknown3=0, unknown4=0) at loader.c:2415 #5 0x7fbf2439 in __wine_kernel_init () at process.c:1056 #6 0x7ff80a30 in __wine_process_init () at loader.c:2622 #7 0xfee693b8 in wine_init (argc=4, argv=0x8047010, error=0x8046be4 "", error_size=1024) at loader.c:656 #8 0x0805196b in main (argc=4, argv=0x8047010) at main.c:110 (gdb)
My "/usr/include/sys/stat_impl.h" does not have a "sigaction_syscall()" function so gdb's claim of 'where' does not help:
(gdb) where #0 0x7ff9d077 in sigaction_syscall () at stat_impl.h:186
# ggrep -r sigaction_syscall /aux0/wine-1.1.2 /aux0/wine-1.1.2/dlls/ntdll/signal_i386.c:extern int sigaction_syscall( int sig, const struct sigaction *new, struct sigaction *old ); /aux0/wine-1.1.2/dlls/ntdll/signal_i386.c:__ASM_GLOBAL_FUNC( sigaction_syscall, /aux0/wine-1.1.2/dlls/ntdll/signal_i386.c: sigaction_syscall( sig, NULL, &real_act ); /aux0/wine-1.1.2/dlls/ntdll/signal_i386.c: sigaction_syscall( sig, &real_act, NULL ); Binary file /aux0/wine-1.1.2/dlls/ntdll/ntdll.dll.so matches Binary file /aux0/wine-1.1.2/dlls/ntdll/signal_i386.o matches
The call in function solaris_sigaction(sig=2, new=0x80463d0, old=0x0) (at signal_i386.c:620) is the first attempt to call sigaction_syscall() and it fails.
This means that the assembly language code in file wine-1.1.2/dlls/ntdll/signal_i386.c, function sigaction_syscall(), lines 587 to 595 is not correct or the supplied parameters are incorrect.
I am not expert on 'Kernel Call Programming' in Solaris 11 but I will see if I can provide a patch (don't hold your breath).