lua-users home
lua-l archive

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


agentzh wrote:
> On Thu, Mar 17, 2011 at 11:57 AM, agentzh <agentzh@gmail.com> wrote:
> > This is a known issue. Same here with RHEL 5.4. The short story is
> > that the gcc 4.1.2 and 4.4.0 shipped with RHEL 5.4 are just too old.
> 
> Just a quick note: for enterprise production environments in big
> companies, it's quite hard to upgrade the OS to a very new version.
> For example, in our company, it'll take a quite long time to upgrade
> to, say, RHEL 6.

Ok, so I bite the bullet and tried with the CentOS 5.5 live CD. It
still fails there, due to the ancient and unfixed libgcc. Grrr!

Red Hat *really* ought to fix a bug that's almost four years old:
  http://gcc.gnu.org/viewcvs/trunk/gcc/unwind-dw2.c?r1=121165&r2=124837&pathrev=153877&diff_format=h

[Note this bug doesn't just affect LuaJIT. It's a general bug in
unwinding and exception handling and may hit in e.g. C++ code.
Recompiling your code with a more recent GCC does *not* help,
since it still links to the broken libgcc.so provided by Red Hat.]

Since it's unlikely they get their act together in a timely
manner, I've just added an ugly workaround to LuaJIT git HEAD.

BTW: A smaller test case: luajit -e 'xpcall(error, error)'
This will abort on x64 systems with a buggy libgcc.

BTW#2: This works around the same libgcc issue in FreeBSD/x64, too.

--Mike