[m-rev.] diff: FreeBSD compatibility.

Julien Fischer jfischer at opturion.com
Wed May 8 14:39:12 AEST 2013



On Wed, 8 May 2013, Paul Bone wrote:

> On Wed, May 08, 2013 at 02:19:54PM +1000, Julien Fischer wrote:
>>
>>
>> On Wed, 8 May 2013, Paul Bone wrote:
>>
>>> On Wed, May 08, 2013 at 02:07:06PM +1000, Julien Fischer wrote:
>>>>> +Mercury on FreeBSD
>>>>> +==================
>>>>> +
>>>>> +GCC 4.2.1 Compatibility
>>>>> +-----------------------
>>>>> +
>>>>> +Depending on your grade configuration Mercury may work out-of-the-box on
>>>>> +FreeBSD 9.1.  However if you use a decldebug grade it is possible to hang
>>>>
>>>> Is the only problem here that the decldebug grades don't work with GCC
>>>> 4.2.1?  If so, you should just say the following:
>>>>
>>>>     The default version of GCC (version 4.2.1) miscompiles code
>>>>     generated by Mercury's decldebug grade.  This causes programs using
>>>>     that grade to sometimes hang.  Installing GCC 4.4.7 ... etc etc
>>>>
>>>
>>> I'm not sure which grades are affected, I only know for certain that
>>> decldebug is definitly affected.
>>
>> In that case, just say:
>>
>>    The default version of GCC (version 4.2.1) miscompiles C code generated
>>    by the Mercury compiler.  ...
>
> Okay, but I'll have to make my meaning clearer as it's gcc that locks up,
> not the resulting program.

Does GCC 4.2.1 still lock up if you compile at -O0?  (It may be that the
problem with GCC 4.2.1 can be avoided by disabling one or more
optimizations -- this is what we do on lots of other systems, e.g. older
versions of clang on Mac OS X.)  In any case, feel free to reword the
above to make it obvious that it's GCC that has the problem here, not
Mercury.

>>> My FreeBSD machine is slower than I remember so testing takes a while :-(
>>
>> Is your FreeBSD machine i686 or x86_64?  (Looking through configure it
>> looks like we don't support the later for any of the BSDs?)
>>
>
> It's x86_64, I didn't even consider i686

I think you probably need to go through the configure script and check
that the x86_64 variant of FreeBSD is handled properly.  (I would guess
that it isn't at the moment.)

Cheers,
Julien.



More information about the reviews mailing list