On 3/1/06, Hiroshi SAKURAI <[EMAIL PROTECTED]> wrote: > On 3/1/06, Axel Liljencrantz <[EMAIL PROTECTED]> wrote: > > On 2/28/06, Hiroshi SAKURAI <[EMAIL PROTECTED]> wrote: > > > On 2/28/06, Axel Liljencrantz <[EMAIL PROTECTED]> wrote: > > > > On 2/27/06, Hiroshi SAKURAI <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > > > > > > > I'm using fish-1.21.1 on NetBSD 3.0. > > > > > > > > > > Fish exits when it receives SIGWINCH if it was built with -O2. > > > > > If built with -O1, the problem does not occur. > > > > > > > > Stange. Fish has a handler for WINCH, so it should definitely not > > > > exit. Does this mean fish exits when you change the window size of a > > > > virtual terminal? > > > > > > Yes, fish exits when you change the window size. > > > I have not noticed the problem as I rarely resize windows with > > > tiling window manager called 'larswm'. > > > > > > It seems that 'sibling call optimization' of gcc caused the problem. > > > Fish built with '-O2 -fno-optimize-sibling-calls' does not exit on > > > SIGWINCH. > > > > Will you report this problem to the gcc people? > > OK. I'll ask on gcc mailing list. > > > > > > http://mail-index.NetBSD.org/netbsd-users/2006/02/26/0001.html > > > > > > > > > > I think it's not fish's problem, but it would be nice if > > > > > Makefile uses -O1 instead of -O2. > > > > > > > > The fish Makefile does not explicitly set any optimization level. -O2 > > > > comes from Autoconf. I don't know how to ask Autoconf how to change > > > > the default optimization level, and the Autoconf manual doesn't say. > > > > Does anybody know? > > > > > > I think Adding -fno-optimize-sibling-calls to CFLAGS in Makefile.in should > > > prevent the problem. > > > Will you add the flag in the next release? > > > > I'm not sure how to best handle this. The next release will contains > > some sort of fix, but I'm not sure what. Hardcoding specific gcc > > switches seems like bad form, especially since optimization switches > > have a way of coming and going in gcc. > > I thought adding -fno-optimize-sibling-calls was not bad idea because > Makefile.in already had gcc-specific compiler options. > But, you are right. -fno-optimize-* should not be at Makefile.in.
Fish doesn't complile unless told to use C9x, which is why that switch is there. Some weird parse error about not using pid_t inside of structs, as I remember it. I seem to remember that the strict-aliasing thing was put there to work around some other gcc issue. Obviously, the same motivation that applied when hardcoding --no-strict-aliasing would apply to --no-optimize-siblings, I'm simply trying to raise the standard of code here. With a bit of luck, one can device a few Autoconf tests to add both of these if needed. -Wall should probably be removed, we have 'make debug' for that. > > > Also, it would be nice to know > > exactly what systems are affected by this bug? Is it compiler > > specific? OS specific? Both? > > I'm afraid all of my unix systems are NetBSD3.0 + gcc3.3.3 > so I cannot test now. Ok. I don't have the time right now, but I'll try to make time to download gcc 3.3.3 and see if the same problem is present on Linux. > > > -- > Hiroshi SAKURAI > http://vimrc.hp.infoseek.co.jp/ > -- Axel ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ Fish-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fish-users
