[cfarm-users] Upgrade on gcc12, gcc13 and gcc14

Toebs Douglass toby at winterflaw.net
Sun Jul 23 13:55:06 CEST 2017


On 23/07/17 13:39, Martin Guy via cfarm-users wrote:
> On 22/07/2017, Jeffrey Walton via cfarm-users
> <cfarm-users at lists.tetaneutral.net> wrote:
>> On Sat, Jul 22, 2017 at 4:16 AM, Aymeric via cfarm-users
>> <cfarm-users at lists.tetaneutral.net> wrote:
>>
>>> I plan to upgrade during the third week of August (w33) :
>>>
>>> - gcc12 and gcc13 to Debian 7 (they are running Debian 5) ;
> 
>>> After that we won't have any Debian 5 on the farm, if you still required
>>> a Debian 5 please let me know asap so we can at least keep one running.
> 
> I don't *require* Debian 5 as such, but to improve portability I find
> it useful to check that things still compile and work with older libcs
> and other libraries. From that point of view, I find having a wider
> variety of systems is more useful than having the same latest version
> of the same OS on many machines.

Along these lines, I decided some time ago to compile every version of
GCC from 4.1.2 onwards (I claimed, you see, to support GCC from that
version onwards) along with the contemporary glibc, and compile my code
against all of them, and this on five different targets - mips32, arm32
and 64, x86 and x86_64.

After three months, I had learned how to compile GCC, but I gave up
trying to compile glibc with my hand-built GCCs.

I have written a little build system, which now incorporates three of
the Farm machines, and on each platform it iterates over all GCCs
available on the platform, over all build variants (coverage, debug,
profiling, etc - there's eight or so).

It builds all the code, runs the test application and if this passes,
runs the benchmark application.  This allows me to see how performance
varies by GCC version and build type.  All output is stored in log
files, for future reference and/or publishing proof of successful
compilation to users.

Having this capability is extremely useful.  You cannot know your code
will compile with a given GCC unless you compile it with that GCC.




More information about the cfarm-users mailing list