Commit graph

  • 4e68af9781 Add a declaration for the -Bxyz module name flag, used by the B compiler. Rename some of the Basic flags to avoid confusion. David Given 2016-12-29 17:12:40 +0000
  • 0e10329876 Fix an issue throughout where B couldn't be built by ackprogram due to symbol laziness. David Given 2016-12-29 17:11:53 +0000
  • a43258fe9d Build the B compiler and standard library (also the Basic one, which was missing). David Given 2016-12-29 17:11:07 +0000
  • ebd424e7f1 First draft of the B module code; a module name can now be specified as a compiler flag, which is used to set the name of the patch table. The compiler now understands C preprocessor line directives. Extend the standard library somewhat. David Given 2016-12-29 17:10:21 +0000
  • e3f8fb84dc Change the i80 assembler to be three-pass, which allows forward references; required for assembling B. David Given 2016-12-29 17:08:53 +0000
  • 52f82a76b6 Don't crash when using the -u option to enter undefined symbols. David Given 2016-12-28 23:49:55 +0000
  • 49dd5724ca Correctly export PREFIX to the Lua build system. David Given 2016-12-28 19:16:15 +0000
  • 3cdceaa700 Merge in B changes. David Given 2016-12-28 17:30:14 +0000
  • e50f4be710 Merge from default. David Given 2016-12-26 19:44:48 +0000
  • decf0f5e9c Merge pull request #29 from kernigh/pr-elf-symbol David Given 2016-12-14 22:30:44 +0100
  • 7e39a821f4 Update aelflod.1 to describe options, mention symbol table. George Koehler 2016-12-13 17:22:45 -0500
  • 5cf2a68438 Teach aelflod to write the ELF symbol table. George Koehler 2016-12-13 16:41:22 -0500
  • 8280ca8745 In aslod, remove some unused m68k2 stuff. George Koehler 2016-12-13 16:02:38 -0500
  • 2874806048 Tweak man syntax in aelflod.1 and aslod.1 George Koehler 2016-12-13 15:54:38 -0500
  • 0e020132f8 Fix a warning. David Given 2016-12-12 21:17:01 +0100
  • 04e54d6cb1 Run lang/basic/lib through clang-format. David Given 2016-12-12 21:16:32 +0100
  • a53b51001b Ansify function definitions. David Given 2016-12-12 21:15:25 +0100
  • bf2e0be69a Merge pull request #27 from kernigh/pr-qemu-doze David Given 2016-12-11 23:17:12 +0100
  • 62edb90641 Convert the inn test to work with the test library and not import InOut; it now runs on qemuppc again. Reenable qemuppc tests. David Given 2016-12-11 23:06:37 +0100
  • 65fdb03231 Merge pull request #28 from kernigh/pr-set-ppc David Given 2016-12-11 22:25:04 +0100
  • 8605a2fcfc Add Modula-2 set operations to PowerPC ncg. George Koehler 2016-12-10 12:23:07 -0500
  • fcda786fe9 Add some missing clauses to los, sts, aar, inn, cmi, cmu. George Koehler 2016-12-09 19:49:50 -0500
  • 436114fce4 Add a move from CONST smalls(%val) to GPR. George Koehler 2016-12-09 18:40:14 -0500
  • 17211eef47 Fix ass to match the EM spec. George Koehler 2016-12-09 17:32:42 -0500
  • 5bd0ad4269 Remove the bogus rules for 'lor 2' and 'str 2'. George Koehler 2016-12-09 17:00:56 -0500
  • 805883e377 Fill in a hint for enabling the COMMENT macro. George Koehler 2016-12-09 16:58:47 -0500
  • 244e554f2f Remove trailing whitespace in mach/powerpc/ncg/table George Koehler 2016-12-09 16:36:42 -0500
  • df86e3b84f Fix typo: msr0 should be msr. George Koehler 2016-12-09 16:04:21 -0500
  • d94ea4c508 Teach qemuppc to halt the cpu on _exit(). George Koehler 2016-12-07 18:11:12 -0500
  • b8c921ca70 Allow mfspr, mtspr with a register number. George Koehler 2016-12-07 17:28:00 -0500
  • 97acc7bcad Merge pull request #25 from davidgiven/dtrg-inn David Given 2016-12-06 22:24:31 +0100
  • 1039c0a747 Add a test for #22. David Given 2016-12-06 22:07:22 +0100
  • 67e7d226ad Disable qemuppc tests; turns out qemu-system-ppc won't load more than the first 4kB of a kernel... David Given 2016-12-06 22:06:17 +0100
  • cc3d72e884 Fix redirection so stray stderr output from qemu doesn't cause mysterious test failures. David Given 2016-12-06 22:05:14 +0100
  • 55e24e1f24 inn was assuming that bitfields were arrays of bytes, when actually they're arrays of words (which makes the LSB move on big-endian systems). David Given 2016-12-06 21:45:20 +0100
  • 6a77309e96 Merge pull request #23 from kernigh/pr-osx David Given 2016-12-06 16:28:24 +0100
  • 6cbea83f7f Don't share as, ncg, top between Linux and Mac OS X. George Koehler 2016-12-05 20:13:29 -0500
  • 3fe285f8f8 Fix some shell issues that would occasionally cause hangs if no tests failed. David Given 2016-12-05 21:06:38 +0100
  • c569ca15d8 Clean up how the language libraries refer to plat headers; they should be using the +pkg forms of the rules and getting the headers via the paths in descr, rather than depending on the +headers version. David Given 2016-12-05 21:05:24 +0100
  • c5aff6fc2e Change dependency from simplerule{} with a dependency but no outputs to an installable; otherwise, the dependency would be built, but the result wouldn't get added to the header path and so wouldn't be seen. David Given 2016-12-05 20:33:26 +0100
  • 3cce93586f Merge branch 'pr-osx' of https://github.com/kernigh/ack into kernigh-pr-osx David Given 2016-12-05 20:14:54 +0100
  • 969e98b82d Create Mach-o files with mode 0777 to allow executing them. George Koehler 2016-12-03 17:52:24 -0500
  • 355cc06fff Write README files for osx386 and osxppc. George Koehler 2016-12-03 17:17:44 -0500
  • 25e159c930 Remove bad overflow check from plat/osx/libsys/brk.c George Koehler 2016-12-03 17:07:51 -0500
  • e06b1fa05e Write a manual page for cvmach(6). George Koehler 2016-12-02 18:04:06 -0500
  • 07e654d6e3 Merge from default. David Given 2016-12-02 00:25:50 +0100
  • f1c357b9ea Merge pull request #21 from davidgiven/dtrg-tests David Given 2016-12-02 00:24:44 +0100
  • 353e2d2842 Typo fix. David Given 2016-12-02 00:18:44 +0100
  • 213def9666 Don't fail to build if all tests are skipped. David Given 2016-12-02 00:14:40 +0100
  • 3aa0487289 UI tweaks to the test summary. David Given 2016-12-02 00:10:33 +0100
  • 467709ff38 Report skipped, failed and timed out tests. David Given 2016-12-02 00:00:31 +0100
  • 9e6581b0ff Mark skipped tests in the logs (so we can get stats on them later). David Given 2016-12-01 23:14:29 +0100
  • 8c99e2b7ad Run all tests, even the ones which fail, and emit a test summary right at the end of the build (and fail then). David Given 2016-12-01 23:03:30 +0100
  • ee22fc5fae Merge pull request #20 from davidgiven/dtrg-tests David Given 2016-12-01 22:23:09 +0100
  • b7de58e34e Fix signal unsafety in testdriver.c. David Given 2016-12-01 22:05:22 +0100
  • 90547157b4 Merge from default. David Given 2016-11-30 22:07:29 +0100
  • 8ce3382996 Merge from default. David Given 2016-11-30 22:04:11 +0100
  • d94c326465 Merge pull request #18 from kernigh/pr-util-ack David Given 2016-11-30 22:00:55 +0100
  • 8ef7c31089 Write a powerpc.descr for ego and use it with osxppc. George Koehler 2016-11-30 15:29:19 -0500
  • 543bbcb9ab Declare raise() for Mac OS X. George Koehler 2016-11-30 14:33:40 -0500
  • 960584c0f3 Replace the hacky and broken pipeline in testdriver.sh with a custom-written tool in C; much more robust and easier to understand, as well as avoiding the dependency on timeout (which isn't Posix). David Given 2016-11-29 20:59:43 +0100
  • 0c2b6f523c Enable top and make other tweaks in plat/osxppc/descr George Koehler 2016-11-28 20:58:51 -0500
  • ecdfb61c9d Merge branch 'default' into kernigh-osx George Koehler 2016-11-28 16:20:56 -0500
  • bbcc08a6b6 Fix putchar() return value. David Given 2016-11-28 21:38:46 +0100
  • 466bc555fe Add getdirentries() and stat() for Mac OS X. George Koehler 2016-11-28 14:32:49 -0500
  • 9f34262f95 Implement enough libb to make 'Hello, world!' work. David Given 2016-11-27 22:05:15 +0100
  • fbd6e8f63d Add support for consecutive labels; needed by the B compiler. David Given 2016-11-27 21:18:00 +0100
  • b9665c7c99 Fix some basic showstopping bugs; compilation now works up to failing to find the libb standard library. David Given 2016-11-27 21:08:14 +0100
  • 4485d89b23 Hook the B compiler up to the compiler driver. David Given 2016-11-27 20:48:07 +0100
  • 5bce5fc4da Change the extension used by Basic files for .b to .bas, to avoid conflicts with B. David Given 2016-11-27 20:38:33 +0100
  • 707585b67d Perform initial (i.e. feature complete and compiling, but not necessarily working) port of the B compiler to EM. David Given 2016-11-27 20:28:19 +0100
  • cfc723250f Initial EM-ification; start threading word size stuff through the code. David Given 2016-11-27 11:58:59 +0100
  • a69045c0e4 Import aap@github's B compiler. David Given 2016-11-27 11:37:25 +0100
  • 4f446467c8 Suppress spurious message when testdriver probes for a testing method. David Given 2016-11-26 21:50:56 +0100
  • 4633ca0886 Updated the README. David Given 2016-11-26 19:25:02 +0100
  • 9641801455 Merge pull request #17 from davidgiven/dtrg-tests David Given 2016-11-26 12:59:13 +0100
  • 2dc083f436 Use command -v rather than hash to detect commands (command is Posix and works on OpenBSD). David Given 2016-11-26 12:53:36 +0100
  • a596973f28 OSX doesn't work; let's not bother building it. David Given 2016-11-26 12:52:09 +0100
  • a9a0b37b14 Plats which use aelflod need to depend on it. David Given 2016-11-26 12:07:08 +0100
  • dff67447fe qmu-system-x86 isn't in Travis' repository? Let's try qemu-user. David Given 2016-11-26 12:00:59 +0100
  • 98c761d5c0 Enable tests for linux386 via qemu-i386. David Given 2016-11-26 11:58:02 +0100
  • cf33bd6cc4 Enable tests for linuxppc via qemu-ppc. David Given 2016-11-26 11:56:17 +0100
  • 90e3d45c69 Travis only whitelists the -x86 version of qemu. David Given 2016-11-26 11:29:57 +0100
  • 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). David Given 2016-11-26 11:23:25 +0100
  • 5f66f06dc6 Refactored the tests to make the generic across different plats. David Given 2016-11-25 21:02:51 +0100
  • bfa8e501a3 Make pc86 echo console output to the serial port, so qemu can pipe it to stdout. David Given 2016-11-25 20:28:41 +0100
  • ed181a8d20 Ansify Paranoia, because I was getting annoyed by all the compiler warnings on every build. David Given 2016-11-25 20:01:43 +0100
  • 3e69d1185a Fix a whole lot more stray prototypes. David Given 2016-11-24 21:47:40 +0100
  • b8a2935f2b Fix more invalid prototypes of stdlib functions; build dependency fix. David Given 2016-11-24 21:26:05 +0100
  • b5980af06f Linker groups don't work on OSX; go back to the hacky way of simply specifying the inputs multiple times, which seems to work. David Given 2016-11-24 21:03:27 +0100
  • 7435c06ff4 Non-standard stdlib prototypes are not our friend (and not OSX's friend, which implements strcpy() &co as macros). David Given 2016-11-24 20:48:51 +0100
  • b21197c0c7 Merge pull request #16 from davidgiven/dtrg-pascal-mark-release David Given 2016-11-24 20:45:14 +0100
  • c084f9f224 Remove the Mark() and Release() procedures from the Pascal compiler and standard library, because they never worked and come from an achingly old version of the Pascal specification. Fix the implementations of New() and Dispose() to use the standard C memory allocator rather than rolling their own (also in C). Write test! David Given 2016-11-24 20:35:26 +0100
  • 899f1ea4f3 Forgot to check in the change to qemuppc's brk() to set errno on memory allocation failure. David Given 2016-11-24 19:47:11 +0100
  • 3b46aadf94 Merge pull request #15 from davidgiven/dtrg-allocs David Given 2016-11-23 22:35:50 +0100
  • 991f47098c Add a test for brk() and sbrk(). David Given 2016-11-23 22:28:21 +0100
  • 6cd2a9ba81 Add a test for calloc(). David Given 2016-11-23 22:22:04 +0100
  • 9481487e3d Implement calloc() (accidentally got dropped with the malloc rewrite). David Given 2016-11-23 22:16:25 +0100
  • 36ab90385f Change sbrk() to take an int rather than an intptr_t (following the OpenBSD way rather than the Linux way; various non-C bits of the ACK assume it takes an int, so it's cleaner). David Given 2016-11-23 22:06:24 +0100
  • 0aac9aafd3 Combine brk() with sbrk(); modify brk() to update the sbrk(0) value. David Given 2016-11-23 22:04:21 +0100