[PATCH] winegcc - do not create .exe.so

Ben Klein shacklein at gmail.com
Sun Mar 20 23:28:38 CDT 2011


On 21 March 2011 15:10, Charles Davis <cdavis at mymail.mines.edu> wrote:
> On 3/20/11 9:31 PM, Ben Klein wrote:
>> On 21 March 2011 12:26, Charles Davis <cdavis at mymail.mines.edu> wrote:
>>> Also, as near as I can tell, this will only work on x86 Linux. It won't
>>> work anywhere else (e.g. Mac OS X, FreeBSD, Solaris, etc.). This is
>>> because the 'start' code invokes execve(2) using the interrupt 80h
>>> interface. Even if other systems use int 80h for their syscall vector
>>> (Mac OS does, at least for Unix syscalls), the syscall numbers usually
>>> aren't the same across different platforms.
>>
>> Does this also mean it will fail to work on amd64/ia64 systems?
> For 32-bit (x86) code running on an x86-64/IA64 system, it will work.
> For 64-bit code, no, it won't work. In fact, x86-64 and IA64 kernels
> keep the old int 80h interface around solely for the benefit of old
> 32-bit programs (like old versions of Wine, before Maarten Lankhorst and
> AJ fixed it) that expect it to be there.
>
> In fact, even if 64-bit code supported the int 80h interface, it still
> wouldn't work, because even across different architectures on Linux, the
> syscall numbers are different.

Thanks for explaining it.

Something else I noticed in this patch though; what happens to the
environment variables handled by the loader script?



More information about the wine-devel mailing list