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