NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/50827 (sh -c ': "${x=$((1))}"' gives bogus syntax error)
On Feb 21, 8:19am, kre%munnari.OZ.AU@localhost (Robert Elz) wrote:
-- Subject: Re: bin/50827 (sh -c ': "${x=$((1))}"' gives bogus syntax error)
| Don't jump for joy just yet. The two expressions in the PR both work
| (produce the same, correct, result) but there is potential for much
| other breakage I have not yet tested, plus more variants of the expr
| in question tha also need to work, also yet untested.
| So some progress, but too early to open the champaign...
Ok, I will put it back in the fridge.
| While here I'll ask another question ... the code in sh is sprinkled
| with "volatile" all over the place (particularly in the area I have
| been looking.) I gather this is to appease gcc wrt setjmp/longmp
| (the FreeBSD code has a comment - or maybe commit log entry - simply
| refusing to go that route...) Does anyone mind if I strip out most
| of that, and add "just the right" volatile vars, so the trap longjmp
| stuff works (at least in the token reading functions) - or should work,
| modulo whatever nonsense gcc gets up to, and remove it from all the
| rest? (If I do that I'll make it a separate patch.) All that (unnecessary)
| volatile nonsense has to be slowing shell execution, and with my fixes,
| it will be even worse. Until I remove it so I can measure the effect, I
| don't know how much difference it really makes, but ... And of course,
| nothing will happen there until the substantive changes are all fully
| tested (and corrected if needed.)
I think that most of the volatile was because gcc wanted it... I don't
mind the cleanup, go for it. But expect transient breakage amongst different
ports. Also our shell does vfork() which is a nother volatile creator, I
don't think that FreeBSD supports that.
christos
Home |
Main Index |
Thread Index |
Old Index