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
David Given
363d13cc2f
C preprocessor; tabgen; now the pc86 boot.s builds using the ack
...
toolchain.
2016-07-29 00:22:49 +02:00
David Given
f9c77fca03
Replace the hacky cflags variable with an equally hacky but vastly
...
more useful magic vars variable.
2016-07-27 00:10:15 +02:00
David Given
bff5c4019c
Baby steps towards building a platform --- make the assembler work.
...
Add ackbuilder support for C preprocessor files and yacc.
2016-07-24 00:50:02 +02:00
David Given
2770a83837
More programs, more libraries. src/modules build files are now saner.
2016-07-23 00:30:31 +02:00
David Given
bcf3408e36
More stuff builds; almost the C compiler now.
2016-07-14 23:54:13 +02:00
David Given
d805052205
All the amisc binaries now build.
2016-06-19 09:32:45 +02:00
David Given
2af8568cc3
First draft at installables; not very satisfactory. make bugs with multiple
...
output targets and parallelism?
2016-06-16 05:26:44 +02:00
David Given
09554cb324
installable works, although it's a bit kludgy. Change the : separator to +
...
because : is special in make and non of the others I could think of would work.
2016-06-14 07:34:14 +02:00