Any objections to swapping base compilers to make gcc4.7 the default?

John Marino dragonflybsd at marino.st
Tue Feb 5 12:42:09 PST 2013


On 2/5/2013 19:42, Samuel J. Greear wrote:
> On Fri, Feb 1, 2013 at 2:03 AM, John Marino<dragonflybsd at marino.st>  wrote:
>> The gcc-4.4 compiler is still the default compiler on DragonFly-3.3. There
>> seems to be general consensus on IRC that it's time to promote gcc-4.7 to
>> that role and have gcc-4.4 serve as the backup.
>>
>> Is there any major objection to doing this?
>>
>>  From a pkgsrc point of view, over 11,150 packages build with gcc-4.7. There
>> are some older packages that fail the stricter gcc-4.7 checks that are
>> easily patched, but they take time to add.  However, one could take a page
>> from dports where gcc-4.4 is the primary compiler for pkgsrc regardless of
>> which the system uses.  So to summarize: gcc-4.7 can already build most of
>> what gcc-4.4 can in pkgsrc (plus some that it can't), and users could put
>> "DRAGONFLY_CCVER?=gcc44" in the /usr/pkg/etc/mk.conf file if they want to
>> keep using gcc-4.4 for packages.
>>
>> There's only one known problem with gcc-4.7 right now: The plugin mechanism
>> introduced around gcc-4.6 doesn't work right.  The world/kernel doesn't use
>> this mechanism and only 1-2 packages are failing because of it.
>> Nevertheless I'd like to fix it, so I'll attempt to do before before a
>> compiler switch.  However, failing to do so shouldn't block the switch.
>>
>> So as the title says, is there a good reason to hold off on making gcc-4.7
>> the primary compiler?
>>
>> John
>
> With gcc47, LDBL_MAX will not fit in a long double
>
> I cannot point to specific problems this might cause but it is
> obviously wrong and should be fixed before it becomes the default.
>
> Sam


Actually this is a known bug in gcc.  On FreeBSD and DragonFly on i386, 
the warning about this is FALSE due to nuances in the 53-bit mantissa 
rounding.

The warning is wrong.

There is an example of this in libm.  If you have other examples, please 
post.   You are basing this on i386 right?  and the same test case works 
on x86_64?

John






More information about the Users mailing list