about summary refs log tree commit diff stats
path: root/subx/ex4
Commit message (Collapse)AuthorAgeFilesLines
* 4396Kartik Agaram2018-07-241-0/+0
| | | | | | Fix ex4 binary, which has been corrupted in the repo since commit 4356. In this time it hasn't changed further. The correct version added here is also the file that should have been committed then.
* 4356 - subx: first program with a data segmentKartik Agaram2018-07-161-0/+0
| | | | | | | | | | | We read() a character from stdin and write() it out to stdout, saving it to a global variable in between. ELF binaries are inefficient; you can ask for a low alignment, but the kernel may not be able to handle it. If you set up a high alignment then you end up wasting an increasing amount of space in each segment because of the constraint that the offset bear some relationship with the loaded address.
* 4343Kartik Agaram2018-07-141-0/+0
| | | | | | | | | Let's minimize the alignment requirements of each segment's offset. It'll make binaries take less room later. Otherwise we may need to pad lots of 0s for segments after the first. Generated ELF binaries continue to work natively (except ex4, but that was already not working).
* 4330 - start allocating data/stack/heap segmentsKartik Agaram2018-07-081-0/+0
| | | | | | | | ex4 now writes to the (global) data segment, rather than trying to write to the code segment. We still need to specify the other segments in the generated ELF, though.
* 4326 - new example: read() from stdinKartik Agaram2018-07-071-0/+0
Currently only runs in emulated mode. Likely a paging issue, writing data to code page. I'm not checking the return value.