aboutsummaryrefslogtreecommitdiff
path: root/include/u.h
AgeCommit message (Collapse)Author
2021-12-05feat(huge): huge refactor (in progress).Nicholas Noll
Commented out libc includes to uncover all explicit dependencies. A large fraction has now been ported over (no testing). I did not port over the command line tools, such as the rc shell. These will be done independently - as of now I just want the library to stand independent. Compilation currently fails due to the lack of math functions.
2021-11-20Chore: cleaned up the exit code to cleanly interface with libcNicholas
We use weak linking to ensure we clean up at exit time correctly. If libc is linked, then we call our cleanup function by registering an atexit callback with the library. If libc is not linked, we have a weak symbol that results in a noop. Similarly, if we call rt·exit while linked with libc, this immediately calls libc's exit (which will call our cleanup as we registered it). If we are not linked to libc, exit() is given as a weak link to a noop function.
2021-11-20Feature: self hosting prototype implementedNicholas Noll
This is a large change. In order to remove myself from libc's arcane interface, I implemented an independent runtime layer. It is based on musl's wonderful implementation mostly. Critically, if libc is linked to the program, then we cooperate. Namely, we call start main and let libc do all initialization. If not, then we have a noop defined in rt3.a. The general structure of the file is: 1. sys/$os/$arch contains all architecture dependent code 2. sys/$os/port contains all code that depends on the os, but is portable 3. rt/$arch contains all the runtime architecture dependent code 4. rt/* contains the portable runtime code. Obviously testing is needed. Specifically, while code is checked in for the most popular architectures, it only has been tested on one computer! Overall this is exciting and as been educational.
2021-11-18feat: filling out system layer's interfaceNicholas Noll
2021-11-17fix: mkfile namesNicholas
2021-11-12chore: error->intNicholas
2020-06-18feat: working parser for rc shell languageNicholas Noll
2020-06-10checkin: massive restructuring of dvtmNicholas Noll
2020-06-03changed from short to int in vertexNicholas Noll
2020-06-02prototype of dway. needs testingNicholas Noll
2020-05-31minor changesNicholas Noll
2020-05-29blas code updateNicholas Noll
2020-05-19checkin: found a large bug associated to ident resetting the buffer vectorNicholas Noll
2020-04-19chore: reorganized header structure and updated makefileNicholas Noll
2020-04-18test: added prime sieve test of coroutinesNicholas Noll
2020-04-17chore: update naming & calling conventionsNicholas Noll
2020-04-17init: prototype of code skeletonNicholas Noll