about summary refs log tree commit diff
path: root/linux.e
AgeCommit message (Collapse)Author
16 hoursall the syscall parameters are in the kernel's order nowIrene Knapp
there was never a good reason for them not to be plus, the formerly bespoke ones use the generic helpers now; sys-open and sys-close are implemented; and a bug in push-input-buffer and pop-output-buffer is fixed unfortunately these were breaking changes, so there's another evoke.hex in this one Change-Id: Ifad58fc2fd757adcf89a69c59575565a10406ec2 Force-Push: yes
40 hourschange sys-write and sys-read to take file descriptorsIrene Knapp
and also sys-write didn't used to return a result this required a little massaging to make it build, the host evoke needed to not actually pass the file descriptor in evoke.e. for posterity: this was fixed by changing it everywhere else as a one-off, then changing it there and using the intermediate version to build the one being checked in now. this kind of weirdness is a thing we get the freedom to do because of the bootstrapped distribution model, though we still strongly prefer not to do it unless necessary. this breaking change would have had to happen at some point, so it's considered acceptable. the size of the diff to evoke.hex is larger than ideal. this raises the need to have a policy for when to regenerate it. since this is a breaking change, it's mandatory. it also seems important to commit a regenerated copy when a release is tagged. it will probably turn out to be a good idea to not regenerate it excessively, otherwise. it's possible that in the long run it might make sense to add name-mapping functionality to hex, just to make the diffs smaller. Force-Push: yes Change-Id: I2648b2577c5c21b126e46405e9888b5cb59aa0b7
2026-05-28add the ability to bind signal handlersIrene Knapp
and a useful example one ;) this also involved fixing the failure cases in input.e to handle EINTR correctly. it required a lot of tracing, but now the expected state of the stack is much better commented for next time. many thanks to @cks@mastodon.social who found code in the Go compiler which had the details of what's required in regard to the restorer, which made the whole thing work, and to @snowfox@tech.lgbt who did some experimental testing around the exact requirements. both those contributions are reflected in the documentation added with this CL. additional thanks to everyone who chimed in on the fedi thread, your comments kept us going! Force-Push: yes Change-Id: I97fd89426bf807df5565e011d3665f7e904fa138
2026-05-23added a couple new instructionsIrene Knapp
this turns out to be fairly involved. hex bootstrap can't come fast enough ;) Force-Push: yes Change-Id: Ide5d2207d745ad07c40d3c9f457cd6b491bfbcf0
2026-05-19yessssssssIrene Knapp
so okay, now all the machine code stuff is implemented and it builds without crashing the generated executable still crashes though, but this was enough work that it's getting a celebratory check-in Force-Push: yes Change-Id: I201e6912253647da58ef3537c735b478b0dca9fb
2026-05-16implement more internal wordsIrene Knapp
Force-Push: yes Change-Id: I273879e9d05260db0603bc5a36970e240f3e366a