On Sat, 24 Mar 2007 11:25:25 -0700
Randall R Schulz
Naturally, the APIs must be consistent, but that's pretty much a given.
Actually, it is the ABI (Application Binary Interface), which defines how functions / subroutines are called, parameters are passed and results returned, that governs compiler compatibility.
A bit of cursory searching on the Internet suggests that these compilers are in fact compatible and used together by some users. There were some changes in the C++ ABI changed in some of the more recent GCC compilers. Then following web site has a description of some of the changes: http://developer.kde.org/policies/compatpolicy.html
Back a few years ago, a certain well known research institute was
trying to get some vendors to port their code. It would run when built
and linked against GCC 2.95. We decided we were not going to spend the
resources on it, as did some of our competitors. Just to compile it, we
had to import the entire GCC 2.95 environment.
So back to my original statement, yes you can generally build with an
older library and your code should work with newer libraries, but the
caveat is with any changes. I believe that you would be safe with the
linpack stuff. I was actually using that to benchmark
x86/Opteron/Itanium at one point.
--
Jerry Feldman