[Sablevm-developer] Tracking ia64 weirdeness
Brought to you by:
egagnon
From: Grzegorz B. P. <ga...@de...> - 2003-02-22 21:03:21
|
I already have all needed tools to start playing w/ sparc, however today I am still figting w/ ia64. The error occurs at instructions_preparation_inlined_threaded.c:17548 which is: goto *((pc++)->implementation); It happens on first try. Not sure yet why and how to track it. I spent some time looking (debugging) a bit closer at=20 _svmf_prepare_code, but haven't found anything unusual. The code for CPU to exectue seems to be created. (gdb) print (char*)pc->implementation $29 =3D 0x6000000000022800 "\v\220=E0K?# \001H " (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0x6000000000022800 in ?? () It's strange that it fails on EXACTLY the same address as the called one. I mean - it fails immediately!=20 I think that there are following possibilities: - the memory at the address has not been allocated - the first assembler instruction is not recognized by CPU - the memory page we have written the data to - is not executable I think we could elimiate some of the above cases to learn which one is true. The last option is the strangest, but IMO not impossible. Still working on it GBP PS: Etienne - if you had time and an idea how to help me - I am on IRC for maximum 2 hours from now now on - tonight, or tomorrow since about 4pm my local time. --=20 Grzegorz B. Prokopski <ga...@de...> Debian http://www.debian.org/ |