summaryrefslogtreecommitdiff
path: root/config/linux
diff options
context:
space:
mode:
Diffstat (limited to 'config/linux')
-rw-r--r--config/linux/Makedefs2
-rw-r--r--config/linux/alpha.s46
-rw-r--r--config/linux/define.h3
-rw-r--r--config/linux/i686.s44
-rw-r--r--config/linux/parisc.s68
-rw-r--r--config/linux/sparc.c36
-rw-r--r--config/linux/status22
7 files changed, 8 insertions, 213 deletions
diff --git a/config/linux/Makedefs b/config/linux/Makedefs
index da053aa..613b74d 100644
--- a/config/linux/Makedefs
+++ b/config/linux/Makedefs
@@ -14,6 +14,6 @@ CFDYN = -fPIC
RLINK = -Wl,-E
RLIBS = -lm -ldl
TLIBS = -lpthread
-XLIBS = -L/usr/X11R6/lib64 -L/usr/X11R6/lib -lX11
+XLIBS = -lX11
XPMDEFS = -DZPIPE
GDIR = xpm
diff --git a/config/linux/alpha.s b/config/linux/alpha.s
deleted file mode 100644
index a4589d4..0000000
--- a/config/linux/alpha.s
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * coswitch(old_cs, new_cs, first) for Dec Alpha architecture
- * $16 $17 $18
- */
- .data
-errmsg: .ascii "new_context() returned in coswitch\X00"
-
- .text
- .globl coswitch
- .ent coswitch
-coswitch:
- lda $sp, -72($sp) /* make room on stack */
- stq $sp, 0($16) /* save stack pointer */
- stq $9, 0($sp) /* save registers on stack */
- stq $10, 8($sp)
- stq $11, 16($sp)
- stq $12, 24($sp)
- stq $13, 32($sp)
- stq $14, 40($sp)
- stq $15, 48($sp)
- stq $27, 56($sp)
- stq $26, 64($sp) /* return address */
- beq $18, first /* if first time */
-
- ldq $sp, 0($17) /* load new stack pointer */
- ldq $9, 0($sp) /* load registers from stack */
- ldq $10, 8($sp)
- ldq $11, 16($sp)
- ldq $12, 24($sp)
- ldq $13, 32($sp)
- ldq $14, 40($sp)
- ldq $15, 48($sp)
- ldq $27, 56($sp)
- ldq $26, 64($sp) /* return address */
- lda $sp, 72($sp) /* reset sp */
- jsr_coroutine $31, ($26), 0 /* jump into new_context */
-
-first:
- ldq $sp, 0($17) /* load stack pointer only */
- bis $31, $31, $16 /* r16 = 0 */
- bis $31, $31, $17 /* r17 = 0 */
- jsr $26, new_context /* new_context(0,0) */
- lda $16, errmsg
- jsr $26, syserr /* shouldn't get here */
-
- .end coswitch
diff --git a/config/linux/define.h b/config/linux/define.h
index 834bb2b..982d3c5 100644
--- a/config/linux/define.h
+++ b/config/linux/define.h
@@ -4,6 +4,3 @@
#define UNIX 1
#define LoadFunc
-
-#define CComp "gcc"
-#define COpts "-O -fomit-frame-pointer"
diff --git a/config/linux/i686.s b/config/linux/i686.s
deleted file mode 100644
index 2e7117e..0000000
--- a/config/linux/i686.s
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Assembler source for context switch using gas 1.38.1 + gcc 1.40 on
-# Xenix/386, revamped slightly for use with Linux by me (Richard Goer-
-# witz) on 7/25/94.
-#
-
-.file "rswitch.s"
-.data 1
-.LC0:
- .byte 0x6e,0x65,0x77,0x5f,0x63,0x6f,0x6e,0x74,0x65,0x78
- .byte 0x74,0x28,0x29,0x20,0x72,0x65,0x74,0x75,0x72,0x6e
- .byte 0x65,0x64,0x20,0x69,0x6e,0x20,0x63,0x6f,0x73,0x77
- .byte 0x69,0x74,0x63,0x68,0x0
-.text
- .align 4
-.globl coswitch
-
-
-coswitch:
- pushl %ebp
- movl %esp,%ebp
- movl 8(%ebp),%eax
- movl %esp,0(%eax)
- movl %ebp,4(%eax)
- movl 12(%ebp),%eax
- cmpl $0,16(%ebp)
- movl 0(%eax),%esp
- je .L2
-
- movl 4(%eax),%ebp
- jmp .L1
-
-.L2:
- movl $0,%ebp
- pushl $0
- pushl $0
- call new_context
- pushl $.LC0
- call syserr
- addl $12,%esp
-
-.L1:
- leave
- ret
diff --git a/config/linux/parisc.s b/config/linux/parisc.s
deleted file mode 100644
index 88d9366..0000000
--- a/config/linux/parisc.s
+++ /dev/null
@@ -1,68 +0,0 @@
-; coexpression code for HP PA-RISC architecture for Icon 8.10
-;
-; n.b. two of the three coexpression tests work, but coexpression
-; *transmission*, a rarely used feature, does not
-
- .CODE
- .IMPORT syserr
- .EXPORT coswitch
-coswitch
- .PROC
- .CALLINFO
- .ENTRY
- ; store old registers
- STW %sp,0(%arg0)
- ; not used: 4(%arg0)
- STW %rp,8(%arg0)
- STW %r3,12(%arg0)
- STW %r4,16(%arg0)
- STW %r5,20(%arg0)
- STW %r6,24(%arg0)
- STW %r7,28(%arg0)
- STW %r8,32(%arg0)
- STW %r9,36(%arg0)
- STW %r10,40(%arg0)
- STW %r11,44(%arg0)
- STW %r12,48(%arg0)
- STW %r13,52(%arg0)
- STW %r14,56(%arg0)
- STW %r15,60(%arg0)
- STW %r16,64(%arg0)
- STW %r17,68(%arg0)
- STW %r18,72(%arg0)
-
- COMIB,=,N 0,%arg2,L$isfirst
-
- ; this is not a first-time call; reload old context
- LDW 0(%arg1),%sp
- LDW 8(%arg1),%rp
- LDW 12(%arg1),%r3
- LDW 16(%arg1),%r4
- LDW 20(%arg1),%r5
- LDW 24(%arg1),%r6
- LDW 28(%arg1),%r7
- LDW 32(%arg1),%r8
- LDW 36(%arg1),%r9
- LDW 40(%arg1),%r10
- LDW 44(%arg1),%r11
- LDW 48(%arg1),%r12
- LDW 52(%arg1),%r13
- LDW 56(%arg1),%r14
- LDW 60(%arg1),%r15
- LDW 64(%arg1),%r16
- LDW 68(%arg1),%r17
- LDW 72(%arg1),%r18
- BV,N (%rp) ; return
-
-L$isfirst
- LDW 0(%arg1),%sp
- LDI 0,%arg0
- LDI 0,%arg1
- .CALL ARGW0=GR,ARGW1=GR
- BL,N new_context,%rp ; call new_context(0,0)
- SUBI 1,%r0,%rp
- BV,N (%rp) ; abort w/ illegal jump
- .EXIT
- .PROCEND
- .IMPORT new_context,CODE
- .END
diff --git a/config/linux/sparc.c b/config/linux/sparc.c
deleted file mode 100644
index 743bb02..0000000
--- a/config/linux/sparc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * coswitch for Sun-4 Sparc.
- *
- * Compile this with 'gcc -c rswitch.c'. Do not use gcc -O.
- */
-
-int coswitch(old_cs, new_cs, first)
-int *old_cs, *new_cs;
-int first;
-{
- asm("ta 0x03"); /* ST_FLUSH_WINDOWS in trap.h */
- asm("ld [%fp+0x44], %o0"); /* load old_cs into %o0 */
- asm("st %sp,[%o0]"); /* Save user stack pointer */
- asm("st %fp,[%o0+0x4]"); /* Save frame pointer */
- asm("st %i7,[%o0+0x8]"); /* Save return address */
-
- if (first == 0) { /* this is the first activation */
- asm("ld [%fp+0x48], %o0"); /* load new_cs into %o0 */
- asm("ld [%o0], %o1"); /* load %o1 from cstate[0] */
-
- /* Decrement new stack pointer value before loading it into sp. */
- /* The top 64 bytes of the stack are reserved for the kernel, to */
- /* save the 8 local and 8 in registers into, on context switches, */
- /* interrupts, traps, etc. */
-
- asm("save %o1,-96, %sp"); /* load %sp from %o1 */
- new_context(0,0);
- syserr("new_context() returned in coswitch");
-
- } else {
- asm("ld [%fp+0x48], %o0"); /* load new_cs into %o0 */
- asm("ld [%o0+0x4],%fp"); /* Load frame pointer */
- asm("ld [%o0+0x8],%i7"); /* Load return address */
- asm("ld [%o0],%sp"); /* Load user stack pointer */
- }
-}
diff --git a/config/linux/status b/config/linux/status
index 499c0fa..497be73 100644
--- a/config/linux/status
+++ b/config/linux/status
@@ -4,7 +4,7 @@ System configuration:
Latest Icon version:
- Version 9.4.3
+ Version 9.5.0
Installer:
@@ -12,30 +12,22 @@ Installer:
Icon Project
The University of Arizona
- with special thanks to Christian Hudon for additional testing
-
Missing features:
None
Known bugs:
- None on x86, amd64, Alpha, SPARC, ARM, s390, or m68k.
-
- On PowerPC: Large integers don't work; the cause is unknown.
-
- On HP PA-RISC architecture: Icon is not functional. For
- reasons that are not understood, real (floating-point)
- values do not work.
+ None
Comments:
- Tested on x86 and amd64 architectures under Red Hat 9,
- Fedora 3, and Fedora 4.
+ Tested on various x86 and x64 systems running Fedora 9,
+ Ubuntu 9.04 and 9.10, and Debian Squeeze.
- This configuration can use pthreads for context switching.
- On some architectures that is the only option.
+ Ubuntu may require package installation in order to build:
+ $ sudo apt-get install build-essential libx11-dev libxt-dev libxaw7-dev
Date:
- November 8, 2005
+ April 5, 2010