Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 4658 - subx: string_equal | Kartik Agaram | 2018-10-02 | 4 | -2/+172 |
| | |||||
* | 4657 | Kartik Agaram | 2018-10-02 | 1 | -0/+1 |
| | |||||
* | 4656 | Kartik Agaram | 2018-10-02 | 3 | -6/+3 |
| | |||||
* | 4655 | Kartik Agaram | 2018-10-02 | 5 | -8/+8 |
| | |||||
* | 4654 | Kartik Agaram | 2018-10-02 | 7 | -60/+187 |
| | |||||
* | 4653 | Kartik Agaram | 2018-10-02 | 1 | -3/+3 |
| | |||||
* | 4652 - new subx helper: create new segment | Kartik Agaram | 2018-10-02 | 2 | -1/+63 |
| | |||||
* | 4651 | Kartik Agaram | 2018-10-02 | 1 | -1/+3 |
| | |||||
* | 4650 | Kartik Agaram | 2018-10-02 | 4 | -21/+21 |
| | |||||
* | 4649 | Kartik Agaram | 2018-10-02 | 42 | -2891/+3615 |
| | |||||
* | 4648 | Kartik Agaram | 2018-10-01 | 2 | -0/+9 |
| | |||||
* | 4647 - support 64-bit Linux in CI | Kartik Agaram | 2018-10-01 | 3 | -16/+149 |
| | | | | | | 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. | ||||
* | 4646 | Kartik Agaram | 2018-10-01 | 1 | -1/+1 |
| | |||||
* | 4645 | Kartik Agaram | 2018-10-01 | 1 | -0/+0 |
| | |||||
* | 4644 | Kartik Agaram | 2018-10-01 | 22 | -135/+135 |
| | |||||
* | 4643 | Kartik Agaram | 2018-10-01 | 2 | -11/+11 |
| | |||||
* | 4642 | Kartik Agaram | 2018-10-01 | 3 | -0/+14 |
| | |||||
* | 4641 | Kartik Agaram | 2018-10-01 | 6 | -101/+129 |
| | |||||
* | 4640 - clear error message on missing library | Kartik Agaram | 2018-10-01 | 3 | -1/+6 |
| | |||||
* | 4639 | Kartik Agaram | 2018-10-01 | 12 | -36/+36 |
| | |||||
* | 4638 - extract some common libraries from apps | Kartik Agaram | 2018-10-01 | 10 | -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 files | Kartik Agaram | 2018-10-01 | 4 | -5/+65 |
| | |||||
* | 4636 | Kartik Agaram | 2018-10-01 | 1 | -0/+25 |
| | |||||
* | 4635 | Kartik Agaram | 2018-10-01 | 1 | -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. | ||||
* | 4634 | Kartik Agaram | 2018-10-01 | 6 | -150/+148 |
| | |||||
* | 4633 | Kartik Agaram | 2018-10-01 | 1 | -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. | ||||
* | 4632 | Kartik Agaram | 2018-10-01 | 1 | -3/+10 |
| | | | | Detect overlapping segments when loading ELF binaries. | ||||
* | 4631 | Kartik Agaram | 2018-10-01 | 2 | -4/+11 |
| | |||||
* | 4630 | Kartik Agaram | 2018-10-01 | 1 | -1/+1 |
| | |||||
* | 4629 | Kartik Agaram | 2018-10-01 | 1 | -8/+10 |
| | |||||
* | 4628 | Kartik Agaram | 2018-09-30 | 1 | -1/+4 |
| | |||||
* | 4627 | Kartik Agaram | 2018-09-30 | 1 | -4/+9 |
| | |||||
* | 4626 | Kartik Agaram | 2018-09-30 | 1 | -10/+9 |
| | |||||
* | 4625 | Kartik Agaram | 2018-09-30 | 1 | -2/+1 |
| | |||||
* | 4624 | Kartik Agaram | 2018-09-30 | 19 | -31/+58 |
| | | | | | | | | Start requiring a '-o' flag to designate the output binary when translating. Things currently get funky if you pass in multiple inputs, but that's ok. This is the first step to supporting multiple input files for a single output binary. | ||||
* | 4623 | Kartik Agaram | 2018-09-30 | 3 | -73/+89 |
| | |||||
* | 4622 | Kartik Agaram | 2018-09-30 | 2 | -20/+0 |
| | | | | | When I started SubX I imagined that being able to write machine code directly was a feature. Now it's just a hole I haven't bothered closing yet. | ||||
* | 4621 | Kartik Agaram | 2018-09-30 | 1 | -15/+33 |
| | | | | Error messages if we ever get segments messed up. | ||||
* | 4620 | Kartik Agaram | 2018-09-30 | 1 | -1/+4 |
| | |||||
* | 4619 - new syscall: mmap() | Kartik Agaram | 2018-09-29 | 4 | -1/+61 |
| | |||||
* | 4618 | Kartik Agaram | 2018-09-29 | 1 | -0/+5 |
| | |||||
* | 4617 | Kartik Agaram | 2018-09-29 | 2 | -2/+7 |
| | |||||
* | 4616 - fix subx/examples/ex7 | Kartik Agaram | 2018-09-29 | 5 | -12/+51 |
| | | | | | | | | | It was broken since I added support for global variables, back on Sep 1. One other subtle thing I've improved is the name `looks_like_hex_int`. We can now distinguish in the pack-operands transform between ignoring 'foo' because it doesn't look like a number, and immediately flagging '0xfoo' as an error because it *should* be a number. | ||||
* | 4615 | Kartik Agaram | 2018-09-29 | 1 | -0/+0 |
| | |||||
* | 4614 - redo simulated RAM | Kartik Agaram | 2018-09-29 | 9 | -54/+101 |
| | | | | | | | | | | | Now simulated 'Memory' isn't just a single flat array. Instead it knows about segments and VMAs. The code segment will always be first, and the data/heap segment will always be second. The brk() syscall knows about the data segment. One nice side-effect is that I no longer need to mess with Memory initialization regardless of where I place my segments. | ||||
* | 4613 | Kartik Agaram | 2018-09-29 | 1 | -1/+1 |
| | |||||
* | 4612 | Kartik Agaram | 2018-09-29 | 1 | -11/+16 |
| | |||||
* | 4611 | Kartik Agaram | 2018-09-29 | 1 | -3/+4 |
| | |||||
* | 4520 | Kartik Agaram | 2018-09-26 | 24 | -572/+580 |
| | |||||
* | 4519 | Kartik Agaram | 2018-09-26 | 1 | -3/+3 |
| |