Commit Graph

78 Commits

Author SHA1 Message Date
Kartik Agaram
0939de6373 4721 2018-10-24 22:53:45 -07:00
Kartik Agaram
f3612481b1 4713
Initial sketch of a dependency-injected wrapper around the exit() syscall.

I don't have the primitives yet, just a sketch of how they should work
-- and a passing test for non-local jumps without support for passing the
exit status to the caller.
2018-10-21 21:17:22 -07:00
Kartik Agaram
b847538071 4711
Extract a helper for appending strings to raw buffers.

I'd been resisting this idea, but it actually turns out to be a pretty
clean abstraction in the end.
2018-10-17 22:31:39 -07:00
Kartik Agaram
4cc517e0de 4710
Start using write() instead of _write().. and we promptly find a typo when
dealing with real file descriptors.
2018-10-17 08:19:03 -07:00
Kartik Agaram
3d6450f216 4707 - subx: dependency-injected write() primitive 2018-10-16 23:44:31 -07:00
Kartik Agaram
6528a08992 4699 2018-10-14 22:25:57 -07:00
Kartik Agaram
0e0a90420e 4697 2018-10-14 00:29:48 -07:00
Kartik Agaram
a8c6eda1cf 4691
All tests now once again run the same natively and on VM.
2018-10-13 21:01:01 -07:00
Kartik Agaram
c25d9aa42a 4684
Turns out the tests for 'trace' have been broken in native mode since the
original commit (4674). Dangers of running my tests on Darwin, where I
can't run them natively.

The test failures didn't get flagged on CI because I'd forgotten to update
the exit code of the factorial app in commit 4664. At least that's fixed
in this commit.
2018-10-11 00:08:50 -07:00
Kartik Agaram
80b6f47e64 4682 - subx: start testing all layers of 'library' 2018-10-10 22:22:48 -07:00
Kartik Agaram
33ad085125 4674
subx: append to trace
2018-10-08 22:50:53 -07:00
Kartik Agaram
03d50cc83c 4667
Standardize on hyphens in all names.
And we'll use colons for namespacing labels in functions.
2018-10-05 19:49:47 -07:00
Kartik Agaram
15ae0717ba 4664 - subx: reflect test failures in exit status 2018-10-05 13:33:14 -07:00
Kartik Agaram
bccaa72227 4661
Make segment management a little more consistent between initial segments
and add-on segments (using `mmap`).
2018-10-04 23:23:48 -07:00
Kartik Agaram
d11372f6d0 4658 - subx: string_equal 2018-10-02 22:19:35 -07:00
Kartik Agaram
07b534163f 4645 2018-10-01 21:57:47 -07:00
Kartik Agaram
d25e51dc0f 4644 2018-10-01 15:53:44 -07:00
Kartik Agaram
1666b12f37 4641 2018-10-01 14:21:27 -07:00
Kartik Agaram
57628c0e44 4638 - extract some common libraries from apps
I'm still trying to figure out what the defaults should be. At the moment
you have to explicitly pass in every file you want loaded into the output
binary. Maybe that control is a good thing. The examples need no libraries
so far.
2018-10-01 12:27:39 -07:00
Kartik Agaram
bc3e572acd 4518 2018-09-24 23:49:43 -07:00
Kartik K. Agaram
c5d9a32fe6 4516
More calling convention tweaks.

Use EBP to get consistently at parameters and locals.
Always put the first function argument closest to EBP.
2018-09-24 22:55:37 -07:00
Kartik Agaram
37735c1da4 4510
Add the test harness to the crenshaw compiler. Though we aren't calling
it yet. But that's because we aren't actually doing anything useful yet.
2018-09-23 21:12:39 -07:00
Kartik Agaram
94ddf7d7d4 4560 2018-09-20 16:37:18 -07:00
Kartik Agaram
b83654d51f 4559 2018-09-20 16:30:40 -07:00
Kartik Agaram
b09d6b5db0 4557 2018-09-20 16:23:51 -07:00
Kartik Agaram
d783d42cf8 4556 2018-09-20 16:11:39 -07:00
Kartik Agaram
440a7be400 4555 2018-09-20 15:51:24 -07:00
Kartik Agaram
f73f550013 4553
Start of a new example program.
2018-09-20 14:06:28 -07:00