1 |
root |
1.1 |
If Coro causes segfaults a lot on calls to libc functions, the cause is |
2 |
|
|
probably a glibc compiled for i386 and kernel 2.2. |
3 |
|
|
|
4 |
|
|
Glibc contains a bug that causes any program linked against pthreads AND |
5 |
|
|
using coroutines (of any kind, not only Coro) or alternate stacks to |
6 |
|
|
segfault on calls to pthread functions. And glibc happens to do a lot of |
7 |
|
|
these calls. |
8 |
|
|
|
9 |
|
|
The bug is rather difficult to fix. This is not a problem, however, since |
10 |
|
|
glibcs compiled for linux-2.4 use a much more efficient method to locate |
11 |
|
|
their data, which happens to work tiwh coroutines. |
12 |
|
|
|
13 |
|
|
So the easy fix is to install a libc which was compiled for linux-2.4, |
14 |
|
|
using the --enable-kernel=2.4 configure option. WARNING: This kernel will |
15 |
|
|
no longer run on linux-2.2 or lower! |