[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ZILE 2.3.10 (Autoconf 2.64 finds deadly DJGPP Bash bug)

From: Eric Blake
Subject: Re: ZILE 2.3.10 (Autoconf 2.64 finds deadly DJGPP Bash bug)
Date: Thu, 20 Aug 2009 17:51:29 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20090605 Thunderbird/ Mnenhy/

Hash: SHA1

According to Rugxulo on 8/20/2009 5:18 PM:
> For whatever reason, "./configure" (produced by 2.64) uses "return
> $ac_retval" in five spots, and that's where it crashes ("checking for
> GNU C compiler ...") for no good reason, and on Vista without even
> reporting the GPF crash dump!
> Workaround? Add parentheses around it.
> sed -i -e '/return \$ac_retval/s//( & )/' configure
> I have tested both DJGPP 2.03p2 and 2.04 (with my local ZILE hacks, of
> course), and it now builds again for 2.3.10. Rejoice!!   :-)

Wow, that's an old version of bash.  The oldest one I have built up is
bash 2.05a, where you don't need a subshell to get return to work.

I guess if it is trivial to support bash 2.04, we can do so (although I'm
not looking forward to building it, since it appears to have fallen out of
use on every platform except your DGJPP setup).  So, to clarify, what does
this do for you?

bash -c 'fun () { return $1; }; fun 2; echo $?'

and likewise with '{ ( return $1 ); }' as the function body?

Or does it require a more complex function body, to show the difference
where the subshell avoids the crash?  At any rate, we'll need to
characterize exactly what your shell's bug is.

However, the whole point of using 'return $ac_retval' without a subshell
is to avoid forking, and catering to bash 2.04 brokenness (if it is indeed
a bash bug fixed for 2.05a, as I suspect) is a step backwards.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]