Browse Source

Configured distr system for the 6.0pre3 release.

dtrg 17 years ago
parent
commit
e9e9c8ac50
12 changed files with 94 additions and 18 deletions
  1. 2 0
      .distr
  2. 9 0
      CHANGES
  3. 6 5
      README
  4. 0 1
      lang/cem/libcc.ansi/headers/.distr
  5. 2 4
      mach/i80/.distr
  6. 38 2
      mach/i80/libem/.distr
  7. 5 2
      mach/i80/libend/.distr
  8. 1 0
      mach/i80/pmfile
  9. 1 0
      mach/i80/top/.distr
  10. 16 0
      mach/i80/top/table
  11. 5 4
      plat/cpm/.distr
  12. 9 0
      plat/cpm/descr

+ 2 - 0
.distr

@@ -46,9 +46,11 @@ lang/m2
 #lang/basic
 
 mach/proto
+mach/i80
 mach/i86
 mach/i386
 
+plat/cpm
 plat/pc86
 plat/linux386
 

+ 9 - 0
CHANGES

@@ -2,6 +2,15 @@
 # $State$
 # $Revision$
 
+6.0pre3
+
+  Added the cpm platform. Made some optimisations to the i80 code generator,
+  including getting topgen up and running and adding some peephole optimiser
+  rules. Fixed loads of bugs in ego so that it now works on platforms that
+  support it (pc86 and linux386). Made the floating point work on platforms
+  that support it (pc86 and linux386 again). Made stdint.h work. Lots and lots
+  of bugfixes and tweaks everywhere.
+  
 6.0pre2
 
   Much simplified the syscall interface by disabling libmon and instead

+ 6 - 5
README

@@ -2,11 +2,11 @@
 # $State$
 # $Revision$
 
-                     THE AMSTERDAM COMPILER KIT V6.0pre2
+                     THE AMSTERDAM COMPILER KIT V6.0pre3
                      ===================================
 
                   © 1987-2005 Vrije Universiteit, Amsterdam
-                                2007-04-24
+                                2007-04-29
 
 
 INTRODUCTION
@@ -34,6 +34,7 @@ Platforms:
 
 pc86          produces bootable floppy disk images for 8086 PCs
 linux386      produces ELF executables for PC Linux systems
+cpm           produces i80 CP/M .COM files
 
 
 INSTALLATION
@@ -125,8 +126,8 @@ GOTCHAS
 
 There are some things you should be aware of.
 
-- Look at plat/linux386/README and plat/pc86/README for information about the
-  two supported platforms.
+- Look at plat/<PLATFORMNAME>/README for information about the two supported
+  platforms.
   
 - The library support is fairly limited; for C, it's at roughly the ANSI C
   level, and for the other languages it's similar.
@@ -166,4 +167,4 @@ Please enjoy.
 
 David Given (dtrg on Sourceforge)
 dg@cowlark.com
-2007-04-24
+2007-04-29

+ 0 - 1
lang/cem/libcc.ansi/headers/.distr

@@ -20,4 +20,3 @@ stdbool.h
 fcntl.h
 tgmath.h
 locale.h
-stdint.h

+ 2 - 4
mach/i80/.distr

@@ -1,8 +1,6 @@
-Action
+pmfile
 as
+top
 ncg
-dl
 libem
 libend
-libmon
-mach_params

+ 38 - 2
mach/i80/libem/.distr

@@ -1,2 +1,38 @@
-LIST
-libem_s.a
+pmfile
+aar2.s
+adi4.s
+and.s
+blm.s
+cii.s
+cmi4.s
+cms.s
+com.s
+csa.s
+csb.s
+dup.s
+dvi2.s
+dvi4.s
+exg.s
+flp.s
+inn.s
+ior.s
+lar2.s
+loi.s
+mli2.s
+mli4.s
+mlu2.s
+ngi4.s
+nop.s
+rck.s
+rol4.s
+ror4.s
+sar2.s
+sbi4.s
+set2.s
+set.s
+sli2.s
+sli4.s
+sri2.s
+sri4.s
+sti.s
+xor.s

+ 5 - 2
mach/i80/libend/.distr

@@ -1,2 +1,5 @@
-LIST
-end_s.a
+pmfile
+edata.s
+em_end.s
+end.s
+etext.s

+ 1 - 0
mach/i80/pmfile

@@ -11,6 +11,7 @@ mach_i80 = group {
 	
 	proto_as,
 	proto_ncg { ARCHDIR = "i80" },
+	proto_top,
 	
 	install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
 }

+ 1 - 0
mach/i80/top/.distr

@@ -0,0 +1 @@
+table

+ 16 - 0
mach/i80/top/table

@@ -0,0 +1,16 @@
+
+/* 68020 desciptor table for ACK target optimizer */
+
+MAXOP 2;
+
+%%;
+
+X, Y, Z             { TRUE };
+%%;
+
+mvi X, Y : mov X, Z          -> mov X, Z ;
+
+xchg : inx h : xchg          -> inx d ;
+xchg : inx d : xchg          -> inx h ;
+
+%%;

+ 5 - 4
plat/cpm/.distr

@@ -4,21 +4,22 @@ pmfile
 README
 include/ack/config.h
 include/unistd.h
+include/cpm.h
 libsys/pmfile
-libsys/_hol0.s
+libsys/_bdos.s
 libsys/brk.c
 libsys/close.c
 libsys/creat.c
 libsys/errno.s
 libsys/getpid.c
+libsys/_hol0.s
+libsys/_inn2.s
 libsys/isatty.c
 libsys/kill.c
-libsys/libsys.h
 libsys/lseek.c
 libsys/open.c
 libsys/read.c
 libsys/signal.c
 libsys/time.c
+libsys/_trap.s
 libsys/write.c
-libsys/_sys_rawread.s
-libsys/_sys_rawwrite.s

+ 9 - 0
plat/cpm/descr

@@ -28,6 +28,15 @@ name be
 	stdout
 	need .e
 end
+name asopt
+	from .s
+	to .so
+	program {EM}/lib.bin/{PLATFORM}/top
+	args
+	optimizer
+	stdin
+	stdout
+end
 name as
 	from .s.so
 	to .o