clang 3.2 RC2 miscompiles libgcc?

Stefan Farfeleder stefanf at FreeBSD.org
Tue Jan 8 08:58:36 UTC 2013


On Tue, Jan 08, 2013 at 12:21:12AM +0100, Dimitry Andric wrote:
> On 2013-01-06 17:03, Stefan Farfeleder wrote:
> > On Sun, Jan 06, 2013 at 03:59:59PM +0100, Dimitry Andric wrote:
> ...
> > The bug also affects ports software, e.g., I also experienced strange
> > rtorrent segfaults that are now gone.
> 
> Can you please try the attached patch, which is a very horrid, atrocious
> hack, and will only work for amd64.  Then rebuild libgcc with clang, and
> please try if this fixes at least some of the crashes...
> 
> This is at least the direction I'm looking at.  It seems that in some
> cases with __builtin_eh_return(), llvm does not see that registers can
> be clobbered, and it doesn't save and restore them.
> 
> After a lot of splitting up of unwind-dw2.c, I arrived at _Unwind_Resume
> which when compiled by clang caused the crashes, but when compiled by
> gcc ran OK.

Hi Dimitry,

your patch seems to work just fine. No crashes whatsoever so far. Thank
you.

Stefan


More information about the freebsd-current mailing list