On 01/06/13 10:29, Nathan Whitehorn wrote: > On 01/06/13 09:59, Dimitry Andric wrote: >> On 2013-01-06 15:17, Stefan Farfeleder wrote: >>> On Fri, Jan 04, 2013 at 04:49:41PM +0100, Stefan Farfeleder wrote: >>>> Here's a minimal test case that reproduces the bug: >>> [...] >>> >>> Until someone fixes this bug, could we apply something like this as a >>> work-around? >>> >>> Stefan >>> >>> Index: gnu/lib/libgcc/Makefile >>> =================================================================== >>> --- gnu/lib/libgcc/Makefile (revision 245055) >>> +++ gnu/lib/libgcc/Makefile (working copy) >>> @@ -6,6 +6,8 @@ >>> SHLIB_NAME= libgcc_s.so.1 >>> SHLIBDIR?= /lib >>> >>> +CC= gcc >>> + >>> .include <bsd.own.mk> >> >> I think this is a bit overkill approach. We still don't know what the >> exact cause of the problem is, and this just papers over it. >> >> Also, ince the bug is only reproducible by compiling the testcase with >> g++, could you not compile your crashing programs with clang instead, >> for now? :-) >> > > I would very much support this patch. Whatever is going wrong is a > critical problem -- although his testcase requires g++, I have lots of > code that also crashes when built with clang. The fact that *any* code > built with *any* compiler crashes when used with clang-built libgcc is > an error. This is quite serious and breaks a *lot* of C++ code. If it > can't be fixed now, papering it over is required. > -Nathan
For whatever it's worth, I verified that this is the same bug I was seeing earlier: only unwind-dw2.c is being miscompiled. The preprocessed versions of this file are identical with both gcc and clang and the problem occurs at all optimization levels with it is built with clang. I tried replacing as many of the __builtin functions as a could with thunks to the gcc versions, with no positive result. The ones I could not replace are __builtin_return_address, __builtin_dwarf_cfa, and __builtin_eh_return. -Nathan _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"