Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-06-07 | LibC: Run clang-format on everything. | Andreas Kling | |
2019-05-16 | LibC: Implement str{n}casecmp | Robin Burchell | |
2019-05-03 | LibC: Add strcoll() and strxfrm(). | Andreas Kling | |
These are obviously not locale-aware implementations, but rather really just strcmp() and strcpy() with different names. This makes vim build and run :^) | |||
2019-04-23 | Put assertions behind a DEBUG flag to make it easy to build without them. | Andreas Kling | |
2019-04-23 | Do a pass of compiler warning fixes. | Andreas Kling | |
This is really making me question not using 64-bit integers more. | |||
2019-03-25 | LibGUI+Kernel: Add a GLock class (userspace mutex.) | Andreas Kling | |
It's basically a userspace port of the kernel's Lock class. Added gettid() and donate() syscalls to support the timeslice donation feature we already enjoyed in the kernel. | |||
2019-02-26 | LibC: Make errno codes be #defines instead of enum values. | Andreas Kling | |
It turns out that a lot of 3rd party software does things like: #ifdef EINTR ... #endif This won't work if EINTR is an enum. So much for that nice idea. | |||
2019-02-26 | Compat work towards porting vim. | Andreas Kling | |
2019-02-26 | More compat work. | Andreas Kling | |
Move syscall to int 0x82 since using int 0x80 was kinda prone to fork bombs when building things on Linux. :^) | |||
2019-02-24 | LibC: A bunch of compat work towards porting GCC. | Andreas Kling | |
2019-02-22 | Switch over to building everything with i686-elf-g++. | Andreas Kling | |
2019-02-08 | LibC: Implement enough missing stuff to get bash-5.0 running. :^) | Andreas Kling | |
2019-02-07 | Add a fast memcpy() using MMX when we're moving >= 1KB. | Andreas Kling | |
This is a nice speedup for WindowServer. I'll eventually have to do this with SSE but the kernel doesn't support SSE yet so this is it for now. | |||
2019-02-03 | Get nyancat nyanning in Serenity. | Andreas Kling | |
I found a cute program that renders an animated nyancat in the terminal. This patch adds enough hackery to get it working correctly. :^) | |||
2019-02-03 | LibC: strdup() forgot to allocate space for the null character. | Andreas Kling | |
2019-02-03 | LibC: 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-01 | LibC: 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-31 | Big, possibly complete sweep of naming changes. | Andreas Kling | |
2019-01-23 | LibC: Support backwards copy in memmove(). | Andreas Kling | |
2019-01-15 | Let's do dword-at-a-time memcpy() and memset() in userspace as well. | Andreas Kling | |
Also fix a dumb bug that showed up when I was memsetting something other than zeroes. | |||
2018-11-17 | Various stubs while trying to get an old coreutils to build. | Andreas Kling | |
2018-11-11 | Add a naive /bin/fgrep for testing pipes. | Andreas Kling | |
2018-11-11 | Rage hacking to get bash to run. It finally runs. So cool! :^) | Andreas Kling | |
2018-11-09 | Fix all current build warnings in LibC. | Andreas Kling | |
2018-11-06 | Add strsignal() and improve sharing signal numbers between LibC and kernel. | Andreas Kling | |
2018-11-06 | Add sys_nerr and sys_errlist. | Andreas Kling | |
Also keep the canonical errno list in LibC for now. The kernel gets it from there. This makes building 3rd party code easier. ..also fix broken strchr(). | |||
2018-11-05 | More random compat hacking towards getting bash to build. | Andreas Kling | |
I'm now at the build stage where it complains about a bajillion missing symbols. This is a good place to be! | |||
2018-11-05 | Lots of minor compat stuff while seeing if bash would build. | Andreas Kling | |
We're quite far from bash building, but we'll get there eventually! | |||
2018-11-05 | Tiny LibC things. | Andreas Kling | |
2018-10-31 | Enough 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-31 | More LibC portability work while trying to get figlet building. | Andreas Kling | |
2018-10-28 | Canonicalize 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-26 | Implement sys$chdir() and teach sh+ls to cd around and browse different dirs. | Andreas Kling | |
2018-10-26 | Add memcpy() and strcmp() to LibC. | Andreas Kling | |
2018-10-26 | Add sys$gethostname and /bin/hostname | Andreas Kling | |
2018-10-25 | Implement errno in LibC. | Andreas Kling | |
This also meant I had to implement BSS (SHT_NOBITS) sections in ELFLoader. I also added an strerror() so we can print out what the errors are. | |||
2018-10-23 | Lots of hacking: | Andreas Kling | |
- Turn Keyboard into a CharacterDevice (85,1) at /dev/keyboard. - Implement MM::unmapRegionsForTask() and MM::unmapRegion() - Save SS correctly on interrupt. - Add a simple Spawn syscall for launching another process. - Move a bunch of IO syscall debug output behind DEBUG_IO. - Have ASSERT do a "cli" immediately when failing. This makes the output look proper every time. - Implement a bunch of syscalls in LibC. - Add a simple shell ("sh"). All it can do now is read a line of text from /dev/keyboard and then try launching the specified executable by calling spawn(). There are definitely bugs in here, but we're moving on forward. |