summaryrefslogtreecommitdiff
path: root/LibC/stdlib.h
AgeCommit message (Collapse)Author
2019-02-25Some compat work towards making GCC's libstdc++ build.Andreas Kling
2019-02-24LibC: A bunch of compat work towards porting GCC.Andreas Kling
2019-02-15LibC: The standard C library needs to be able to build as pure C.Andreas Kling
Looks like we can't use those comfy C++ attributes in this code then.
2019-02-15LibC: Actually, malloc() can return null so don't lie about that.Andreas Kling
2019-02-15Use modern C++ attributes instead of __attribute__ voodoo.Andreas Kling
This is quite nice, although I wish [[gnu::always_inline]] implied inline. Also "gnu::" is kind of a wart, but whatcha gonna do.
2019-02-08LibC: Implement enough missing stuff to get bash-5.0 running. :^)Andreas Kling
2019-02-05LibC: Add some integer functionality needed for NASM.Andreas Kling
2019-02-03LibC: Implement various things to get GNU bc building and running.Andreas Kling
Looks like that's all we needed, and bc now runs. :^)
2019-02-01LibC: Add some things needed to build GNU bc.Andreas Kling
This patch adds vprintf(), sig_atomic_t, random() and strdup(). bc doesn't build yet, but it will.
2019-01-23LibC: Add vsnprintf(), snprintf(), execvp() and abs().Andreas Kling
2019-01-15Add basic PTY support.Andreas Kling
For now, there are four hard-coded PTYs: /dev/pt{m,s}[0123] Use this in the Terminal to open a pty pair and spawn a shell.
2019-01-14Share GraphicsBitmaps between the windowing server and the client process.Andreas Kling
This is pretty cool. :^) GraphicsBitmaps are now mapped into both the server and the client address space (usually at different addresses but that doesn't matter.) Added a GUI syscall for getting a window's backing store, and another one for invalidating a window so that the server redraws it.
2018-11-17Various stubs while trying to get an old coreutils to build.Andreas Kling
2018-11-11Rage hacking to get bash to run. It finally runs. So cool! :^)Andreas Kling
2018-11-11Add really cheap atol() since sizeof(int) == sizeof(long) here anyway.Andreas Kling
2018-11-06Add some basic signal support.Andreas Kling
It only works for sending a signal to a process that's in userspace code. We implement reception by synthesizing a PUSHA+PUSHF in the receiving process (operating on values in the TSS.) The TSS CS:EIP is then rerouted to the signal handler and a tiny return trampoline is constructed in a dedicated region in the receiving process. Also hacked up /bin/kill to be able to send arbitrary signals (kill -N PID)
2018-10-31Enough compatibility work to make figlet build and run!Andreas Kling
I ran out of steam writing library routines and imported two BSD-licensed libc routines: sscanf() and getopt(). I will most likely rewrite them sooner or later. For now I just wanted to see figlet running.
2018-10-31More LibC portability work while trying to get figlet building.Andreas Kling
2018-10-31A bunch of LibC boilerplate stuff added while trying to get figlet to build.Andreas Kling
2018-10-28Canonicalize the path used by sh.Andreas Kling
With a bunch of LibC work to support the feature. LibC now initializes AK::StringImpl by default. It's now fine to use AK in LibC/Userland! :^)
2018-10-24Lots of hacking to make a very simple "ls" utility.Andreas Kling
I added a dead-simple malloc that only allows allocations < 4096 bytes. It just forwards the request to mmap() every time. I also added simplified versions of opendir() and readdir().