[DynInst_API:] dyninst 9.3.2 and gcc 4.4


Date: Fri, 12 May 2017 14:02:51 -0500
From: "Mark W. Krentel" <krentel@xxxxxxxx>
Subject: [DynInst_API:] dyninst 9.3.2 and gcc 4.4
I ran into this problem while trying to build Dyninst 9.3.2 on Blue
Gene (mira, vesta) at Argonne.

Dyninst 9.3.x won't build with GNU 4.4 because the typeCollection
destructor in Collections.C uses the C++11 range iterator feature
which is not supported in 4.4.

    318 typeCollection::~typeCollection()
    319 {
    320     // delete all of the types
    321     for(const auto& t: typesByName) {
    322         t.second->decrRefCount();
    323     }
    324
    325     for(const auto& t: typesByID) {
    326         t.second->decrRefCount();
    327     }
    328 }

This is easy enough to patch because so far, this is the only use of
this feature.  But it brings up the difficult subject of supporting
gcc/g++ 4.4 or not.

This puts me in an awkward position.  I understand that 4.4 is ancient
and it's long past time to move the line to 4.8.

But there are a lot of systems that I care about that still run RH
6.x, including mira at Argonne, and that comes with gcc/g++ 4.4.7.
(mira has 4.8, but only for the back end.)  It's awkward when the
build directions start with, "ask your sysadmin to install a later
compiler."

Anyway, it's easy enough to work around, for now.

--Mark
[← Prev in Thread] Current Thread [Next in Thread→]