David Given
538eefb573
Get em22 working. Remove the leading-underscore system calls from its libsys.
2018-06-23 15:57:57 +02:00
David Given
74d166ef9a
Get the pdp7 plat working; remove the leading-underscore syscalls.
2018-06-23 15:18:26 +02:00
David Given
3e40374297
Made the rpi platform work with the new libc layout.
2018-06-23 13:05:27 +02:00
David Given
dbb2062d03
Made pc86 work with the new libc.
2018-06-23 12:59:40 +02:00
David Given
680b4071b7
Made the two OSX platforms work with the new libc layout.
2018-06-23 12:55:59 +02:00
David Given
b727b7affd
Make linuxppc work.
2018-06-23 12:41:54 +02:00
David Given
b267b56ad9
Made linux68k work; commoned up all the generic linux includes.
2018-06-23 12:35:17 +02:00
David Given
66815ff987
Make linux386 work with the new libc layout.
2018-06-23 12:13:33 +02:00
David Given
32c881474e
Create a basic and probably wrong common unistd.h, which replaces the plat one.
...
Made this work with cpm (but nothing else yet).
2018-06-23 11:46:55 +02:00
David Given
b21c099a57
Get the em libc working again: remove the modula-2 termcap library, as it's a
...
straight copy of the libc one and having two symbols defined at once gets ass
upset.
2018-06-22 23:17:14 +02:00
David Given
c0276416d8
Move some more libc functions into core.
2018-06-22 22:20:02 +02:00
David Given
d623440c77
Add the core of a simple em22 platform. Unfortunately it doesn't work; the old
...
em libmon vanished decades ago (or never existed), and also ass appears to have
a different idea of what the em opcodes are to everything else and gets
confused.
2018-06-10 20:25:48 +09:00
David Given
59b383afd0
Make the em interpreter build --- again, lots of warnings, so it probably won't
...
work on clang. I have no idea whether it runs or not as building a e.out
program is quite hard and needs a special platform.
2018-06-09 21:13:31 +09:00
David Given
d10a594c04
Get ass running --- it's very K&R and almost certainly won't build on clang,
...
but it works on gcc.
2018-06-09 14:10:45 +09:00
David Given
a8802c934b
Enable tests for linux68k.
2018-06-05 23:16:34 +09:00
David Given
5d292a0a36
Typo fix.
2018-06-02 21:48:18 +02:00
David Given
5a886787d3
Honour CFLAGS set in the Makefile.
2018-06-02 21:30:52 +02:00
George Koehler
4a3b7be795
Use ack -mcpm -fp
for mandelbrot.c, startrek.c
...
Add a variable %{ackldflags} so I can pass `-fp`. This change seems
to cause the build to relink every ackprogram, because the link now
needs to use %{ackldflags} even if the flags are empty.
mandelbrot_c_cpm runs in YAZE-AG; startrek_c_cpm doesn't run because
it doesn't fit in the 16-bit address space.
2018-04-28 13:18:27 -04:00
David Given
4b5a7fee14
Made the cgg and the cg code generator work; use this to beat the PDP/11
...
backend into shape. It now generates binaries --- no idea whether they work or
not.
2018-02-23 22:31:46 +01:00
David Given
5f6a773649
Turn of qemuppc for now; it's crashing on Travis builds.
2017-08-06 13:48:01 +02:00
David Given
e50f4be710
Merge from default.
2016-12-26 19:44:48 +00:00
David Given
62edb90641
Convert the inn test to work with the test library and not import InOut; it now
...
runs on qemuppc again. Reenable qemuppc tests.
2016-12-11 23:06:37 +01:00
David Given
67e7d226ad
Disable qemuppc tests; turns out qemu-system-ppc won't load more than the first
...
4kB of a kernel...
2016-12-06 22:06:17 +01:00
David Given
3cce93586f
Merge branch 'pr-osx' of https://github.com/kernigh/ack into kernigh-pr-osx
2016-12-05 20:14:54 +01:00
David Given
07e654d6e3
Merge from default.
2016-12-02 00:25:50 +01:00
David Given
8c99e2b7ad
Run all tests, even the ones which fail, and emit a test summary right at the
...
end of the build (and fail then).
2016-12-01 23:03:30 +01:00
George Koehler
ecdfb61c9d
Merge branch 'default' into kernigh-osx
...
This brings in David Given's PowerPC changes, including the addition
of the modern code generator (mcg) for PowerPC.
Resolve minor conflicts in top build.lua and util/led/main.c
2016-11-28 16:20:56 -05:00
David Given
cfc723250f
Initial EM-ification; start threading word size stuff through the code.
2016-11-27 11:58:59 +01:00
David Given
98c761d5c0
Enable tests for linux386 via qemu-i386.
2016-11-26 11:58:02 +01:00
David Given
cf33bd6cc4
Enable tests for linuxppc via qemu-ppc.
2016-11-26 11:56:17 +01:00
David Given
8a58614aef
Rework the tests to run on pc86; lots of test fixes for the brk() test, which
...
was nearly useless; lots of fixes to qemuppc and pc86 sbrk(), which was broken;
change the pc86 console to echo output to the serial port (needed for running
tests on qemu).
2016-11-26 11:23:25 +01:00
David Given
6a4f465f53
Add a rather bodged test framework for the qemuppc plat, which only runs if the
...
qemu-system-ppc emulator is installed.
2016-11-13 13:37:22 +01:00
David Given
48e74f46fc
Add the very experimental qemuppc plat, intended to generate minimal images
...
which can be emulated using qemu (for, hopefully, a test suite). Currently it
generates images which won't run because there's no RAM.
2016-11-12 19:20:58 +01:00
David Given
5f0164db62
Bolt mcg into the PowerPC backend. It doesn't build yet, but it is generating
...
*some* code.
2016-10-17 00:06:06 +02:00
David Given
d539389e81
Merge in the unfinished PowerPC branch.
2016-10-16 22:38:27 +02:00
George Koehler
02fb480217
Commit a preview of osx386 and osxppc as new platforms.
...
These produce Mach-o executables for Mac OS X on Intel or PowerPC
processors. Our code generator for PowerPC (mach/powerpc) still has
bugs. Some examples seem to run, but startrek crashes. Our code
generator for Intel (mach/i386) is better.
There is a problem with job control. If you run paranoia or startrek,
then suspend the job (^Z) and resume it ('fg' in bash), then read(2)
might fail with EINTR.
The larger files in this commit are
- plat/osx/cvmach/cvmach.c
- plat/osx/libsys/brk.c
- plat/osx386/libsys/sigaction.s
- plat/osxppc/libsys/sigaction.s
2016-10-02 14:58:05 -04:00
David Given
2eee391aef
Basic skeleton of em parser.
2016-09-17 22:21:47 +02:00
David Given
45a950571d
Mostly add support for the experimental and largely broken linuxppc platform.
...
(Doesn't quite build.)
--HG--
branch : dtrg-experimental-powerpc-branch
2016-09-15 23:12:03 +02:00
David Given
5bae29a00c
ego now builds and is used.
...
This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.
Plats now only specify the ego descr file if they have one.
2016-08-21 22:01:19 +02:00
David Given
1a7b4f8729
Build the examples when doing a normal build; this exercises the compiler as a
...
whole and is one step further towards a proper test suite.
2016-08-20 14:05:24 +02:00
David Given
204f932ed2
Raspberry Pi backend now builds.
2016-08-20 12:40:13 +02:00
David Given
a42939df50
LED builds now.
2016-08-14 14:40:01 +02:00
David Given
38fa6941d5
linux68k builds now.
2016-08-14 11:34:18 +02:00
David Given
f253b6a169
linux386 builds. Also, forgot to turn back on the language runtimes.
2016-08-14 10:37:55 +02:00
David Given
262c5fedcf
Biggish refactor to break cycles; my build rules were full of them. cpm builds,
...
which requires top and topgen.
2016-08-14 01:39:40 +02:00
David Given
e770d09dc8
Pascal compiler builds.
2016-08-13 13:03:06 +02:00
David Given
8e869b56e7
The Modula-2 compiler now builds.
2016-08-13 00:02:21 +02:00
David Given
7c60c27302
The Basic compiler works now.
2016-08-12 00:19:51 +02:00
David Given
0d77cb8279
We can build our first C file.
2016-08-07 21:56:53 +02:00
David Given
b2bb4ce3b2
Builds libend (the simplest library). Becoming obvious I need to rework the way
...
ackbuilder deals with lists.
2016-07-30 00:39:22 +02:00