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

Reply via email to