Geir Magnusson Jr. wrote:
In the past, we've talked about what versions of GCC we will consider as our "supported" toolchain. We noted that it's useful to keep using other versions, such as 3.x, to make sure we're not inadvertently hiding bugs through compiler bugs.

I'd like to tighten up this degree of freedom a little.

What's the harm if we declare 4.x as our default compiler version? What potential platforms do we lose, or who do we inconvenience because requiring stdc++.so.6?

AFAIK there are no Linux distributions which have versions that don't have gcc 4.x included, it is the default compiler in all last distros versions. So all last (and maybe some before last) versions of Linux distros should have no problems with libstdc++.so.6.

This is a question of how old software (and hardware) we're going to support. Probably interested parties could backport the code to the old systems which is not only old Linux distros but also platforms like old Windows versions.

For the officially built binaries which are supposed to be certified I think gcc 4.x is the right choice because soon it may happen that some platforms won't include even compatibility packages of libstdc++.so.5. For the unofficial distribution builds which insist on using 3.x (if they exist at all) they may send us patches to enable building on 3.x if they encounter problems.

I ran into this playing with Harmony on OLPC, and a developer expressed a little surprise that we were still using 3.x. I don't follow the gcc ecosystem at all, so I don't know what issues there are w/ 4.x, and why we wouldn't move forward to it as a general (not strict) policy.

I am surprised too. I tried to push moving to gcc 4.x because I use it on all systems and we've had cases when code which compiles on 3.x failed to compiled on 4.x because of more strict syntax checks.

--
Gregory

Reply via email to