jdt@bucsb.UUCP (Dave Tenny) (04/06/86)
I have encountered the following bug, but I'm not sure where the fault lies. Please post info if you have similar experience. I have Lattice 3.03 and kickstart 1.1. The C program in question has two INT register variables, and one pointer register variable. The variable which occupies register D7 is being clobbered by a called routine which calls DoIO with commands for the serial.device. By simply changing the declaration from 'register int' to 'int' I avoid the problem; but there is a lot of code available using register variables and I wonder if anyone else has this problem. (Come to think of it, my copy of MicroEMACS has a suspicious spurious bug) Thanks for any info, I'll post more when I find it; but I may be awhile in getting to it. Dave Tenny
page@ulowell.UUCP (Bob Page) (04/08/86)
In article <208@bucsb.UUCP> jdt@bucsb.UUCP (Dave Tenny) writes: >The variable which occupies register D7 is being clobbered >by a called routine which calls DoIO ... Fixed in release 1.2 of the system software. As of today, 1.2 is still in alpha test, so don't expect to see it for a few months. Unfortunately, D7 is the first register allocated by Lattice C. ..Bob -- UUCP: wanginst!ulowell!page Bob Page ARPA: page@ulowell.CSNET U of Lowell CS Dept VOX: +1 617 452 5000 x2233 Lowell MA 01854 USA
dillon@CORY.BERKELEY.EDU (Matt Dillon) (04/11/86)
You know what all these problems sound like? They sound like compatibility problems between C and BCPL. I'm wondering why the Amiga people didn't just stick to one hl-language! -Matt P.S. I don't care if the CLI source is written in BCPL, its posting would be a great help to us all. I doubt very much that releasing it would cause any *real* conflicts... or the release of all the DOS support programs (assign, list, etc...) This recording will self destruct in 10 seconds. 1 2 3 <SchchcKABOOMsdfdsf) Whoops... Sorry about that, Mr. Phelps.
grr@cbmvax.cbm.UUCP (George Robbins) (04/12/86)
In article <8604110742.AA27489@cory> dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > > You know what all these problems sound like? They sound like >compatibility problems between C and BCPL. I'm wondering why the Amiga >people didn't just stick to one hl-language! > -Matt Reduced to essentials, the graphics and windowing software, already written in C, was grafted onto AmigaDos aka Tripos, already written in BCPL. Rewriting either one would have meant that you would still be waiting for the Amiga to show up at your neighborhood computer store... Why don't you contact Bob Pariseau (amiga!bobp) at amiga directly, and see if you can work something out... -- George Robbins - now working with, uucp: {ihnp4|seismo|caip}!cbmvax!grr but no way officially representing arpa: cbmvax!grr@seismo.css.GOV Commodore, Engineering Department fone: 215-431-9255 (only by moonlite)
aglew@ccvaxa.UUCP (04/13/86)
> You know what all these problems sound like? They sound like >compatibility problems between C and BCPL. I'm wondering why the Amiga >people didn't just stick to one hl-language! Seconded! This has been the thing that has frightened me most about the Amiga - an OS written in BCPL in England, based upon something originally written in LISP, interfacing to stuff written in C in the USA. A recipe for bug stew. (What other operating system do you know was written in several languages? Hint: it runs on VAXes. It is not UNIX. It has (well, used to have; probably still does) a lot of bugs and annoying misfeatures.)
marc@osu-cgrg.UUCP (Marc Howard) (04/16/86)
> In article <208@bucsb.UUCP> jdt@bucsb.UUCP (Dave Tenny) writes: > >The variable which occupies register D7 is being clobbered > >by a called routine which calls DoIO ... > > Fixed in release 1.2 of the system software. > As of today, 1.2 is still in alpha test, so don't expect to > see it for a few months. > > Unfortunately, D7 is the first register allocated by Lattice C. > *** REPLACE THIS LINE WITH YOUR MESSAGE *** Be forewarned, SendIO also seems to eat register D7 at various times. I hope that this too has been fixed in release 1.2. As a kludge, I isolate SendIO or DoIO in their own routine with a "register int i" declaration where i is a dummy value that gets assigned to register D7. This protects register D7 from parent routines. Marc W. Howard UUCP: ....cbosgd!osu-eddie!osu-cgrg!marc