On Fri, 9 Jan 2004 18:58:51 +0100
Willibald Krenn
Hi!
Yesterday I successfully installed SuSE 9.0 on my Athlon64 system (Shuttle AN50R). Today I wanted to install and run the Borland Kylix 3 RAD IDE. The install process went fine, however when running the Delphi IDE / the Delphi command line compiler I always get following errors in my messages log:
Jan 9 18:53:18 linux kernel: delphi[5238] general protection rip:5699028a rsp:ffffd084 error:2004
Jan 9 18:42:52 linux kernel: dcc[5146]: segfault at 0000000000000000 rip 0000000000000000 rsp 0000000000000000 error 14
As I know that this software runs fine on SuSE 9.0 non AMD64 (even when using the 2.6.x kernel) I can not quite understand why it fails on the AMD64 version when other 32bit programs are running fine..
JFYI: Till now it seems that even programs produced by Kylix will fail to run on SuSE 9.0 AMD64.
Any ideas how to solve this issue?
I reproduced it using Kylix3/OE. Kylix triggered a kernel bug in the LDT handling that I fixed now. With that it gets much further. Unfortunately the IDE still doesn't work - it segfaults in libjpeg later. I don't know what causes the later failure. The thread faulting reads /proc/cpuinfo earlier, which is a bit suspicious. If it trips over the changed cpuinfo format on 64bit then there is not much chance to fix it in the kernel. It also seems to do some strange sigaltstack() calls. Here's the kernel patch for the LDT problem if you want to test yourself (against 2.6, but the code is identical in 2.4 and 2.6) --- linux/include/asm-x86_64/desc.h 2003-11-24 04:46:36.000000000 +0100 +++ linux-2.6.1-amd64/include/asm-x86_64/desc.h 2004-01-10 20:09:32.000000000 +0100 @@ -118,6 +118,7 @@ d.base1 = PTR_MIDDLE(tss) & 0xFF; d.type = type; d.p = 1; + d.g = 1; d.limit1 = (size >> 16) & 0xF; d.base2 = (PTR_MIDDLE(tss) >> 8) & 0xFF; d.base3 = PTR_HIGH(tss); -Andi