These are fixes from Ladanyi for debian 2.0, 2.0.35: ============================================================================== I have downloaded ups-3.33 yesterday, both the binary for linux and the source. The binary crashed on me when trying to click on a variable of non-basic type (actually, a pointer to a non-basic type), so I set out to compile and debug ups. My system: PentiumII running linux, debian 2.0, 2.0.35 kernel, glibc2, C compiler is egcs 1.1b (actually, the pentium optimized egcs-1.1b) except for system stuff and a few important codes, like ups :-), where I still use gcc 2.7.2.3. ups didn't compile to start with, I had to include in a few files. Also I compiled it with -Wall and got a bunch of warnings. Most of them are just about undefined functions, but few were more interesting: - in render.c the code has '*iptr++;' twice. the '*' has no effect whatsoever so I've removed it. - in obj_misc.c (last diff) the test is very suspicious. '==' has higher precedence than '&', so I put in those parentheses. - also in obj_misc.c I got a warning: obj_misc.c:495: warning: passing arg 1 of `iterate_over_source_files' from incompatible pointer type I wasn't sure whether this is improtant or not, so left it as it was. - in ci_func.c (see next to last diff) '(expr != NULL, "%s")' always evaluates to true 'cos expr != NULL has no effect on anything there. I think my change fixes it correctly. - in ci_compile.c again '!=' has higher precedence in the test than '&' so I put in parentheses, that's how it seemed logical. - sys/reg.h had to be included in ao_text.c, ao_target.c and ao_ptrace.c to compile successfully - in ao_ptrace.c the #define's of PTRACE_PEEKUSER and PTRACE_POKEUSER had to be taken out to compile successfully After these changes ups did compile but still crashed when trying to examine a variable of non-basic type. I started to debug ups and found that the stf_mapsize field was set to 1 in the symbol table structure. I have checked where it gets set, and found that it's counted in scan_symtab and set in wrapup_stf. However, in scan_symtab mapsize is increased only in the part that's ifdef'd for OS_SUNOS. Since linux is elf as well as solaris I gambled and in the files ao_symload.c, ao_symparse.c and ao_symscan.c I've changed the '#ifdef OS_SUNOS' lines to '#if defined(OS_SUNOS) || defined(OS_LINUX)'. After this ups compiled and I don't seem to have any problems although I haven't yet tested things extensively. ==============================================================================