RedHat Linux 7.0 uses unofficial, unstable versions of gcc and libc which will surely get ABI changes for the next stable releases, gcc 3.0 and libc 2.2. The shipped versions are already incompatible with gcc 2.95.2 and libc 2.1.xx which were shipped with previous versions of RedHat Linux. This is a very bad move of RedHat - it makes RedHat Linux 7.0 incompatible with any other distribution around in the past and in the future. It seems this are maketing decisions we were expecting from microsoft only in the past. Bad. Bad. Bad.
The decisions are based on the recommendations of gcc and glibc maintainers. gcc 2.95 is a temporary C++ abi so would definitely not be forward compatible. gcc 2.96+bits is API compatible at least which 2.95 isnt. Its also a much less buggy compiler. For glibc you need glibc 2.1.9x to use Linux 2.4 features, to use large file systems and the choice is based on recommendations from the maintainer who believes it should stay binary compatible from 2.1.9x to 2.2 Vendors are recommended to use glibc 2.1, rpm version 3 format and other things for best compatibility. gcc 2.1.9x runs gcc 2.0/2.1 applications.