8c8f291a07In PowerPC libem, remove tge.s and powerpc.h
George Koehler
2017-01-26 12:39:16 -0500
f64b7d8ea0Rewrite how PowerPC ncg does conditional branches and tests.
George Koehler
2017-01-25 19:08:55 -0500
a348853eceAdd missing size declarations for 8-byte registers.
George Koehler
2017-01-25 11:24:23 -0500
188b23badeAdd constraints for pat lab, as done in the m68020 table.
George Koehler
2017-01-24 11:26:35 -0500
bb67dbeb11Use "kills ALL" instead of a list of killed registers.
George Koehler
2017-01-23 17:31:29 -0500
032bcffef6In PowerPC libem, use the new features of our assembler.
George Koehler
2017-01-23 17:16:39 -0500
a41b6f0458Allow more PowerPC instructions in relocations.
George Koehler
2017-01-23 16:19:38 -0500
a585ddf578Fix parameters of signal handlers for linuxppc.
George Koehler
2017-01-22 00:52:32 -0500
5aa2ac2246Teach the assembler about PowerPC extended mnemonics.
George Koehler
2017-01-21 23:49:29 -0500
b30eeb4169Merge pull request #46 from kernigh/kernigh-pr-man
David Given
2017-01-20 00:06:09 +0100
f91bc2804dTune the installed manual pages.
George Koehler
2017-01-18 23:02:30 -0500
d7df126730Merge pull request #44 from kernigh/kernigh-pr-as
David Given
2017-01-18 23:33:40 +0100
1a5c595a12Merge pull request #45 from davidgiven/dtrg-fixups
David Given
2017-01-18 20:18:04 +0100
9cc264cfeeAdd a man page for the PowerPC assembler (not used anywhere yet).
David Given
2017-01-18 20:10:16 +0100
d5a83fd73eClean up the led includes.
David Given
2017-01-18 19:55:56 +0100
f705339f86Allow more tokens in the assembler.
George Koehler
2017-01-17 22:41:11 -0500
01a61e0708Apply kernigh@'s fix to broken symbol tables in aelflod (via mailing list patch):
David Given
2017-01-18 00:06:14 +0100
232545606dMerge from default.
David Given
2017-01-18 00:02:32 +0100
ba2a03705eUse prototypes in mach/proto/as/comm5.c
George Koehler
2017-01-17 16:41:29 -0500
81c677d218Add a bunch more set operations to the PowerPC backends, and the Pascal test for the same.
David Given
2017-01-17 22:31:38 +0100
916d270534Delay inclusion of <stdint.h> when compiling comm2.y
George Koehler
2017-01-16 22:39:44 -0500
e97116c037Remove some obsolete code that causes a gcc warning.
George Koehler
2017-01-16 18:09:55 -0500
c471f617b7Ensure that memory is zero-initialised.
David Given
2017-01-16 22:45:03 +0100
2cdcc16bc2Fix a buffer overrun that was manifesting on OpenBSD; also fix a bounds check and some uninitialised variable problems.
David Given
2017-01-16 22:44:37 +0100
fa5675d439Run through clang-format.
David Given
2017-01-16 21:16:33 +0100
09c79b7dbaFix cosmetic warning when compiling B.
David Given
2017-01-15 23:00:17 +0100
c4ad07fdfcMerge pull request #40 from davidgiven/dtrg-pas
David Given
2017-01-15 22:56:06 +0100
b32be06881Allow the full 8-bit byte range when reading program source.
David Given
2017-01-15 22:41:11 +0100
5fd1634830Rename the test to something more sensible.
David Given
2017-01-15 22:33:41 +0100
5ff983ad9bIncrease the number of items in a char set from 128 to 256, to cover all possible bytes (7-bit bytes are so 70s).
David Given
2017-01-15 22:30:25 +0100
e7e29d34ffAdd a test (currently failing) to check that Pascal char sets can store all 256 possible values. Add the PowerPC ncg and mcg backend support to let the test actually run, including modifying a bunch of PowrePC libem functions so that they can be called from both ncg and mcg.
David Given
2017-01-15 22:28:14 +0100
1ea46f6afeActually tell the user which tests failed.
David Given
2017-01-15 22:26:09 +0100
b63a4513d5Add missing header.
David Given
2017-01-15 12:04:47 +0100
9a346c382dTurns out Apple's hi16/ha16 exactly match my ha16/has16, so renamed accordingly. (Memo to self: read the docs *before* doing the work.)
David Given
2017-01-15 11:59:33 +0100
f80acfe9f5Signed vs unsigned lower halves of powerpc fixups are now handled by having two assembler directives, ha16() and has16(), for the upper half; has16() applies the sign adjustment. .powerpcfixup is now gone, as we generate the relocation in ha*() instead. Add special logic to the linker for undoing and redoing the sign adjustment when reading/writing fixups. Tests still pass.
David Given
2017-01-15 11:51:37 +0100
14aab21204Revert change; addis/ori requires different handling to addis/lwz due to ori's payload being unsigned while lwz's payload is signed.
David Given
2017-01-15 10:31:20 +0100
3c0bc205fcUpdate the hi/lo syntax to be a bit more standard.
David Given
2017-01-15 10:21:02 +0100
8edbff9795Add assembler support for fixing up arbitrary oris/addi pairs of instructions; this should allow oris/lwz constant value loads, which will save an opcode.
David Given
2017-01-15 00:15:01 +0100
fd83b09c58Fix typo.
David Given
2017-01-08 18:53:59 +0100
612e14b4b4Improve confusing error message when calling function procedures from a top-level statement.
David Given
2017-01-08 11:25:57 +0100
ee5ef73dfbRun through clang-format.
David Given
2017-01-08 11:23:56 +0100
62022c6f6bDon't print source file names during compilation (gcc stopped doing it years ago).
David Given
2017-01-08 00:16:35 +0100
4b7fc5e233Run through clang-format.
David Given
2017-01-08 00:15:23 +0100
11ea3a2fe1Don't sort inludes any more (breaks too many ACK files).
David Given
2017-01-08 00:15:10 +0100
51862cff82Merge pull request #32 from dram/add-execve
David Given
2017-01-07 23:23:00 +0100
893471a42eNo longer truncate module names at 10 characters when constructing paths; rename some library modules to their full names.
David Given
2017-01-07 23:00:52 +0100
d50a6f99deRun through clang-format.
David Given
2017-01-07 22:56:00 +0100
cca6171e55Properly install man pages.
David Given
2017-01-07 22:38:30 +0100
9945b019d2Add a B man page.
David Given
2017-01-07 22:35:02 +0100
a7fa54e4e0Update the README.
David Given
2017-01-07 20:11:01 +0100
837b9622fbMake sure that constant folding doesn't render our tests trivial.
David Given
2017-01-07 19:53:57 +0100
abbead482aSections are now aligned (required by the EM spec).
David Given
2017-01-07 18:47:46 +0100
efab08178bFix a bunch of issues with pushing and popping mismatched sizes, which the B compiler does a lot; dup 8 for pairs of words is now optimised.
David Given
2017-01-07 18:47:00 +0100
5a38ce2a69Pre-and-post-modification operators now work substantially better (i.e., working).
David Given
2017-01-07 18:46:03 +0100
39215c131eMoved the inc/dec operator tests into their own source file; more exhaustive testing.
David Given
2017-01-07 18:38:43 +0100
6b4f8d72b8ine and ste are now declared to modify memory (preventing cached values being propagated across the modification).
David Given
2017-01-07 13:25:09 +0100
7710c76d56Introduce sequence points before store instructions to prevent loads from the same address being delayed until after the store (at which point they'll return the wrong value).
David Given
2017-01-07 13:17:39 +0100
0da248dcedUse a better NOT; and after remembering that PowerPC bit numbers are all backwards in the documentation, rewrote IFEQ/IFLT/IFLE to actually work. Probably. Thanks to the B test suite for spotting this.
David Given
2017-01-07 01:03:15 +0100
77fc62285dExtern variables can now be written to.
David Given
2017-01-06 23:24:05 +0100
73922f1d16Ensure that procedure labels are word-aligned.
David Given
2017-01-06 22:29:52 +0100
24d26b2826Add execve() system call for Linux
Xin Wang
2017-01-06 18:33:52 +0800
72766a02deFix typo in the descr file which was stopping -B from working. Add B documentation to the ack man page.
David Given
2017-01-04 13:28:40 +0000
aeb9d4952dAdded an abmodules tool which detects B modules and generates an initialiser function for them (in C, unfortunately).
David Given
2017-01-03 18:54:13 +0000
e2751f76b5Add a control flow test.
David Given
2017-01-01 23:51:48 +0000
62bc2ab97aJump tables for switch now go in ROM (required by the EM spec). Forward gotos now work.
David Given
2017-01-01 23:28:41 +0000
8b8910595aAdd proper support for negative constants in external initialisers.
David Given
2017-01-01 17:56:53 +0000
049aff9f33Remove the negative-constant code from the compiler; I think it's going to break a=-1 (with no spaces). Backed out changeset dead3363ac7d.
David Given
2017-01-01 17:44:55 +0000
be909fe045Add tests for more operators.
David Given
2017-01-01 17:44:03 +0000
374e7a1c57Add support for the ~ operator.
David Given
2017-01-01 17:40:06 +0000
b1576e2c77Add support for negative constants in external initialisers.
David Given
2016-12-31 19:43:03 +0000
a01523a893Allow programs to override binit() (so they can register their own modules).
David Given
2016-12-31 17:39:51 +0000
1beedca590Add support for B tests; add a test for the B operators (finding several compiler bugs in the process).
David Given
2016-12-31 17:38:52 +0000
803b81e3f4Add support for the xor operator.
David Given
2016-12-31 17:36:12 +0000
c3e1ef1064B patch table names shouldn't be in the B symbol namespace.
David Given
2016-12-31 00:14:28 +0000
fa02a855e8Fix issue where !x was actually calculating !!x.
David Given
2016-12-31 00:14:04 +0000
462529a7d2Trying to install openbios-ppc causes Travis to error out now (not sure why).
David Given
2016-12-29 17:30:47 +0000
e460adc923Add a B version of the hilo program.
David Given
2016-12-29 17:20:51 +0000