1 |
Hello, |
2 |
|
3 |
I think I can offer some some more clues to the problem in thread started by |
4 |
Dale, as archived here: |
5 |
https://www.mail-archive.com/gentoo-user@l.g.o/msg147315.html |
6 |
|
7 |
I too get the "Your old kernel is broken. You need to update it to a newer |
8 |
version as syscall(<bignum>) will break." message whenever I try to emerge |
9 |
glibc-2.17. This happens on all three of my machines, which are kept up to |
10 |
date and have slightly different configurations. It is likely that many people |
11 |
are in a broken state, but they don't know it because they haven't tried re- |
12 |
emerging glibc. |
13 |
|
14 |
Previously in this thread, I see that Hinnerk van Bruinehsen asked: |
15 |
|
16 |
> Can you run; |
17 |
|
18 |
> printf "#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return \ |
19 |
> syscall(1000)!=-1;}\n" > syscall.c && make syscall && ./syscall && echo $? |
20 |
|
21 |
When I try this on each of my systems, I get the same output: |
22 |
|
23 |
cc syscall.c -o syscall |
24 |
|
25 |
Notice that the line with the 0 is missing. |
26 |
|
27 |
I found a work around: move to an earlier kernel. This problem happens for me |
28 |
on kernel-3.14.14 and for Dale on kernel-3.15.5. But, it DOESN'T happen for me |
29 |
on 3.12.21-r1. |
30 |
|
31 |
When I boot into the 3.12.21-r1 kernel, the printf() above outputs: |
32 |
|
33 |
cc syscall.c -o syscall |
34 |
0 |
35 |
|
36 |
as it should. |
37 |
|
38 |
Could the emerge glibc fail be due to a required kernel configuration option |
39 |
that didn't make it into 3.14.14 or above? |