Multithreading on GNU/Linux x86_64 from scratch. The C++ version is in the other branch.
I don't have anything better to do. So I created a thread pseudo-library. And formatting utilities.
I'm not using the standard library, only using utility headers like <stddef.h> or <stdint.h>.
Also, stealed some definitions from some libc implementations.
Apart from that, it only uses raw system calls in assembly.
You will need make, nasm, gcc and ld.
Clone it, and then run:
make
make run