А почему всё таки заголовки в /usr/include/{linux,asm} должны соответствовать тем с которыми компилировалась glibc? Как компилируемые программы могут пострадать от этого? Например использую я printf() - функция реализована в glibc, gcc использует файл /usr/include/stdio.h, glibc выполняет эту функцию, используя системные вызовы. - вроде бы всё акейна. Теперь беру какую либо функцию из /usr/include/linux - теперь моя программа откомпилится с системным вызовом, который выполнит ядро в обход glibc. При чём тут glibc...
Что-то никак в толк не возму.