From: Bernd N. <no...@un...> - 2001-11-17 10:42:29
|
[I am not subscribed on this list, so please reply to my email-address] Hi, I compiled joe-2.9.7 on a x86-linux system with the following CFLAGS: -O2 -march=pentiumpro -mcpu=pentiumpro -mpreferred-stack-boundary=2 -s \ -fomit-frame-pointer Starting joe results in Processing '/etc/joerc'...Segmentation fault (/etc/joerc exists). During compilation I got several warnings, most of them like this ... e.g. gcc -DHAVE_CONFIG_H -I. -I. -I. -DJOERC="\"/etc/\"" -O2 -march=pentiumpro \ -mcpu=pentiumpro -mpreferred-stack-boundary=2 -s -fomit-frame-pointer \ -c `test -f rc.c || echo './'`rc.c rc.c: In function `doopt1': rc.c:393: warning: passing arg 1 of `msgnw' from incompatible pointer type [... etc] So I looked for the reason and found that the types 'struct window' (defined in w.h) and 'struct bw' (defined in bw.h) seem to be incompatible with each other. And if you read the definitions of these, it is obvious. Astonishingly joe runs when I omit flags "-s -fomit-frame-pointer" and add debug flag "-g" but I think this is related to the different behaviour of the stack. In brief: it runs by accident! Bernd |
From: Marek G. <xg...@in...> - 2001-11-17 21:20:00
|
Hi, > (/etc/joerc exists). During compilation I got several warnings, most of > them like > this ... e.g. > > gcc -DHAVE_CONFIG_H -I. -I. -I. -DJOERC="\"/etc/\"" -O2 > -march=pentiumpro \ > -mcpu=pentiumpro -mpreferred-stack-boundary=2 -s -fomit-frame-pointer \ > -c `test -f rc.c || echo './'`rc.c > > rc.c: In function `doopt1': > rc.c:393: warning: passing arg 1 of `msgnw' from incompatible pointer type > [... etc] Most of these warning were just removed but this is not problem which cause IMHO that joe fails, problem is in gcc-3.x. Under older gcc (and non-gnu proprietar c compilers) it can be compiled and it works. > So I looked for the reason and found that the types 'struct window' > (defined in w.h) and 'struct bw' (defined in bw.h) seem to be > incompatible with each other. And if you read the definitions of > these, it is obvious. Astonishingly joe runs when I omit flags "-s > -fomit-frame-pointer" and add debug flag "-g" but I think this is > related to the different behaviour of the stack. In brief: it runs by > accident! Main part of program was written by Joseph H. Allen who left program which was runnable but without much documentation. We are trying to understand and clean program (and also add some features). He used to use several non-standard methods, this was one of them. But I don't think it runs by accident, it only looks like that :) marx |
From: Vitezslav S. <sa...@ma...> - 2001-11-19 07:20:14
|
> Hi, > > I compiled joe-2.9.7 on a x86-linux system with the following CFLAGS: > -O2 -march=pentiumpro -mcpu=pentiumpro -mpreferred-stack-boundary=2 -s \ > -fomit-frame-pointer Compiling with gcc-3 fails when compiling with -O2 -fomit-frame-pointer. There is a lot of entries in the gcc bug system, but till now this problem wasn't solved. Either don't use gcc3 or compile with "-O1 -fomit-frame-pointer" or compile without "-fomit-frame-pointer". Cheers, Vita |