about summary refs log tree commit diff stats
path: root/subx/021translate.cc
Commit message (Collapse)AuthorAgeFilesLines
* 4327Kartik Agaram2018-07-081-1/+1
| | | | Encapsulate RAM management.
* 4318Kartik Agaram2018-07-061-3/+2
| | | | | | | | Simpler. Now it's clear that what commit 4291 got wrong was an alignment-violating address for both the entrypoint and the start of the segment.
* 4316Kartik Agaram2018-07-061-4/+5
| | | | | | Second attempt at commit 4291. We'll now not copy the headers into memory, but we'll still allocate space for them. Still some security benefits, and I'm gaining confidence that I understand the ELF format.
* 4311 - subx running binaries with global variablesKartik Agaram2018-07-031-1/+1
| | | | | | | | | | | | | Learning to use the data segment. Currently, subx can only run the teensy files generated from flat assembler: test4 test5 test7 This is not a priority to fix. These files are just useful references to have around.
* 4308Kartik Agaram2018-07-031-3/+3
| | | | | | | Undo 4291; turns out the generated ELF binary was no longer running natively on 32-bit Linux. Even with p_align set to 0. Agh, not worth my time.
* 4307Kartik Agaram2018-07-031-90/+4
| | | | Undo 4306.
* 4306 - architecture sketchKartik Agaram2018-07-021-4/+90
| | | | | | | Doesn't compile. I'm still not sure how to represent types and global variables. Types won't be in the final binary. But globals will. Perhaps I should first figure out what that looks like.
* 4300 - get set up to unit test translatorKartik Agaram2018-06-301-0/+3
|
* 4298 - framework for translating SubX programsKartik Agaram2018-06-301-5/+44
|
* 4291 - stop copying the ELF header into memoryKartik Agaram2018-06-301-3/+3
| | | | | | | No need for it once the program's loaded. And we keep programs from running the header as code. This also simplifies the header computation in the translator.
* 4290Kartik Agaram2018-06-301-2/+3
| | | | Clarify a few happy accidents.
* 4289 - beginnings of a translator to ELFKartik Agaram2018-06-301-0/+96
The source 'language' is still entirely open. We'll see how it evolves as I write programs in machine code.