[net.micro.amiga] Bugs under Lattice 3.03

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