about summary refs log tree commit diff stats
path: root/subx
Commit message (Collapse)AuthorAgeFilesLines
* 4686Kartik Agaram2018-10-122-10/+10
|
* 4685Kartik Agaram2018-10-121-1/+1
|
* 4684Kartik Agaram2018-10-115-4/+11
| | | | | | | | | | 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.
* 4683Kartik Agaram2018-10-101-1/+1
|
* 4682 - subx: start testing all layers of 'library'Kartik Agaram2018-10-105-0/+27
|
* 4681Kartik Agaram2018-10-101-1/+33
|
* 4680Kartik Agaram2018-10-101-2/+89
| | | | | | | | Maps have definitely helped with debugging. Even having just the top of the call stack is very helpful. We're soon gonna need setup/teardown for tests. I'm not sure how compiling run-tests will work then.
* 4679Kartik Agaram2018-10-101-1/+1
|
* 4678Kartik Agaram2018-10-105-4/+41
| | | | | | | | | A debugging aid: 'subx --map translate' dumps a mapping from functions to addresses to a file called "map", and 'subx --map run' loads the mapping in "map", augmenting debug traces. Let's see how much this helps. Debugging machine code has been pretty painful lately.
* 4677Kartik Agaram2018-10-101-2/+2
|
* 4676Kartik Agaram2018-10-081-32/+2
| | | | | | On second thoughts, let's not use Mu's "null is real hardware" convention for traces. There's no real difference between a real and fake trace stream, so we'll just always explicitly pass in *Trace-stream in production code.
* 4675Kartik Agaram2018-10-081-2/+1
|
* 4674Kartik Agaram2018-10-084-5/+219
| | | | subx: append to trace
* 4671Kartik Agaram2018-10-071-0/+1
|
* 4670Kartik Agaram2018-10-051-1/+1
|
* 4669Kartik Agaram2018-10-055-50/+40
|
* 4668Kartik Agaram2018-10-0524-162/+132
|
* 4667Kartik Agaram2018-10-0517-246/+251
| | | | | Standardize on hyphens in all names. And we'll use colons for namespacing labels in functions.
* 4666Kartik Agaram2018-10-051-1/+1
|
* 4665Kartik Agaram2018-10-052-12/+19
| | | | | Some syscalls expect null-terminated strings while others get lengths. Be clear about this distinction.
* 4664 - subx: reflect test failures in exit statusKartik Agaram2018-10-057-17/+16
|
* 4663Kartik Agaram2018-10-051-1/+1
|
* 4662Kartik Agaram2018-10-0519-15/+23
|
* 4661Kartik Agaram2018-10-0419-34/+32
| | | | | Make segment management a little more consistent between initial segments and add-on segments (using `mmap`).
* 4660Kartik Agaram2018-10-041-1/+1
|
* 4659Kartik Agaram2018-10-031-3/+3
|
* 4658 - subx: string_equalKartik Agaram2018-10-024-2/+172
|
* 4657Kartik Agaram2018-10-021-0/+1
|
* 4656Kartik Agaram2018-10-021-2/+1
|
* 4655Kartik Agaram2018-10-025-8/+8
|
* 4653Kartik Agaram2018-10-021-3/+3
|
* 4652 - new subx helper: create new segmentKartik Agaram2018-10-022-1/+63
|
* 4651Kartik Agaram2018-10-021-1/+3
|
* 4650Kartik Agaram2018-10-024-21/+21
|
* 4648Kartik Agaram2018-10-012-0/+9
|
* 4647 - support 64-bit Linux in CIKartik Agaram2018-10-012-16/+148
| | | | | | Generated 32-bit binaries are different on 64-bit. So let's compare them only on a 32-bit platform. And let's start also verifying their run-time behavior on Linux.
* 4646Kartik Agaram2018-10-011-1/+1
|
* 4645Kartik Agaram2018-10-011-0/+0
|
* 4644Kartik Agaram2018-10-0122-135/+135
|
* 4643Kartik Agaram2018-10-012-11/+11
|
* 4642Kartik Agaram2018-10-013-0/+14
|
* 4641Kartik Agaram2018-10-016-101/+129
|
* 4640 - clear error message on missing libraryKartik Agaram2018-10-013-1/+6
|
* 4639Kartik Agaram2018-10-0112-36/+36
|
* 4638 - extract some common libraries from appsKartik Agaram2018-10-0110-647/+336
| | | | | | | 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.
* 4637 - subx: support multiple input filesKartik Agaram2018-10-014-5/+65
|
* 4636Kartik Agaram2018-10-011-0/+25
|
* 4635Kartik Agaram2018-10-011-3/+20
| | | | | | | | | | | Another sanity check. We don't really have a clear big picture yet. But I've now slapped on checks for all the issues I was worrying about. A more rigorous solution would be some sort of interval tree. We'd also need to track segments generated at translation time. We don't do that so far.
* 4634Kartik Agaram2018-10-016-150/+148
|
* 4633Kartik Agaram2018-10-011-2/+6
| | | | | | | Detect overlapping segments when loading SubX source code. This will start to become more of a risk as we start loading multiple files, juggling multiple segments, etc.