Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jan 2013 08:08:08 +0000
From:      David Chisnall <theraven@freebsd.org>
To:        Dimitry Andric <dim@freebsd.org>
Cc:        Stefan Farfeleder <stefanf@freebsd.org>, Nathan Whitehorn <nwhitehorn@freebsd.org>, freebsd-current@freebsd.org
Subject:   Re: clang 3.2 RC2 miscompiles libgcc?
Message-ID:  <1D415F08-5FFC-41B5-9A0D-E03757800E0C@freebsd.org>
In-Reply-To: <50EB5868.2050509@FreeBSD.org>
References:  <20121227150724.GA1431@mole.fafoe.narf.at> <50DC65F5.6060004@freebsd.org> <50E0BD66.4070609@FreeBSD.org> <20130102135950.GA1464@mole.fafoe.narf.at> <20130104154940.GD1430@mole.fafoe.narf.at> <20130106141708.GA1418@mole.fafoe.narf.at> <50E9916F.3040500@FreeBSD.org> <20130106160331.GB1418@mole.fafoe.narf.at> <50EB5868.2050509@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 7 Jan 2013, at 23:21, Dimitry Andric wrote:

> 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.

Do you mean that some registers were clobbered by a prior call?  =
__builtin_eh_return() doesn't return, so whether it clobbers anything or =
not isn't something that should matter.  The preceding call is =
__builtin_frob_return_addr, which seems to be a no-op, so it shouldn't =
clobber any registers either...

David=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1D415F08-5FFC-41B5-9A0D-E03757800E0C>