Debian libc6 and 2.6.x kernels
From LinodeWiki
Debian's libc includes NPTL, a POSIX threads library. NPTL depends partly on a Linux 2.6 feature called TLS, which UML does not support. You may see errors such as the following, or simple segmentation faults.
simon@stout:~$ ls
-bash: ../nptl/sysdeps/unix/sysv/linux/fork.c:132: __libc_fork: Assertion `({ __typeof (self->tid)
__value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0),
"i" (((size_t) &((struct pthread *)0)->tid))); else if (sizeof (__value) == 4) asm volatile ("movl
%%gs:%P1,%0" : "=r" (__value) : "i" (((size_t) &((struct pthread *)0)->tid))); else { if (sizeof
(__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A"
(__value) : "i" (((size_t) &((struct pthread *)0)->tid)), "i" (((size_t) &((struct pthread *)0)->tid)
+ 4)); } __value; }) != ppid' failed.
Aborted
To fix this, either rename /lib/tls (e.g. mv /lib/tls /lib/tls.disabled) or delete it entirely. If in doubt, use the mv command.
For further information, please visit http://www.linode.com/forums/viewtopic.php?t=1082
