Hello,

I think I can offer some some more clues to the problem in thread started by 
Dale, as archived here:
https://www.mail-archive.com/gentoo-user@lists.gentoo.org/msg147315.html

I too get the "Your old kernel is broken.  You need to update it to a newer 
version as syscall(<bignum>) will break." message whenever I try to emerge 
glibc-2.17. This happens on all three of my machines, which are kept up to 
date and have slightly different configurations. It is likely that many people 
are in a broken state, but they don't know it because they haven't tried re-
emerging glibc.

Previously in this thread, I see that Hinnerk van Bruinehsen asked:

> Can you run;

 > printf "#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return \
 > syscall(1000)!=-1;}\n" > syscall.c && make syscall && ./syscall && echo $? 

When I try this on each of my systems, I get the same output:

cc     syscall.c   -o syscall

Notice that the line with the 0 is missing.

I found a work around: move to an earlier kernel. This problem happens for me 
on kernel-3.14.14 and for Dale on kernel-3.15.5. But, it DOESN'T happen for me 
on 3.12.21-r1.

When I boot into the 3.12.21-r1 kernel, the printf() above outputs:

cc     syscall.c   -o syscall
0

as it should.

Could the emerge glibc fail be due to a required kernel configuration option 
that didn't make it into 3.14.14 or above?


Reply via email to