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>