lua-users home
lua-l archive

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


On 11/12/2013 3:10 AM, Roberto Ierusalimschy wrote:
I have definitely seen the problem on 32-bit Linux as well.  So I
compile ldo.c specially in luabuild. Here is the relevant part of the
lakefile:

-- gcc 4.6 messes up setjmp/longjmp when optimizing
local ldo = c.group{LDO,defines=defs,args=def,
     flags=choose(CC=='gcc','-fno-omit-frame-pointer')
}

(point being that only this file needs the flag, and it may be GCC
version specific)

I've been sticking to Lua 5.1 on MinGW32...

This seems to be a bug in the C compiler; apparently it has nothing to
do with Lua itself. Lua 5.1 should present the same problem. (Actually
the bug is not in the compiler itself, but in the implementation of
longjmp/setjmp.)

I just missed out, my installed MinGW compilers went from gcc 4.5.2 to gcc 4.7.1.

Patched I think by Kai Tietz [1]. Omitting the frame pointer caused a random value to be saved for %ebp by setjmp(). Didn't see any bug reports beyond gcc 4.6.x.

[1] http://gcc.gnu.org/ml/gcc/2011-10/msg00358.html

--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia