[q-lang-devel] Debugging AMD64
Brought to you by:
agraef
From: Thomas P. <tho...@gm...> - 2005-02-24 19:46:07
|
Hello, (moved here from the user list because this is development stuff) I'm trying to figure out what goes wrong on AMD64. At the moment, however, I encounter some (more?) basic problems. I wanna strip q to the bare minimum but encountered some problems with this task. First of all, I couldn't disable building the octave extension with --without-octave. Is this a bug with autoconf/automake? Second, I wonder if it is possible to build q without (1) gmp and (2) without clib. Last not least I begone to look at q.c:resolve():around 1674 (where the module load error is reported). Using the debugger was a little strange until I realized that the symbol go an additional (magic) prefix __qq__. (Is there an easy way to get rid of it?) Most of the code is difficult to debug because it modifies untyped memory with expression like: char *fname = strsp+fnametb[modno]; or strcat(sym, strsp+symtb[xfno].pname); The first expression is part of the problem: strsp is set to malloced memory but fnametb[modno] is always NULL. Perhaps someone you explain the general setting to me. strsp seems to be a base address. What is the general layout of the memory accessed by this (base) address. It seems to be split in several parts. How and where are fnametb and symtb calculated? Are the any routines that could help to "dump" this parts? Cheers, aanno |