Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!husc6!sri-unix!sri-spam!mordor!styx!lll-lcc!well!manx From: manx@well.UUCP (Jim Goodnow II) Newsgroups: comp.sys.amiga Subject: Re: VT100 2.6 and Manx 3.40 Message-ID: <2740@well.UUCP> Date: Mon, 9-Mar-87 17:46:35 EST Article-I.D.: well.2740 Posted: Mon Mar 9 17:46:35 1987 Date-Received: Tue, 10-Mar-87 07:05:23 EST References: <1982@cit-vax.Caltech.Edu> Reply-To: manx@well.UUCP (Jim Goodnow II) Organization: Whole Earth 'Lectronic Link, Sausalito, CA Lines: 49 Summary: There is a bug, here's the patch! A bug in the 3.4a compiler which was found when compiling vt100 vers 2.6 is fixed by the following patch program which will be updated if and when any other bugs are reported. -------------- CUT HERE --------------- /* * Aztec C68K/Am PATCH program v 1.0 - 3/9/87 * * This program provides patches which fix bugs in the 3.4a version * of the Aztec C68K system. */ /* * 1) A statement of the form: < array[index] op= > will sometimes generate * incorrect code which will modify the wrong address in memory. */ short patch1[] = {0x2f2a, 0x0006, 0x2f07, 0x2f2a, 0x0006, 0x487a, 0x057f, 0x4eac, 0x8320, 0x422c, 0x9412, 0x2f2a, 0x0006, 0x4eac, 0x825a, 0x4fef, 0x0014}; struct patches { short size; long offset; short *patch; char *program; } patches[] = { 34, 0xb564, patch1, "cc", 0 }; main() { int fd; struct patches *pp; for (pp=patches;pp->size;pp++) { printf("Applying patch %d ", pp-patches+1); if ((fd = open(pp->program, 2)) < 0) { printf("\nError opening program file <%s>, skipping ...\n", pp->program); continue; } printf("to <%s>\n", pp->program); lseek(fd, pp->offset, 0); write(fd, pp->patch, pp->size); close(fd); } he