Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!rutgers!cbmvax!jesup From: jesup@cbmvax.commodore.com (Randell Jesup) Newsgroups: comp.sys.amiga.tech Subject: Re: SKsh Version 1.4 Stack Problems with Lattice "C" Programs.. Message-ID: <12515@cbmvax.commodore.com> Date: 10 Jun 90 06:43:50 GMT References: <00237.AA00237@theweav.cts.com> <13920066@hpfelg.HP.COM> Reply-To: jesup@cbmvax (Randell Jesup) Organization: Commodore, West Chester, PA Lines: 29 In article <13920066@hpfelg.HP.COM> koren@hpfelg.HP.COM (Steve Koren) writes: >do anything about it. All SKsh does is call SyncRun() after building >up a command line, and I'm pretty much 100% sure that this command >line is being built correctly. The problem is with a bug in the lattice 5.0x startup code that I found a while back. It so happened they were looking for the stack size on the stack (normally a safe thing to do). Unfortunately, during some edit of the c.a source, someone pushed regs on the stack first. It so happened that the reg that now appeared in the spot being checked for the stack size was the contents of D2, which just happened to be the stack size in RunCommand() (which launches CLI programs), so it worked. It has since been fixed (in 5.05 or maybe it will be in 5.06, lattice knows about it). It was a little error, that normally would have been noticed immediately, but they happened to get so lucky it didn't show until you use an alternate program invokation. >Perhaps this situation will get better in AmigaDos 2.0 if there is a >*real* way to invoke *all* programs that is supported by Commodore. >Until then, I'm more or less stuck, unless I do alot of really >low level mucking around that I really don't want to do. RunCommand() and System() (plus the flexible CreateNewProc). It's in there. ;-) -- Randell Jesup, Keeper of AmigaDos, Commodore Engineering. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com BIX: rjesup Common phrase heard at Amiga Devcon '89: "It's in there!"