Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-04-29 | LibC: Oops, exit_thread() never returns. | Andreas Kling | |
2019-04-29 | Kernel+LibC: Add exit_thread() syscall. | Andreas Kling | |
2019-04-29 | Toolchain: The toolchain script is now working 🎉 | VAN BOSSUYT Nicolas | |
2019-04-29 | Toolchain: Useit.sh finish and added an install target for the libc's ↵ | VAN BOSSUYT Nicolas | |
Makefile and a bit of ground work for a gcc port | |||
2019-04-27 | LibC: Make the malloc()/free() scrubbing runtime optional (default on.) | Andreas Kling | |
Memory returned by malloc() is normally memset with 0x85. Memory passed to free() is normally memset with 0x82. These behaviors can now be disabled by setting one or both of LIBC_NOSCRUB_MALLOC and LIBC_NOSCRUB_FREE in your environment. :^) | |||
2019-04-27 | LibC: Add dummy pthread.h for GCC build. | Andreas Kling | |
2019-04-27 | LibC: Make fwrite() buffered. | Andreas Kling | |
This is a really naive implementation that makes fwrite() call fputc() internally, but it still performs a lot better due to avoiding the write() syscall every time. | |||
2019-04-27 | LibC: Various stdio correctness fixes. | Andreas Kling | |
2019-04-26 | LibC: Add execvpe() and make execvp()'ed children inherit environment. | Andreas Kling | |
2019-04-26 | LibC: Update stdio stream error state in more places. | Andreas Kling | |
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-04-22 | Kernel: Add a systrace() syscall and implement /bin/strace using it. | Andreas Kling | |
Calling systrace(pid) gives you a file descriptor with a stream of the syscalls made by a peer process. The process must be owned by the same UID who calls systrace(). :^) | |||
2019-04-22 | LibC: Return a default locale from localeconv(). (For GCC 8.3.0) | Andreas Kling | |
2019-04-22 | LibC: Add sched_yield(), needed for GCC 8.3.0 build. | Andreas Kling | |
2019-04-21 | Include Makefile.common in all other Makefiles. | Andreas Kling | |
2019-04-21 | LibC: Minor compat tweak, move struct timezone to sys/time.h | Andreas Kling | |
2019-04-20 | Kernel: Remove "restorer" field from SignalActionData. | Andreas Kling | |
I was originally implementing signals by looking at some man page about sigaction() to see how it works. It seems like the restorer thingy is system-specific and not required by POSIX, so let's get rid of it. | |||
2019-04-20 | Sprinkle use of AK::Vector in various places. | Andreas Kling | |
Some of these are less helpful than others. Avoiding a bunch of mallocs in the event loop wakeup code is definitely nice. | |||
2019-04-20 | LibC: Get rid of the now-unneeded AK/kmalloc.cpp | Andreas Kling | |
2019-04-20 | Get rid of SERENITY macro since the compiler already defines __serenity__ | Andreas Kling | |
This makes it a bit easier to use AK templates out-of-tree. | |||
2019-04-18 | LibC: stddbg should be opened with O_CLOEXEC. | Andreas Kling | |
2019-04-18 | Kernel+LibC: Add a DebugLogDevice that forwards everything to I/O port 0xe9. | Andreas Kling | |
This is then used to implement the userspace dbgprintf() in a far more efficient way than what we had before. :^) | |||
2019-04-17 | LibC: Bring the C library close enough to newlib to trick GCC. | Andreas Kling | |
Now we can build GCC with --with-newlib, which hopefully cuts down on weird toolchain build issues. | |||
2019-04-16 | AK: Try to use StringViews more for substrings and splitting. | Andreas Kling | |
2019-04-09 | Kernel: More work towards POSIX SHM, also add ftruncate(). | Andreas Kling | |
2019-04-08 | Kernel+LibC: Add stubs for POSIX shared memory API. | Andreas Kling | |
Specifically shm_open() and shm_unlink(). This patch just adds stubs. | |||
2019-04-07 | Kernel+Userland: Add the rename() syscall along with a basic /bin/mv. | Andreas Kling | |
2019-04-05 | AK: Fix problem when building i686-pc-serenity toolchain from scratch. | Andreas Kling | |
2019-04-05 | LibC: Add some missing stuff in stdint.h for libstdc++. | Andreas Kling | |
2019-04-04 | Taskbar: More bringup work. We now see a basic window list. | Andreas Kling | |
2019-04-03 | Font: Clean up AK::MappedFile and use it for mapping font files. | Andreas Kling | |
2019-04-02 | Move NetworkOrdered.h to AK/ since it's used in both kernel and userspace. | Andreas Kling | |
2019-03-30 | Stopwatch: Print the result in decimal instead of hexadecimal. | Andreas Kling | |
2019-03-27 | Kernel: Add Inode::truncate(size). | Andreas Kling | |
- Use this to implement the O_TRUNC open flag. - Fix creat() to pass O_CREAT | O_TRUNC | O_WRONLY. - Make sure we truncate wherever appropriate. | |||
2019-03-27 | LibC: Let's remember that headers are in C. | Andreas Kling | |
2019-03-27 | LibC: Run constructors on process startup. | Andreas Kling | |
Cooperate with the compiler to generate and execute the _init_array list of constructor functions on userspace program statup. This took two days to get working, my goodness. :^) | |||
2019-03-27 | LibC: Fix fread() EOF behavior with ungetc(). | Andreas Kling | |
2019-03-27 | LibC: Remove the validate_mallocation() stuff since Binutils hates it. | Andreas Kling | |
2019-03-27 | LibC: Implement atexit() and strtoul(). | Andreas Kling | |
2019-03-27 | LibC: Add ungetc() and automatically flush streams on fclose(). | Andreas Kling | |
2019-03-27 | LibC: Add creat(), execvp() resolution, and exec*() environment inheritance. | Andreas Kling | |
2019-03-27 | LibC: Time-related POSIX compliance fixes. | Andreas Kling | |
2019-03-26 | LibC: fread() should return the number of elements (not bytes) read. | Andreas Kling | |
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-03-24 | LibC: Add ftruncate() stub. | Andreas Kling | |
2019-03-23 | Kernel+LibC: Add a simple create_thread() syscall. | Andreas Kling | |
It takes two parameters, a function pointer for the entry function, and a void* argument to be passed to that function on the new thread. | |||
2019-03-21 | Use 64-bit integers inside Stopwatch to enable longer timings. | Andreas Kling | |
2019-03-21 | LibC: Add PAGE_SIZE to limits.h | Andreas Kling | |
2019-03-21 | LibC: malloc() should use mmap() directly for allocations >= PAGE_SIZE. | Andreas Kling | |
This is a solid speedup on PNG loading, and basically everything else. Once again I find a way to defer writing a better allocator for now. :^) |