Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Feb 2014 23:39:20 -0800 (PST)
From:      Don Lewis <truckman@FreeBSD.org>
To:        kaduk@mit.edu
Cc:        imb@protected-networks.net, freebsd-current@FreeBSD.org
Subject:   Re: firebox build fails post clang-3.4 merge
Message-ID:  <201402280739.s1S7dKUA095981@gw.catspoiler.org>
In-Reply-To: <alpine.GSO.1.10.1402262124291.1213@multics.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26 Feb, Benjamin Kaduk wrote:
> On Wed, 26 Feb 2014, Don Lewis wrote:
> 
>> On 26 Feb, Michael Butler wrote:
>>> On 02/18/14 12:10, Michael Butler wrote:
>>>> Is anyone else seeing firefox failing to install after the clang-3.4
>>>> merge? As in xpcshell dumping core ..
>>>
>>> An update ..
>>>
>>> Recompiling with GCC48 on -current yields the same result. Seems to run
>>> correctly when invoked from the command-line but seg-faults with "errno
>>> = 4" (invalid instruction) from the build
>>>
>>> Giving up and using the Linux port .. :-(
>>
>> I've also seen this problem with clang-3.4 on i386.  It looks like a
>> clang bug to me.  Clang is putting ud2 instructions in its output which
>> are guaranteed to fault when it compiles nsAppRunner.cpp.  See
>> <http://www.freebsd.org/cgi/query-pr.cgi?pr=187103>.
> 
> That would seem to indicate that clang believes the source code in 
> question is exercising a case which is explicitly listed as giving 
> undefined behavior in the language specification. Presumably that means we 
> need a C++ language lawyer to look over the code in question.

After spending the last couple of days pounding my head on my desk, I
managed to come up with a standalone test case that reproduces this
problem.  The source is still on the hefty side because of all the C++
template goo (but more than an order of magnitude smaller than when I
started) but the assembly code is fairly small.  If updated my PR with
the relevant info.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402280739.s1S7dKUA095981>