lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


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