pkgsrc/lang/icon/patches/patch-ad
jtb be443f0c5e Update to version 9.4.2.
Notable changes in this latest version are listed here. Some code
   cleanup work and documentation editing has also been done.

  256-color limit removed

   Icon's X-windows interface previously limited each window to 256
   colors at one time. This limitation has been removed for the TrueColor
   displays provided by most modern computers. Median-cut quantization is
   used to select 256 image colors when WriteImage() is called to write a
   GIF file.

  Library changes

   As usual, several files in the Icon program library have been added or
   edited. The core library files, however, remain stable.

  Minor changes

     * The command "icon - [args]" can now be used to execute a source
       program read from standard input.
     * A new "icont -N" flag suppresses embedding of an iconx path in the
       generated executable
     * The configuration directory has been restructured.
     * Several obsolete configurations have been removed.
     * The environment variables HEAPSIZE and BLOCKSIZE no longer
       function as undocumented alternatives to BLKSIZE. The GNU ls
       utility uses BLOCKSIZE for other purposes, leading to confusion.
     * "make Install" has been changed to never delete anything. It now
       creates a new directory rather than altering an existing one.
2003-06-06 08:58:42 +00:00

30 lines
873 B
Text

$NetBSD: patch-ad,v 1.2 2003/06/06 08:58:43 jtb Exp $
--- /dev/null
+++ config/netbsd/m68k.c
@@ -0,0 +1,25 @@
+/*
+ * coswitch for the m68k architecture
+ */
+
+int
+coswitch (int *old_cs, int *new_cs, int first)
+{
+ asm ("movl %a6@(8),%a0"); /* a0 = old */
+ asm ("movl %a6@(12),%a1"); /* a1 = new */
+ asm ("movl %a7,%a0@"); /* save sp in cstate[0] */
+ asm ("movl %a6,%a0@(4)"); /* save a6 (fp) in cstate[0] */
+ asm ("moveml #0x3cfc,%a0@(8)"); /* store d2-d7, a2-a6 in old->cstate */
+
+ if (first == 0) { /* this is first activation */
+ asm ("movl %a1@,%a7");
+ asm ("movl #0,%a6");
+ new_context (0, 0);
+ syserr ("new_context() returned in coswitch");
+ }
+ else {
+ asm ("movl %a1@,%a7"); /* restore sp */
+ asm ("movl %a1@(4),%a6"); /* restore fp */
+ asm ("moveml %a1@(8),#0x3cfc"); /* restore d2-d7, a2-a6 */
+ }
+}