Well I tried to build glibc-2.2.2 on RedHat 7.0 with kernel-2.4.3, binutils-2.10.1, gcc-2.96-69, make-3.79.1, other programs' versions matched the requirements of glibc-2.2.2. And so the following output was received: In file included from ../sysdeps/unix/sysv/linux/i386/getdents64.c:23: ../sysdeps/unix/sysv/linux/i386/getdents.c:In function '__gendents64': ../sysdeps/unix/sysv/linux/i386/getdents.c: Can't find a register in class 'DREG' while reloading 'asm' make[2]: *** [/usr/src/glibc_build/dirent/getdents64.o] Error 1 make[2]: Leaving directory '/usr/src/glibc-2.2.2/dirent' make[1]: *** [dirent/subdir_lib] Error 2 make[1]: Leaving directory '/usr/src/glibc-2.2.2' make: *** [all] Error 2
Known issue, fixed in gcc-2.96-79.