[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: LuaJIT x64 port sponsorship goal reached!
- From: Mike Pall <mikelu-1001@...>
- Date: Thu, 21 Jan 2010 00:39:50 +0100
Stephen Kellett wrote:
>> [This feature can be selectively enabled on Linux/x86 or OSX/x86
>> with some effort (see src/lj_err.c). I cannot add a comparable
>> feature for 32 bit Windows due to the SEH software patent.]
>
> Can you expand upon the comment about SEH patent and what is affecting you?
This is the same thing that prevents GCC from implementing the SEH
exception mechanism for C++ exceptions on Windows/x86. Not being
able to use the same mechanism prevents interoperability with code
compiled with Microsoft's C++ compiler, i.e. all Windows system
libraries and most third party C++ libraries.
See also: http://wiki.winehq.org/CompilerExceptionSupport
In my case I can't work around it by just compiling everything
with MSVC, since the exception setup is in assembler code and/or
in JIT-generated machine code.
So unless Borland/Inprise (or whoever owns the patent today) is
not giving out a license for all open source products, one cannot
provide interoperability with the Windows/x86 SEH mechanism, i.e
with C++ exceptions.
Note that Windows/x64 is unaffected, since it uses a table-driven
exception mechanism which is comparable to the DWARF2 unwind
tables (it's also zero-cost on setup).
[Note that I'm not a patent lawyer, so this is not an advice or
a definitive statement. It's just a summary of an extensive web
search on that topic.]
--Mike