Correction

One of our readers pointed out an incorrect answer in August's BTS column, and provided an accurate one himself.

In reply to “Another X Question” in the August issue, the response in LJ is wrong. Here's the right one.

If you try to build a 2.0.x kernel for Intel machines with any compiler other than gcc-2.7.2, then you are on your own. They use incorrect asm constructs that work only with gcc 2.7.2.

Errors with the X driver of the form

_X11TranSocketUNIXConnect: Can't connect: errno = 111

This is a kernel bug. The function sys_iopl in arch/i386/kernel/ioport.c does an illegal hack which used to work, but is now broken since GCC optimizes more aggressively. The newer 2.1.x kernels already have a fix which should also work in 2.0.32.

My own advice: get gcc 2.7.2 or upgrade to kernel 2.2.x (where X is 9 or 10, or something).

See http://egcs.cygnus.com/faq.html#linuxkernel for more details.

Kevin Panko, chenrazee@hotmail.com