[PATCH] winegcc - do not create .exe.so
cdavis at mymail.mines.edu
Sun Mar 20 23:47:26 CDT 2011
On 3/20/11 10:28 PM, Ben Klein wrote:
> 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?
Nothing. He even hard-coded the path to the 'wine' binary (as a series
of DWORDs, no less!).
More information about the wine-devel